From 6819168324ce84fe9a45f7c05663e66e053f69f2 Mon Sep 17 00:00:00 2001 From: Jordan McQueen Date: Tue, 11 Jun 2024 15:14:08 +0900 Subject: [PATCH] Add language-metavariables-c --- .../tree-sitter-c/.editorconfig | 39 + .../tree-sitter-c/.gitattributes | 11 + .../tree-sitter-c/.gitignore | 38 + .../tree-sitter-c/Cargo.toml | 26 + .../tree-sitter-c/LICENSE | 21 + .../tree-sitter-c/Makefile | 111 + .../tree-sitter-c/Package.swift | 46 + .../tree-sitter-c/README.md | 18 + .../tree-sitter-c/binding.gyp | 20 + .../tree-sitter-c/bindings/c/tree-sitter-c.h | 16 + .../bindings/c/tree-sitter-c.pc.in | 11 + .../tree-sitter-c/bindings/go/binding.go | 12 + .../tree-sitter-c/bindings/go/binding_test.go | 15 + .../tree-sitter-c/bindings/go/go.mod | 5 + .../tree-sitter-c/bindings/node/binding.cc | 20 + .../tree-sitter-c/bindings/node/index.d.ts | 28 + .../tree-sitter-c/bindings/node/index.js | 7 + .../bindings/python/tree_sitter_c/__init__.py | 5 + .../python/tree_sitter_c/__init__.pyi | 1 + .../bindings/python/tree_sitter_c/binding.c | 27 + .../bindings/python/tree_sitter_c/py.typed | 0 .../tree-sitter-c/bindings/rust/build.rs | 15 + .../tree-sitter-c/bindings/rust/lib.rs | 58 + .../bindings/swift/TreeSitterC/c.h | 16 + .../tree-sitter-c/examples/cluster.c | 5446 + .../tree-sitter-c/examples/malloc.c | 532 + .../tree-sitter-c/examples/parser.c | 1283 + .../tree-sitter-c/grammar.js | 1483 + .../tree-sitter-c/package-lock.json | 1474 + .../tree-sitter-c/package.json | 108 + .../tree-sitter-c/pyproject.toml | 33 + .../tree-sitter-c/queries/highlights.scm | 81 + .../tree-sitter-c/queries/tags.scm | 9 + .../tree-sitter-c/setup.py | 56 + .../tree-sitter-c/src/grammar.json | 9799 ++ .../tree-sitter-c/src/node-types.json | 4627 + .../tree-sitter-c/src/parser.c | 118517 +++++++++++++++ .../tree-sitter-c/src/tree_sitter/alloc.h | 54 + .../tree-sitter-c/src/tree_sitter/array.h | 290 + .../tree-sitter-c/src/tree_sitter/parser.h | 265 + 40 files changed, 144623 insertions(+) create mode 100644 resources/language-metavariables/tree-sitter-c/.editorconfig create mode 100644 resources/language-metavariables/tree-sitter-c/.gitattributes create mode 100644 resources/language-metavariables/tree-sitter-c/.gitignore create mode 100644 resources/language-metavariables/tree-sitter-c/Cargo.toml create mode 100644 resources/language-metavariables/tree-sitter-c/LICENSE create mode 100644 resources/language-metavariables/tree-sitter-c/Makefile create mode 100644 resources/language-metavariables/tree-sitter-c/Package.swift create mode 100644 resources/language-metavariables/tree-sitter-c/README.md create mode 100644 resources/language-metavariables/tree-sitter-c/binding.gyp create mode 100644 resources/language-metavariables/tree-sitter-c/bindings/c/tree-sitter-c.h create mode 100644 resources/language-metavariables/tree-sitter-c/bindings/c/tree-sitter-c.pc.in create mode 100644 resources/language-metavariables/tree-sitter-c/bindings/go/binding.go create mode 100644 resources/language-metavariables/tree-sitter-c/bindings/go/binding_test.go create mode 100644 resources/language-metavariables/tree-sitter-c/bindings/go/go.mod create mode 100644 resources/language-metavariables/tree-sitter-c/bindings/node/binding.cc create mode 100644 resources/language-metavariables/tree-sitter-c/bindings/node/index.d.ts create mode 100644 resources/language-metavariables/tree-sitter-c/bindings/node/index.js create mode 100644 resources/language-metavariables/tree-sitter-c/bindings/python/tree_sitter_c/__init__.py create mode 100644 resources/language-metavariables/tree-sitter-c/bindings/python/tree_sitter_c/__init__.pyi create mode 100644 resources/language-metavariables/tree-sitter-c/bindings/python/tree_sitter_c/binding.c create mode 100644 resources/language-metavariables/tree-sitter-c/bindings/python/tree_sitter_c/py.typed create mode 100644 resources/language-metavariables/tree-sitter-c/bindings/rust/build.rs create mode 100644 resources/language-metavariables/tree-sitter-c/bindings/rust/lib.rs create mode 100644 resources/language-metavariables/tree-sitter-c/bindings/swift/TreeSitterC/c.h create mode 100644 resources/language-metavariables/tree-sitter-c/examples/cluster.c create mode 100644 resources/language-metavariables/tree-sitter-c/examples/malloc.c create mode 100644 resources/language-metavariables/tree-sitter-c/examples/parser.c create mode 100644 resources/language-metavariables/tree-sitter-c/grammar.js create mode 100644 resources/language-metavariables/tree-sitter-c/package-lock.json create mode 100644 resources/language-metavariables/tree-sitter-c/package.json create mode 100644 resources/language-metavariables/tree-sitter-c/pyproject.toml create mode 100644 resources/language-metavariables/tree-sitter-c/queries/highlights.scm create mode 100644 resources/language-metavariables/tree-sitter-c/queries/tags.scm create mode 100644 resources/language-metavariables/tree-sitter-c/setup.py create mode 100644 resources/language-metavariables/tree-sitter-c/src/grammar.json create mode 100644 resources/language-metavariables/tree-sitter-c/src/node-types.json create mode 100644 resources/language-metavariables/tree-sitter-c/src/parser.c create mode 100644 resources/language-metavariables/tree-sitter-c/src/tree_sitter/alloc.h create mode 100644 resources/language-metavariables/tree-sitter-c/src/tree_sitter/array.h create mode 100644 resources/language-metavariables/tree-sitter-c/src/tree_sitter/parser.h 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_