From e92a7738aeea49fb7e3e89261b429fc0d047f606 Mon Sep 17 00:00:00 2001 From: soup Date: Sat, 14 Dec 2024 18:55:53 -0500 Subject: [PATCH] Add nonsubmodule dep --- deps/tree-sitter-c/.editorconfig | 46 + deps/tree-sitter-c/.gitattributes | 37 + .../.github/ISSUE_TEMPLATE/bug_report.yml | 59 + .../.github/ISSUE_TEMPLATE/config.yml | 1 + .../ISSUE_TEMPLATE/feature_request.yml | 36 + deps/tree-sitter-c/.github/dependabot.yml | 8 + deps/tree-sitter-c/.github/workflows/ci.yml | 48 + deps/tree-sitter-c/.github/workflows/lint.yml | 26 + .../.github/workflows/publish.yml | 35 + deps/tree-sitter-c/.gitignore | 40 + deps/tree-sitter-c/CMakeLists.txt | 58 + deps/tree-sitter-c/Cargo.lock | 96 + deps/tree-sitter-c/Cargo.toml | 30 + deps/tree-sitter-c/LICENSE | 21 + deps/tree-sitter-c/Makefile | 94 + deps/tree-sitter-c/Package.resolved | 16 + deps/tree-sitter-c/Package.swift | 36 + deps/tree-sitter-c/README.md | 18 + deps/tree-sitter-c/binding.gyp | 29 + deps/tree-sitter-c/bindings/c/tree-sitter-c.h | 16 + .../bindings/c/tree-sitter-c.pc.in | 10 + deps/tree-sitter-c/bindings/go/binding.go | 12 + .../tree-sitter-c/bindings/go/binding_test.go | 15 + deps/tree-sitter-c/bindings/node/binding.cc | 20 + .../bindings/node/binding_test.js | 9 + deps/tree-sitter-c/bindings/node/index.d.ts | 28 + deps/tree-sitter-c/bindings/node/index.js | 11 + .../bindings/python/tests/test_binding.py | 11 + .../bindings/python/tree_sitter_c/__init__.py | 34 + .../python/tree_sitter_c/__init__.pyi | 6 + .../bindings/python/tree_sitter_c/binding.c | 27 + .../bindings/python/tree_sitter_c/py.typed | 0 deps/tree-sitter-c/bindings/rust/build.rs | 15 + deps/tree-sitter-c/bindings/rust/lib.rs | 57 + .../bindings/swift/TreeSitterC/c.h | 16 + .../TreeSitterCTests/TreeSitterCTests.swift | 12 + deps/tree-sitter-c/eslint.config.mjs | 5 + deps/tree-sitter-c/examples/cluster.c | 5446 + deps/tree-sitter-c/examples/malloc.c | 532 + deps/tree-sitter-c/examples/parser.c | 1283 + deps/tree-sitter-c/go.mod | 7 + deps/tree-sitter-c/go.sum | 34 + deps/tree-sitter-c/grammar.js | 1470 + deps/tree-sitter-c/package-lock.json | 1482 + deps/tree-sitter-c/package.json | 60 + deps/tree-sitter-c/pyproject.toml | 33 + deps/tree-sitter-c/queries/highlights.scm | 81 + deps/tree-sitter-c/queries/tags.scm | 9 + deps/tree-sitter-c/setup.py | 61 + deps/tree-sitter-c/src/grammar.json | 9735 ++ deps/tree-sitter-c/src/node-types.json | 4614 + deps/tree-sitter-c/src/parser.c | 119615 +++++++++++++++ deps/tree-sitter-c/src/tree_sitter/alloc.h | 54 + deps/tree-sitter-c/src/tree_sitter/array.h | 290 + deps/tree-sitter-c/src/tree_sitter/parser.h | 266 + .../tree-sitter-c/test/corpus/ambiguities.txt | 274 + deps/tree-sitter-c/test/corpus/crlf.txt | 13 + .../test/corpus/declarations.txt | 1256 + .../tree-sitter-c/test/corpus/expressions.txt | 1483 + deps/tree-sitter-c/test/corpus/microsoft.txt | 298 + .../test/corpus/preprocessor.txt | 449 + deps/tree-sitter-c/test/corpus/statements.txt | 535 + deps/tree-sitter-c/test/corpus/types.txt | 80 + deps/tree-sitter-c/test/highlight/keywords.c | 6 + deps/tree-sitter-c/test/highlight/names.c | 33 + deps/tree-sitter-c/tree-sitter.json | 43 + 66 files changed, 150580 insertions(+) create mode 100644 deps/tree-sitter-c/.editorconfig create mode 100644 deps/tree-sitter-c/.gitattributes create mode 100644 deps/tree-sitter-c/.github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 deps/tree-sitter-c/.github/ISSUE_TEMPLATE/config.yml create mode 100644 deps/tree-sitter-c/.github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 deps/tree-sitter-c/.github/dependabot.yml create mode 100644 deps/tree-sitter-c/.github/workflows/ci.yml create mode 100644 deps/tree-sitter-c/.github/workflows/lint.yml create mode 100644 deps/tree-sitter-c/.github/workflows/publish.yml create mode 100644 deps/tree-sitter-c/.gitignore create mode 100644 deps/tree-sitter-c/CMakeLists.txt create mode 100644 deps/tree-sitter-c/Cargo.lock create mode 100644 deps/tree-sitter-c/Cargo.toml create mode 100644 deps/tree-sitter-c/LICENSE create mode 100644 deps/tree-sitter-c/Makefile create mode 100644 deps/tree-sitter-c/Package.resolved create mode 100644 deps/tree-sitter-c/Package.swift create mode 100644 deps/tree-sitter-c/README.md create mode 100644 deps/tree-sitter-c/binding.gyp create mode 100644 deps/tree-sitter-c/bindings/c/tree-sitter-c.h create mode 100644 deps/tree-sitter-c/bindings/c/tree-sitter-c.pc.in create mode 100644 deps/tree-sitter-c/bindings/go/binding.go create mode 100644 deps/tree-sitter-c/bindings/go/binding_test.go create mode 100644 deps/tree-sitter-c/bindings/node/binding.cc create mode 100644 deps/tree-sitter-c/bindings/node/binding_test.js create mode 100644 deps/tree-sitter-c/bindings/node/index.d.ts create mode 100644 deps/tree-sitter-c/bindings/node/index.js create mode 100644 deps/tree-sitter-c/bindings/python/tests/test_binding.py create mode 100644 deps/tree-sitter-c/bindings/python/tree_sitter_c/__init__.py create mode 100644 deps/tree-sitter-c/bindings/python/tree_sitter_c/__init__.pyi create mode 100644 deps/tree-sitter-c/bindings/python/tree_sitter_c/binding.c create mode 100644 deps/tree-sitter-c/bindings/python/tree_sitter_c/py.typed create mode 100644 deps/tree-sitter-c/bindings/rust/build.rs create mode 100644 deps/tree-sitter-c/bindings/rust/lib.rs create mode 100644 deps/tree-sitter-c/bindings/swift/TreeSitterC/c.h create mode 100644 deps/tree-sitter-c/bindings/swift/TreeSitterCTests/TreeSitterCTests.swift create mode 100644 deps/tree-sitter-c/eslint.config.mjs create mode 100644 deps/tree-sitter-c/examples/cluster.c create mode 100644 deps/tree-sitter-c/examples/malloc.c create mode 100644 deps/tree-sitter-c/examples/parser.c create mode 100644 deps/tree-sitter-c/go.mod create mode 100644 deps/tree-sitter-c/go.sum create mode 100644 deps/tree-sitter-c/grammar.js create mode 100644 deps/tree-sitter-c/package-lock.json create mode 100644 deps/tree-sitter-c/package.json create mode 100644 deps/tree-sitter-c/pyproject.toml create mode 100644 deps/tree-sitter-c/queries/highlights.scm create mode 100644 deps/tree-sitter-c/queries/tags.scm create mode 100644 deps/tree-sitter-c/setup.py create mode 100644 deps/tree-sitter-c/src/grammar.json create mode 100644 deps/tree-sitter-c/src/node-types.json create mode 100644 deps/tree-sitter-c/src/parser.c create mode 100644 deps/tree-sitter-c/src/tree_sitter/alloc.h create mode 100644 deps/tree-sitter-c/src/tree_sitter/array.h create mode 100644 deps/tree-sitter-c/src/tree_sitter/parser.h create mode 100644 deps/tree-sitter-c/test/corpus/ambiguities.txt create mode 100644 deps/tree-sitter-c/test/corpus/crlf.txt create mode 100644 deps/tree-sitter-c/test/corpus/declarations.txt create mode 100644 deps/tree-sitter-c/test/corpus/expressions.txt create mode 100644 deps/tree-sitter-c/test/corpus/microsoft.txt create mode 100644 deps/tree-sitter-c/test/corpus/preprocessor.txt create mode 100644 deps/tree-sitter-c/test/corpus/statements.txt create mode 100644 deps/tree-sitter-c/test/corpus/types.txt create mode 100644 deps/tree-sitter-c/test/highlight/keywords.c create mode 100644 deps/tree-sitter-c/test/highlight/names.c create mode 100644 deps/tree-sitter-c/tree-sitter.json diff --git a/deps/tree-sitter-c/.editorconfig b/deps/tree-sitter-c/.editorconfig new file mode 100644 index 0000000..65330c4 --- /dev/null +++ b/deps/tree-sitter-c/.editorconfig @@ -0,0 +1,46 @@ +root = true + +[*] +charset = utf-8 + +[*.{json,toml,yml,gyp}] +indent_style = space +indent_size = 2 + +[*.js] +indent_style = space +indent_size = 2 + +[*.scm] +indent_style = space +indent_size = 2 + +[*.{c,cc,h}] +indent_style = space +indent_size = 4 + +[*.rs] +indent_style = space +indent_size = 4 + +[*.{py,pyi}] +indent_style = space +indent_size = 4 + +[*.swift] +indent_style = space +indent_size = 4 + +[*.go] +indent_style = tab +indent_size = 8 + +[Makefile] +indent_style = tab +indent_size = 8 + +[parser.c] +indent_size = 2 + +[{alloc,array,parser}.h] +indent_size = 2 diff --git a/deps/tree-sitter-c/.gitattributes b/deps/tree-sitter-c/.gitattributes new file mode 100644 index 0000000..7e2cae0 --- /dev/null +++ b/deps/tree-sitter-c/.gitattributes @@ -0,0 +1,37 @@ +* text=auto eol=lf + +# Generated source files +src/*.json linguist-generated +src/parser.c linguist-generated +src/tree_sitter/* linguist-generated + +# C bindings +bindings/c/* linguist-generated +CMakeLists.txt linguist-generated +Makefile linguist-generated + +# Rust bindings +bindings/rust/* linguist-generated +Cargo.toml linguist-generated +Cargo.lock linguist-generated + +# Node.js bindings +bindings/node/* linguist-generated +binding.gyp linguist-generated +package.json linguist-generated +package-lock.json linguist-generated + +# Python bindings +bindings/python/** linguist-generated +setup.py linguist-generated +pyproject.toml linguist-generated + +# Go bindings +bindings/go/* linguist-generated +go.mod linguist-generated +go.sum linguist-generated + +# Swift bindings +bindings/swift/** linguist-generated +Package.swift linguist-generated +Package.resolved linguist-generated diff --git a/deps/tree-sitter-c/.github/ISSUE_TEMPLATE/bug_report.yml b/deps/tree-sitter-c/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..b76eab0 --- /dev/null +++ b/deps/tree-sitter-c/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,59 @@ +name: Bug Report +description: File a bug or issue +title: "bug: " +labels: [bug] +body: + - type: markdown + attributes: + value: | + **Before** reporting an issue, make sure to search [existing issues](https://github.com/tree-sitter/tree-sitter-c/issues). Usage questions such as ***"How do I...?"*** either belong in [Discussions](https://github.com/tree-sitter/tree-sitter/discussions) upstream or in our [Discord server](https://discord.gg/w7nTvsVJhm) and will be closed. + If your issue is related to a bug in your editor-experience because your editor *leverages* tree-sitter and this parser, then it is likely your issue does *NOT* belong here and belongs in the relevant editor's repository. + - type: checkboxes + attributes: + label: Did you check existing issues? + description: Make sure you've checked all of the below before submitting an issue + options: + - label: I have read all the [tree-sitter docs](https://tree-sitter.github.io/tree-sitter/using-parsers) if it relates to using the parser + required: false + - label: I have searched the existing issues of tree-sitter-c + required: true + - type: input + attributes: + label: "Tree-Sitter CLI Version, if relevant (output of `tree-sitter --version`)" + placeholder: "tree-sitter 0.20.8 (6bbb50bef8249e6460e7d69e42cc8146622fa4fd)" + validations: + required: false + - type: textarea + attributes: + label: Describe the bug + description: A clear and concise description of what the bug is. Please include any related errors you see such as parsing errors or tree-sitter cli errors. + validations: + required: true + - type: textarea + attributes: + label: Steps To Reproduce/Bad Parse Tree + description: Steps to reproduce the behavior. If you have a bad parse tree, please include it here. You can get this by running `tree-sitter parse ` and copying the output. + placeholder: | + 1. + 2. + 3. + validations: + required: true + - type: textarea + attributes: + label: Expected Behavior/Parse Tree + description: A concise description of what you expected to happen, or in the case of a bad parse tree, the expected parse tree. + validations: + required: true + - type: textarea + attributes: + label: Repro + description: Minimal code to reproduce this issue. Ideally this should be reproducible with the C library or the tree-sitter cli, do not suggest an editor or external tool. + value: | + // Example code that causes the issue + void foo() { + // Code that fails to parse, or causes an error + } + render: C + validations: + required: false diff --git a/deps/tree-sitter-c/.github/ISSUE_TEMPLATE/config.yml b/deps/tree-sitter-c/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..3ba13e0 --- /dev/null +++ b/deps/tree-sitter-c/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: false diff --git a/deps/tree-sitter-c/.github/ISSUE_TEMPLATE/feature_request.yml b/deps/tree-sitter-c/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..d8eff16 --- /dev/null +++ b/deps/tree-sitter-c/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,36 @@ +name: Feature Request +description: Suggest a new feature +title: "feature: " +labels: [enhancement] +body: + - type: checkboxes + attributes: + label: Did you check the tree-sitter docs? + description: Make sure you read all the docs before submitting a feature request + options: + - label: I have read all the [tree-sitter docs](https://tree-sitter.github.io/tree-sitter/using-parsers) if it relates to using the parser + required: false + - type: textarea + validations: + required: true + attributes: + label: Is your feature request related to a problem? Please describe. + description: A clear and concise description of what the problem is. Ex. I think the grammar models this rule incorrectly and can be improved, or the C spec has officially added a new feature that should be added to the grammar. + - type: textarea + validations: + required: true + attributes: + label: Describe the solution you'd like + description: A clear and concise description of what you want to happen. + - type: textarea + validations: + required: true + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered. + - type: textarea + validations: + required: false + attributes: + label: Additional context + description: Add any other context or screenshots about the feature request here. If your feature request is related to a new C feature, please include a link to the relevant **official** C documentation. diff --git a/deps/tree-sitter-c/.github/dependabot.yml b/deps/tree-sitter-c/.github/dependabot.yml new file mode 100644 index 0000000..4c39a33 --- /dev/null +++ b/deps/tree-sitter-c/.github/dependabot.yml @@ -0,0 +1,8 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + commit-message: + prefix: "ci" diff --git a/deps/tree-sitter-c/.github/workflows/ci.yml b/deps/tree-sitter-c/.github/workflows/ci.yml new file mode 100644 index 0000000..184093e --- /dev/null +++ b/deps/tree-sitter-c/.github/workflows/ci.yml @@ -0,0 +1,48 @@ +name: CI + +on: + push: + branches: [master] + paths: + - grammar.js + - src/** + - test/** + - bindings/** + - binding.gyp + pull_request: + paths: + - grammar.js + - src/** + - test/** + - bindings/** + - binding.gyp + +concurrency: + group: ${{github.workflow}}-${{github.ref}} + cancel-in-progress: true + +jobs: + test: + name: Test parser + runs-on: ${{matrix.os}} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest, macos-14] + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Set up tree-sitter + uses: tree-sitter/setup-action/cli@v2 + - name: Run tests + uses: tree-sitter/parser-test-action@v2 + with: + test-rust: true + test-node: true + test-python: true + test-go: true + test-swift: true + - name: Parse examples + uses: tree-sitter/parse-action@v4 + with: + files: examples/* diff --git a/deps/tree-sitter-c/.github/workflows/lint.yml b/deps/tree-sitter-c/.github/workflows/lint.yml new file mode 100644 index 0000000..96f1a4d --- /dev/null +++ b/deps/tree-sitter-c/.github/workflows/lint.yml @@ -0,0 +1,26 @@ +name: Lint + +on: + push: + branches: [master] + paths: + - grammar.js + pull_request: + paths: + - grammar.js + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + cache: npm + node-version: ${{vars.NODE_VERSION}} + - name: Install modules + run: npm ci --legacy-peer-deps + - name: Run ESLint + run: npm run lint diff --git a/deps/tree-sitter-c/.github/workflows/publish.yml b/deps/tree-sitter-c/.github/workflows/publish.yml new file mode 100644 index 0000000..35459aa --- /dev/null +++ b/deps/tree-sitter-c/.github/workflows/publish.yml @@ -0,0 +1,35 @@ +name: Publish packages + +on: + push: + tags: ["*"] + +permissions: + contents: write + id-token: write + attestations: write + +jobs: + github: + uses: tree-sitter/workflows/.github/workflows/release.yml@main + with: + generate: true + attestations: true + npm: + uses: tree-sitter/workflows/.github/workflows/package-npm.yml@main + secrets: + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} + with: + generate: true + crates: + uses: tree-sitter/workflows/.github/workflows/package-crates.yml@main + secrets: + CARGO_REGISTRY_TOKEN: ${{secrets.CARGO_REGISTRY_TOKEN}} + with: + generate: true + pypi: + uses: tree-sitter/workflows/.github/workflows/package-pypi.yml@main + secrets: + PYPI_API_TOKEN: ${{secrets.PYPI_API_TOKEN}} + with: + generate: true diff --git a/deps/tree-sitter-c/.gitignore b/deps/tree-sitter-c/.gitignore new file mode 100644 index 0000000..308fcab --- /dev/null +++ b/deps/tree-sitter-c/.gitignore @@ -0,0 +1,40 @@ +# Rust artifacts +target/ + +# Node artifacts +build/ +prebuilds/ +node_modules/ + +# Swift artifacts +.build/ + +# Go artifacts +_obj/ + +# Python artifacts +.venv/ +dist/ +*.egg-info +*.whl + +# C artifacts +*.a +*.so +*.so.* +*.dylib +*.dll +*.pc + +# Example dirs +/examples/*/ + +# Grammar volatiles +*.wasm +*.obj +*.o + +# Archives +*.tar.gz +*.tgz +*.zip diff --git a/deps/tree-sitter-c/CMakeLists.txt b/deps/tree-sitter-c/CMakeLists.txt new file mode 100644 index 0000000..20754b4 --- /dev/null +++ b/deps/tree-sitter-c/CMakeLists.txt @@ -0,0 +1,58 @@ +cmake_minimum_required(VERSION 3.13) + +project(tree-sitter-c + VERSION "0.23.2" + DESCRIPTION "C grammar for tree-sitter" + HOMEPAGE_URL "https://github.com/tree-sitter/tree-sitter-c" + LANGUAGES C) + +option(BUILD_SHARED_LIBS "Build using shared libraries" ON) +option(TREE_SITTER_REUSE_ALLOCATOR "Reuse the library allocator" OFF) + +set(TREE_SITTER_ABI_VERSION 14 CACHE STRING "Tree-sitter ABI version") +if(NOT ${TREE_SITTER_ABI_VERSION} MATCHES "^[0-9]+$") + unset(TREE_SITTER_ABI_VERSION CACHE) + message(FATAL_ERROR "TREE_SITTER_ABI_VERSION must be an integer") +endif() + +find_program(TREE_SITTER_CLI tree-sitter DOC "Tree-sitter CLI") + +add_custom_command(OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/src/parser.c" + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/grammar.json" + COMMAND "${TREE_SITTER_CLI}" generate src/grammar.json + --abi=${TREE_SITTER_ABI_VERSION} + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + COMMENT "Generating parser.c") + +add_library(tree-sitter-c src/parser.c) +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/scanner.c) + target_sources(tree-sitter-c PRIVATE src/scanner.c) +endif() +target_include_directories(tree-sitter-c PRIVATE src) + +target_compile_definitions(tree-sitter-c PRIVATE + $<$:TREE_SITTER_REUSE_ALLOCATOR> + $<$:TREE_SITTER_DEBUG>) + +set_target_properties(tree-sitter-c + PROPERTIES + C_STANDARD 11 + POSITION_INDEPENDENT_CODE ON + SOVERSION "${TREE_SITTER_ABI_VERSION}.${PROJECT_VERSION_MAJOR}" + DEFINE_SYMBOL "") + +configure_file(bindings/c/tree-sitter-c.pc.in + "${CMAKE_CURRENT_BINARY_DIR}/tree-sitter-c.pc" @ONLY) + +include(GNUInstallDirs) + +install(FILES bindings/c/tree-sitter-c.h + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/tree_sitter") +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/tree-sitter-c.pc" + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig") +install(TARGETS tree-sitter-c + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") + +add_custom_target(ts-test "${TREE_SITTER_CLI}" test + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + COMMENT "tree-sitter test") diff --git a/deps/tree-sitter-c/Cargo.lock b/deps/tree-sitter-c/Cargo.lock new file mode 100644 index 0000000..41cb78a --- /dev/null +++ b/deps/tree-sitter-c/Cargo.lock @@ -0,0 +1,96 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "cc" +version = "1.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40545c26d092346d8a8dab71ee48e7685a7a9cba76e634790c215b41a4a7b4cf" +dependencies = [ + "shlex", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520" + +[[package]] +name = "tree-sitter" +version = "0.24.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67baf55e7e1b6806063b1e51041069c90afff16afcbbccd278d899f9d84bca4" +dependencies = [ + "cc", + "regex", + "regex-syntax", + "streaming-iterator", + "tree-sitter-language", +] + +[[package]] +name = "tree-sitter-c" +version = "0.23.2" +dependencies = [ + "cc", + "tree-sitter", + "tree-sitter-language", +] + +[[package]] +name = "tree-sitter-language" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8ddffe35a0e5eeeadf13ff7350af564c6e73993a24db62caee1822b185c2600" diff --git a/deps/tree-sitter-c/Cargo.toml b/deps/tree-sitter-c/Cargo.toml new file mode 100644 index 0000000..18d7298 --- /dev/null +++ b/deps/tree-sitter-c/Cargo.toml @@ -0,0 +1,30 @@ +[package] +name = "tree-sitter-c" +description = "C grammar for tree-sitter" +version = "0.23.2" +authors = [ + "Max Brunsfeld ", + "Amaan Qureshi ", +] +license = "MIT" +readme = "README.md" +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/*", "tree-sitter.json"] + +[lib] +path = "bindings/rust/lib.rs" + +[dependencies] +tree-sitter-language = "0.1" + +[build-dependencies] +cc = "1.1" + +[dev-dependencies] +tree-sitter = "0.24" diff --git a/deps/tree-sitter-c/LICENSE b/deps/tree-sitter-c/LICENSE new file mode 100644 index 0000000..4b52d19 --- /dev/null +++ b/deps/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/deps/tree-sitter-c/Makefile b/deps/tree-sitter-c/Makefile new file mode 100644 index 0000000..83aed13 --- /dev/null +++ b/deps/tree-sitter-c/Makefile @@ -0,0 +1,94 @@ +ifeq ($(OS),Windows_NT) +$(error Windows is not supported) +endif + +LANGUAGE_NAME := tree-sitter-c +HOMEPAGE_URL := https://github.com/tree-sitter/tree-sitter-c +VERSION := 0.23.2 + +# repository +SRC_DIR := src + +TS ?= tree-sitter + +# install directory layout +PREFIX ?= /usr/local +INCLUDEDIR ?= $(PREFIX)/include +LIBDIR ?= $(PREFIX)/lib +PCLIBDIR ?= $(LIBDIR)/pkgconfig + +# source/object files +PARSER := $(SRC_DIR)/parser.c +EXTRAS := $(filter-out $(PARSER),$(wildcard $(SRC_DIR)/*.c)) +OBJS := $(patsubst %.c,%.o,$(PARSER) $(EXTRAS)) + +# flags +ARFLAGS ?= rcs +override CFLAGS += -I$(SRC_DIR) -std=c11 -fPIC + +# ABI versioning +SONAME_MAJOR = $(shell sed -n 's/\#define LANGUAGE_VERSION //p' $(PARSER)) +SONAME_MINOR = $(word 1,$(subst ., ,$(VERSION))) + +# OS-specific bits +ifeq ($(shell uname),Darwin) + SOEXT = dylib + SOEXTVER_MAJOR = $(SONAME_MAJOR).$(SOEXT) + SOEXTVER = $(SONAME_MAJOR).$(SONAME_MINOR).$(SOEXT) + LINKSHARED = -dynamiclib -Wl,-install_name,$(LIBDIR)/lib$(LANGUAGE_NAME).$(SOEXTVER),-rpath,@executable_path/../Frameworks +else + SOEXT = so + SOEXTVER_MAJOR = $(SOEXT).$(SONAME_MAJOR) + SOEXTVER = $(SOEXT).$(SONAME_MAJOR).$(SONAME_MINOR) + LINKSHARED = -shared -Wl,-soname,lib$(LANGUAGE_NAME).$(SOEXTVER) +endif +ifneq ($(filter $(shell uname),FreeBSD NetBSD DragonFly),) + PCLIBDIR := $(PREFIX)/libdata/pkgconfig +endif + +all: lib$(LANGUAGE_NAME).a lib$(LANGUAGE_NAME).$(SOEXT) $(LANGUAGE_NAME).pc + +lib$(LANGUAGE_NAME).a: $(OBJS) + $(AR) $(ARFLAGS) $@ $^ + +lib$(LANGUAGE_NAME).$(SOEXT): $(OBJS) + $(CC) $(LDFLAGS) $(LINKSHARED) $^ $(LDLIBS) -o $@ +ifneq ($(STRIP),) + $(STRIP) $@ +endif + +$(LANGUAGE_NAME).pc: bindings/c/$(LANGUAGE_NAME).pc.in + sed -e 's|@PROJECT_VERSION@|$(VERSION)|' \ + -e 's|@CMAKE_INSTALL_LIBDIR@|$(LIBDIR:$(PREFIX)/%=%)|' \ + -e 's|@CMAKE_INSTALL_INCLUDEDIR@|$(INCLUDEDIR:$(PREFIX)/%=%)|' \ + -e 's|@PROJECT_DESCRIPTION@|$(DESCRIPTION)|' \ + -e 's|@PROJECT_HOMEPAGE_URL@|$(HOMEPAGE_URL)|' \ + -e 's|@CMAKE_INSTALL_PREFIX@|$(PREFIX)|' $< > $@ + +$(PARSER): $(SRC_DIR)/grammar.json + $(TS) generate $^ + +install: all + install -d '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter '$(DESTDIR)$(PCLIBDIR)' '$(DESTDIR)$(LIBDIR)' + install -m644 bindings/c/$(LANGUAGE_NAME).h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/$(LANGUAGE_NAME).h + install -m644 $(LANGUAGE_NAME).pc '$(DESTDIR)$(PCLIBDIR)'/$(LANGUAGE_NAME).pc + install -m644 lib$(LANGUAGE_NAME).a '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).a + install -m755 lib$(LANGUAGE_NAME).$(SOEXT) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER) + ln -sf lib$(LANGUAGE_NAME).$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) + ln -sf lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXT) + +uninstall: + $(RM) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).a \ + '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER) \ + '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) \ + '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXT) \ + '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/$(LANGUAGE_NAME).h \ + '$(DESTDIR)$(PCLIBDIR)'/$(LANGUAGE_NAME).pc + +clean: + $(RM) $(OBJS) $(LANGUAGE_NAME).pc lib$(LANGUAGE_NAME).a lib$(LANGUAGE_NAME).$(SOEXT) + +test: + $(TS) test + +.PHONY: all install uninstall clean test diff --git a/deps/tree-sitter-c/Package.resolved b/deps/tree-sitter-c/Package.resolved new file mode 100644 index 0000000..9e0a023 --- /dev/null +++ b/deps/tree-sitter-c/Package.resolved @@ -0,0 +1,16 @@ +{ + "object": { + "pins": [ + { + "package": "SwiftTreeSitter", + "repositoryURL": "https://github.com/ChimeHQ/SwiftTreeSitter", + "state": { + "branch": null, + "revision": "2599e95310b3159641469d8a21baf2d3d200e61f", + "version": "0.8.0" + } + } + ] + }, + "version": 1 +} diff --git a/deps/tree-sitter-c/Package.swift b/deps/tree-sitter-c/Package.swift new file mode 100644 index 0000000..e6132c8 --- /dev/null +++ b/deps/tree-sitter-c/Package.swift @@ -0,0 +1,36 @@ +// swift-tools-version:5.3 +import PackageDescription + +let package = Package( + name: "TreeSitterC", + products: [ + .library(name: "TreeSitterC", targets: ["TreeSitterC"]), + ], + dependencies: [ + .package(url: "https://github.com/ChimeHQ/SwiftTreeSitter", from: "0.8.0"), + ], + targets: [ + .target( + name: "TreeSitterC", + dependencies: [], + path: ".", + sources: [ + "src/parser.c", + ], + resources: [ + .copy("queries") + ], + publicHeadersPath: "bindings/swift", + cSettings: [.headerSearchPath("src")] + ), + .testTarget( + name: "TreeSitterCTests", + dependencies: [ + "SwiftTreeSitter", + "TreeSitterC", + ], + path: "bindings/swift/TreeSitterCTests" + ) + ], + cLanguageStandard: .c11 +) diff --git a/deps/tree-sitter-c/README.md b/deps/tree-sitter-c/README.md new file mode 100644 index 0000000..162d6b4 --- /dev/null +++ b/deps/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/deps/tree-sitter-c/binding.gyp b/deps/tree-sitter-c/binding.gyp new file mode 100644 index 0000000..a74aac6 --- /dev/null +++ b/deps/tree-sitter-c/binding.gyp @@ -0,0 +1,29 @@ +{ + "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/deps/tree-sitter-c/bindings/node/binding_test.js b/deps/tree-sitter-c/bindings/node/binding_test.js new file mode 100644 index 0000000..55becac --- /dev/null +++ b/deps/tree-sitter-c/bindings/node/binding_test.js @@ -0,0 +1,9 @@ +const assert = require("node:assert"); +const { test } = require("node:test"); + +const Parser = require("tree-sitter"); + +test("can load grammar", () => { + const parser = new Parser(); + assert.doesNotThrow(() => parser.setLanguage(require("."))); +}); diff --git a/deps/tree-sitter-c/bindings/node/index.d.ts b/deps/tree-sitter-c/bindings/node/index.d.ts new file mode 100644 index 0000000..efe259e --- /dev/null +++ b/deps/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/deps/tree-sitter-c/bindings/node/index.js b/deps/tree-sitter-c/bindings/node/index.js new file mode 100644 index 0000000..6a3ed2a --- /dev/null +++ b/deps/tree-sitter-c/bindings/node/index.js @@ -0,0 +1,11 @@ +const root = require("path").join(__dirname, "..", ".."); + +module.exports = + typeof process.versions.bun === "string" + // Support `bun build --compile` by being statically analyzable enough to find the .node file at build-time + ? require(`../../prebuilds/${process.platform}-${process.arch}/tree-sitter-c.node`) + : require("node-gyp-build")(root); + +try { + module.exports.nodeTypeInfo = require("../../src/node-types.json"); +} catch (_) {} diff --git a/deps/tree-sitter-c/bindings/python/tests/test_binding.py b/deps/tree-sitter-c/bindings/python/tests/test_binding.py new file mode 100644 index 0000000..031b0e2 --- /dev/null +++ b/deps/tree-sitter-c/bindings/python/tests/test_binding.py @@ -0,0 +1,11 @@ +from unittest import TestCase + +import tree_sitter, tree_sitter_c + + +class TestLanguage(TestCase): + def test_can_load_grammar(self): + try: + tree_sitter.Language(tree_sitter_c.language()) + except Exception: + self.fail("Error loading C grammar") diff --git a/deps/tree-sitter-c/bindings/python/tree_sitter_c/__init__.py b/deps/tree-sitter-c/bindings/python/tree_sitter_c/__init__.py new file mode 100644 index 0000000..48da7f9 --- /dev/null +++ b/deps/tree-sitter-c/bindings/python/tree_sitter_c/__init__.py @@ -0,0 +1,34 @@ +"""C grammar for tree-sitter""" + +from importlib.resources import files as _files + +from ._binding import language + + +def _get_query(name, file): + query = _files(f"{__package__}.queries") / file + globals()[name] = query.read_text() + return globals()[name] + + +def __getattr__(name): + if name == "HIGHLIGHTS_QUERY": + return _get_query("HIGHLIGHTS_QUERY", "highlights.scm") + if name == "TAGS_QUERY": + return _get_query("TAGS_QUERY", "tags.scm") + + raise AttributeError(f"module {__name__!r} has no attribute {name!r}") + + +__all__ = [ + "language", + "HIGHLIGHTS_QUERY", + "TAGS_QUERY", +] + + +def __dir__(): + return sorted(__all__ + [ + "__all__", "__builtins__", "__cached__", "__doc__", "__file__", + "__loader__", "__name__", "__package__", "__path__", "__spec__", + ]) diff --git a/deps/tree-sitter-c/bindings/python/tree_sitter_c/__init__.pyi b/deps/tree-sitter-c/bindings/python/tree_sitter_c/__init__.pyi new file mode 100644 index 0000000..0130edf --- /dev/null +++ b/deps/tree-sitter-c/bindings/python/tree_sitter_c/__init__.pyi @@ -0,0 +1,6 @@ +from typing import Final + +HIGHLIGHTS_QUERY: Final[str] +TAGS_QUERY: Final[str] + +def language() -> object: ... diff --git a/deps/tree-sitter-c/bindings/python/tree_sitter_c/binding.c b/deps/tree-sitter-c/bindings/python/tree_sitter_c/binding.c new file mode 100644 index 0000000..733cd5a --- /dev/null +++ b/deps/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 *Py_UNUSED(self), PyObject *Py_UNUSED(args)) { + return PyCapsule_New(tree_sitter_c(), "tree_sitter.Language", NULL); +} + +static PyMethodDef methods[] = { + {"language", _binding_language, METH_NOARGS, + "Get the tree-sitter language for this grammar."}, + {NULL, NULL, 0, NULL} +}; + +static struct PyModuleDef module = { + .m_base = PyModuleDef_HEAD_INIT, + .m_name = "_binding", + .m_doc = NULL, + .m_size = -1, + .m_methods = methods +}; + +PyMODINIT_FUNC PyInit__binding(void) { + return PyModule_Create(&module); +} diff --git a/deps/tree-sitter-c/bindings/python/tree_sitter_c/py.typed b/deps/tree-sitter-c/bindings/python/tree_sitter_c/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/deps/tree-sitter-c/bindings/rust/build.rs b/deps/tree-sitter-c/bindings/rust/build.rs new file mode 100644 index 0000000..cbbaf00 --- /dev/null +++ b/deps/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/deps/tree-sitter-c/bindings/rust/lib.rs b/deps/tree-sitter-c/bindings/rust/lib.rs new file mode 100644 index 0000000..b9532a4 --- /dev/null +++ b/deps/tree-sitter-c/bindings/rust/lib.rs @@ -0,0 +1,57 @@ +//! 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(); +//! let language = tree_sitter_c::LANGUAGE; +//! parser +//! .set_language(&language.into()) +//! .expect("Error loading C parser"); +//! let tree = parser.parse(code, None).unwrap(); +//! assert!(!tree.root_node().has_error()); +//! ``` +//! +//! [Language]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Language.html +//! [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::LanguageFn; + +extern "C" { + fn tree_sitter_c() -> *const (); +} + +/// The tree-sitter [`LanguageFn`] for this grammar. +pub const LANGUAGE: LanguageFn = unsafe { LanguageFn::from_raw(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.into()) + .expect("Error loading C parser"); + } +} diff --git a/deps/tree-sitter-c/bindings/swift/TreeSitterC/c.h b/deps/tree-sitter-c/bindings/swift/TreeSitterC/c.h new file mode 100644 index 0000000..e725f1e --- /dev/null +++ b/deps/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/deps/tree-sitter-c/bindings/swift/TreeSitterCTests/TreeSitterCTests.swift b/deps/tree-sitter-c/bindings/swift/TreeSitterCTests/TreeSitterCTests.swift new file mode 100644 index 0000000..51e3a50 --- /dev/null +++ b/deps/tree-sitter-c/bindings/swift/TreeSitterCTests/TreeSitterCTests.swift @@ -0,0 +1,12 @@ +import XCTest +import SwiftTreeSitter +import TreeSitterC + +final class TreeSitterCTests: XCTestCase { + func testCanLoadGrammar() throws { + let parser = Parser() + let language = Language(language: tree_sitter_c()) + XCTAssertNoThrow(try parser.setLanguage(language), + "Error loading C grammar") + } +} diff --git a/deps/tree-sitter-c/eslint.config.mjs b/deps/tree-sitter-c/eslint.config.mjs new file mode 100644 index 0000000..494a10e --- /dev/null +++ b/deps/tree-sitter-c/eslint.config.mjs @@ -0,0 +1,5 @@ +import treesitter from 'eslint-config-treesitter'; + +export default [ + ...treesitter, +]; diff --git a/deps/tree-sitter-c/examples/cluster.c b/deps/tree-sitter-c/examples/cluster.c new file mode 100644 index 0000000..77ec2f1 --- /dev/null +++ b/deps/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/deps/tree-sitter-c/examples/malloc.c b/deps/tree-sitter-c/examples/malloc.c new file mode 100644 index 0000000..d5ee428 --- /dev/null +++ b/deps/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/deps/tree-sitter-c/examples/parser.c b/deps/tree-sitter-c/examples/parser.c new file mode 100644 index 0000000..2bb8638 --- /dev/null +++ b/deps/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/deps/tree-sitter-c/go.mod b/deps/tree-sitter-c/go.mod new file mode 100644 index 0000000..13d0635 --- /dev/null +++ b/deps/tree-sitter-c/go.mod @@ -0,0 +1,7 @@ +module github.com/tree-sitter/tree-sitter-c + +go 1.22 + +require github.com/tree-sitter/go-tree-sitter v0.24.0 + +require github.com/mattn/go-pointer v0.0.1 // indirect diff --git a/deps/tree-sitter-c/go.sum b/deps/tree-sitter-c/go.sum new file mode 100644 index 0000000..3d74dd8 --- /dev/null +++ b/deps/tree-sitter-c/go.sum @@ -0,0 +1,34 @@ +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= +github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/tree-sitter/go-tree-sitter v0.24.0 h1:kRZb6aBNfcI/u0Qh8XEt3zjNVnmxTisDBN+kXK0xRYQ= +github.com/tree-sitter/go-tree-sitter v0.24.0/go.mod h1:x681iFVoLMEwOSIHA1chaLkXlroXEN7WY+VHGFaoDbk= +github.com/tree-sitter/tree-sitter-cpp v0.22.4-0.20240818224355-b1a4e2b25148 h1:AfFPZwtwGN01BW1jDdqBVqscTwetvMpydqYZz57RSlc= +github.com/tree-sitter/tree-sitter-cpp v0.22.4-0.20240818224355-b1a4e2b25148/go.mod h1:Bh6U3viD57rFXRYIQ+kmiYtr+1Bx0AceypDLJJSyi9s= +github.com/tree-sitter/tree-sitter-embedded-template v0.21.1-0.20240819044651-ffbf64942c33 h1:TwqSV3qLp3tKSqirGLRHnjFk9Tc2oy57LIl+FQ4GjI4= +github.com/tree-sitter/tree-sitter-embedded-template v0.21.1-0.20240819044651-ffbf64942c33/go.mod h1:CvCKCt3v04Ufos1zZnNCelBDeCGRpPucaN8QczoUsN4= +github.com/tree-sitter/tree-sitter-go v0.21.3-0.20240818010209-8c0f0e7a6012 h1:Xvxck3tE5FW7F7bTS97iNM2ADMyCMJztVqn5HYKdJGo= +github.com/tree-sitter/tree-sitter-go v0.21.3-0.20240818010209-8c0f0e7a6012/go.mod h1:T40D0O1cPvUU/+AmiXVXy1cncYQT6wem4Z0g4SfAYvY= +github.com/tree-sitter/tree-sitter-html v0.20.5-0.20240818004741-d11201a263d0 h1:c46K6uh5Dz00zJeU9BfjXdb8I+E4RkUdfnWJpQADXFo= +github.com/tree-sitter/tree-sitter-html v0.20.5-0.20240818004741-d11201a263d0/go.mod h1:hcNt/kOJHcIcuMvouE7LJcYdeFUFbVpBJ6d4wmOA+tU= +github.com/tree-sitter/tree-sitter-java v0.21.1-0.20240824015150-576d8097e495 h1:jrt4qbJVEFs4H93/ITxygHc6u0TGqAkkate7TQ4wFSA= +github.com/tree-sitter/tree-sitter-java v0.21.1-0.20240824015150-576d8097e495/go.mod h1:oyaR7fLnRV0hT9z6qwE9GkaeTom/hTDwK3H2idcOJFc= +github.com/tree-sitter/tree-sitter-javascript v0.21.5-0.20240818005344-15887341e5b5 h1:om4X9AVg3asL8gxNJDcz4e/Wp+VpQj1PY3uJXKr6EOg= +github.com/tree-sitter/tree-sitter-javascript v0.21.5-0.20240818005344-15887341e5b5/go.mod h1:nNqgPoV/h9uYWk6kYEFdEAhNVOacpfpRW5SFmdaP4tU= +github.com/tree-sitter/tree-sitter-json v0.21.1-0.20240818005659-bdd69eb8c8a5 h1:pfV3G3k7NCKqKk8THBmyuh2zA33lgYHS3GVrzRR8ry4= +github.com/tree-sitter/tree-sitter-json v0.21.1-0.20240818005659-bdd69eb8c8a5/go.mod h1:GbMKRjLfk0H+PI7nLi1Sx5lHf5wCpLz9al8tQYSxpEk= +github.com/tree-sitter/tree-sitter-php v0.22.9-0.20240819002312-a552625b56c1 h1:ZXZMDwE+IhUtGug4Brv6NjJWUU3rfkZBKpemf6RY8/g= +github.com/tree-sitter/tree-sitter-php v0.22.9-0.20240819002312-a552625b56c1/go.mod h1:UKCLuYnJ312Mei+3cyTmGOHzn0YAnaPRECgJmHtzrqs= +github.com/tree-sitter/tree-sitter-python v0.21.1-0.20240818005537-55a9b8a4fbfb h1:EXEM82lFM7JjJb6qiKZXkpIDaCcbV2obNn82ghwj9lw= +github.com/tree-sitter/tree-sitter-python v0.21.1-0.20240818005537-55a9b8a4fbfb/go.mod h1:lXCF1nGG5Dr4J3BTS0ObN4xJCCICiSu/b+Xe/VqMV7g= +github.com/tree-sitter/tree-sitter-ruby v0.21.1-0.20240818211811-7dbc1e2d0e2d h1:fcYCvoXdcP1uRQYXqJHRy6Hec+uKScQdKVtMwK9JeCI= +github.com/tree-sitter/tree-sitter-ruby v0.21.1-0.20240818211811-7dbc1e2d0e2d/go.mod h1:T1nShQ4v5AJtozZ8YyAS4uzUtDAJj/iv4YfwXSbUHzg= +github.com/tree-sitter/tree-sitter-rust v0.21.3-0.20240818005432-2b43eafe6447 h1:o9alBu1J/WjrcTKEthYtXmdkDc5OVXD+PqlvnEZ0Lzc= +github.com/tree-sitter/tree-sitter-rust v0.21.3-0.20240818005432-2b43eafe6447/go.mod h1:1Oh95COkkTn6Ezp0vcMbvfhRP5gLeqqljR0BYnBzWvc= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/deps/tree-sitter-c/grammar.js b/deps/tree-sitter-c/grammar.js new file mode 100644 index 0000000..db16bf8 --- /dev/null +++ b/deps/tree-sitter-c/grammar.js @@ -0,0 +1,1470 @@ +/** + * @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, +}; + +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], + [$.type_qualifier, $.extension_expression], + ], + + 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( + choice('__attribute__', '__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', + '_Nonnull', + $.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', + )), + repeat($.type_qualifier), + 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( + '(', + choice( + commaSep(choice($.parameter_declaration, $.variadic_parameter)), + $.compound_statement, + ), + ')', + ), + _old_style_parameter_list: $ => seq( + '(', + commaSep(choice($.identifier, $.variadic_parameter)), + ')', + ), + + parameter_declaration: $ => seq( + $._declaration_specifiers, + optional(field('declarator', choice( + $._declarator, + $._abstract_declarator, + ))), + repeat($.attribute_specifier), + ), + + // 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), + ':', + choice($.declaration, $.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( + optional($._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, + $.extension_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: $ => 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__', '__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', + '__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', $.expression), + ')', + ), + + 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)), + ), + + extension_expression: $ => seq('__extension__', $.expression), + + // The compound_statement is added to parse macros taking statements as arguments, e.g. MYFORLOOP(1, 10, i, { foo(i); bar(i); }) + argument_list: $ => seq('(', commaSep(choice($.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, $.compound_statement), + ')', + ), + + 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: _ => { + 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: $ => 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: $ => 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]{1,4}/, + /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: _ => + /(\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( + '/*', + /[^*]*\*+([^/*][^*]*\*+)*/, + '/', + ), + )), + }, +}); + +module.exports.PREC = PREC; + +/** + * + * @param {string} suffix + * + * @param {RuleBuilder} content + * + * @param {number} precedence + * + * @returns {RuleBuilders} + */ +function preprocIf(suffix, content, precedence = 0) { + /** + * + * @param {GrammarSymbols} $ + * + * @returns {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 + * + * @returns {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 + * + * @returns {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 + * + * @returns {SeqRule} + */ +function commaSep1(rule) { + return seq(rule, repeat(seq(',', rule))); +} diff --git a/deps/tree-sitter-c/package-lock.json b/deps/tree-sitter-c/package-lock.json new file mode 100644 index 0000000..abcaa09 --- /dev/null +++ b/deps/tree-sitter-c/package-lock.json @@ -0,0 +1,1482 @@ +{ + "name": "tree-sitter-c", + "version": "0.23.2", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "tree-sitter-c", + "version": "0.23.2", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-addon-api": "^8.2.2", + "node-gyp-build": "^4.8.2" + }, + "devDependencies": { + "eslint": "^9.14.0", + "eslint-config-treesitter": "^1.0.2", + "prebuildify": "^6.0.1", + "tree-sitter-cli": "^0.24.4" + }, + "peerDependencies": { + "tree-sitter": "^0.21.1" + }, + "peerDependenciesMeta": { + "tree-sitter": { + "optional": true + } + } + }, + "node_modules/@es-joy/jsdoccomment": { + "version": "0.49.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.49.0.tgz", + "integrity": "sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==", + "dev": true, + "dependencies": { + "comment-parser": "1.4.1", + "esquery": "^1.6.0", + "jsdoc-type-pratt-parser": "~4.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/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/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "dev": true, + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.7.0.tgz", + "integrity": "sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.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": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.14.0.tgz", + "integrity": "sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.2.tgz", + "integrity": "sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==", + "dev": true, + "dependencies": { + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "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/retry": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "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-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/are-docs-informative": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", + "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "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/comment-parser": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", + "dev": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "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.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz", + "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==", + "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.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "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/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/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "dev": true + }, + "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": "9.14.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.14.0.tgz", + "integrity": "sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.18.0", + "@eslint/core": "^0.7.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.14.0", + "@eslint/plugin-kit": "^0.2.0", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.0", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-treesitter": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/eslint-config-treesitter/-/eslint-config-treesitter-1.0.2.tgz", + "integrity": "sha512-OkzjA0oaNgYUFkGmo9T2cvRE7cxzh1dgSt0laO8Hdcypp9di8lebldoPivALXFusRb7s54J5exIw1w7l+g85Rg==", + "dev": true, + "dependencies": { + "eslint-plugin-jsdoc": "^50.2.4" + }, + "peerDependencies": { + "eslint": ">= 9" + } + }, + "node_modules/eslint-plugin-jsdoc": { + "version": "50.4.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.4.3.tgz", + "integrity": "sha512-uWtwFxGRv6B8sU63HZM5dAGDhgsatb+LONwmILZJhdRALLOkCX2HFZhdL/Kw2ls8SQMAVEfK+LmnEfxInRN8HA==", + "dev": true, + "dependencies": { + "@es-joy/jsdoccomment": "~0.49.0", + "are-docs-informative": "^0.0.2", + "comment-parser": "1.4.1", + "debug": "^4.3.6", + "escape-string-regexp": "^4.0.0", + "espree": "^10.1.0", + "esquery": "^1.6.0", + "parse-imports": "^2.1.1", + "semver": "^7.6.3", + "spdx-expression-parse": "^4.0.0", + "synckit": "^0.9.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "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/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.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": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "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/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": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "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/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/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/jsdoc-type-pratt-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz", + "integrity": "sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==", + "dev": true, + "engines": { + "node": ">=12.0.0" + } + }, + "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/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.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "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.2.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.2.2.tgz", + "integrity": "sha512-9emqXAKhVoNrQ792nLI/wpzPpJ/bj/YXxW0CvAau1+RdGBcCRF1Dmz7719zgVsQNrzHl9Tzn3ImZ4qWFarWL0A==", + "engines": { + "node": "^18 || ^20 || >= 21" + } + }, + "node_modules/node-gyp-build": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.2.tgz", + "integrity": "sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==", + "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.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "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/parse-imports": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/parse-imports/-/parse-imports-2.2.1.tgz", + "integrity": "sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==", + "dev": true, + "dependencies": { + "es-module-lexer": "^1.5.3", + "slashes": "^3.0.12" + }, + "engines": { + "node": ">= 18" + } + }, + "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-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/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/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "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/slashes": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/slashes/-/slashes-3.0.12.tgz", + "integrity": "sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==", + "dev": true + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", + "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", + "dev": true + }, + "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-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/synckit": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz", + "integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==", + "dev": true, + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "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, + "optional": true, + "peer": true, + "dependencies": { + "node-addon-api": "^8.0.0", + "node-gyp-build": "^4.8.0" + } + }, + "node_modules/tree-sitter-cli": { + "version": "0.24.4", + "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.24.4.tgz", + "integrity": "sha512-I4sdtDidnujYL0tR0Re9q0UJt5KrITf2m+GMHjT4LH6IC6kpM6eLzSR7RS36Z4t5ZQBjDHvg2QUJHAWQi3P2TA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "tree-sitter": "cli.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true + }, + "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/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/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/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/deps/tree-sitter-c/package.json b/deps/tree-sitter-c/package.json new file mode 100644 index 0000000..48c9248 --- /dev/null +++ b/deps/tree-sitter-c/package.json @@ -0,0 +1,60 @@ +{ + "name": "tree-sitter-c", + "version": "0.23.2", + "description": "C grammar for tree-sitter", + "repository": "https://github.com/tree-sitter/tree-sitter-c", + "license": "MIT", + "author": { + "name": "Max Brunsfeld", + "email": "maxbrunsfeld@gmail.com" + }, + "maintainers": [ + { + "name": "Amaan Qureshi", + "email": "amaanq12@gmail.com" + } + ], + "main": "bindings/node", + "types": "bindings/node", + "keywords": [ + "incremental", + "parsing", + "tree-sitter", + "c" + ], + "files": [ + "grammar.js", + "tree-sitter.json", + "binding.gyp", + "prebuilds/**", + "bindings/node/*", + "queries/*", + "src/**", + "*.wasm" + ], + "dependencies": { + "node-addon-api": "^8.2.2", + "node-gyp-build": "^4.8.2" + }, + "devDependencies": { + "eslint": "^9.14.0", + "eslint-config-treesitter": "^1.0.2", + "prebuildify": "^6.0.1", + "tree-sitter-cli": "^0.24.4" + }, + "peerDependencies": { + "tree-sitter": "^0.21.1" + }, + "peerDependenciesMeta": { + "tree-sitter": { + "optional": true + } + }, + "scripts": { + "install": "node-gyp-build", + "lint": "eslint grammar.js", + "prestart": "tree-sitter build --wasm", + "start": "tree-sitter playground", + "test": "node --test bindings/node/*_test.js" + } +} diff --git a/deps/tree-sitter-c/pyproject.toml b/deps/tree-sitter-c/pyproject.toml new file mode 100644 index 0000000..5059c35 --- /dev/null +++ b/deps/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.23.2" +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.9" +license.text = "MIT" +readme = "README.md" + +[project.urls] +Homepage = "https://github.com/tree-sitter/tree-sitter-c" + +[project.optional-dependencies] +core = ["tree-sitter~=0.22"] + +[tool.cibuildwheel] +build = "cp39-*" +build-frontend = "build" diff --git a/deps/tree-sitter-c/queries/highlights.scm b/deps/tree-sitter-c/queries/highlights.scm new file mode 100644 index 0000000..8ee1189 --- /dev/null +++ b/deps/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/deps/tree-sitter-c/queries/tags.scm b/deps/tree-sitter-c/queries/tags.scm new file mode 100644 index 0000000..9647566 --- /dev/null +++ b/deps/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/deps/tree-sitter-c/setup.py b/deps/tree-sitter-c/setup.py new file mode 100644 index 0000000..ca83409 --- /dev/null +++ b/deps/tree-sitter-c/setup.py @@ -0,0 +1,61 @@ +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 = "cp39", "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", + "-fvisibility=hidden", + ] if system() != "Windows" else [ + "/std:c11", + "/utf-8", + ], + define_macros=[ + ("Py_LIMITED_API", "0x03090000"), + ("PY_SSIZE_T_CLEAN", None), + ("TREE_SITTER_HIDE_SYMBOLS", None), + ], + include_dirs=["src"], + py_limited_api=True, + ) + ], + cmdclass={ + "build": Build, + "bdist_wheel": BdistWheel + }, + zip_safe=False +) diff --git a/deps/tree-sitter-c/src/grammar.json b/deps/tree-sitter-c/src/grammar.json new file mode 100644 index 0000000..fdea897 --- /dev/null +++ b/deps/tree-sitter-c/src/grammar.json @@ -0,0 +1,9735 @@ +{ + "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json", + "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": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "__attribute__" + }, + { + "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": "STRING", + "value": "_Nonnull" + }, + { + "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": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "type_qualifier" + } + }, + { + "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": "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": "SYMBOL", + "name": "compound_statement" + } + ] + }, + { + "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" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_specifier" + } + } + ] + }, + "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": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "declaration" + }, + { + "type": "SYMBOL", + "name": "statement" + } + ] + } + ] + }, + "_top_level_expression_statement": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expression_not_binary" + }, + { + "type": "BLANK" + } + ] + }, + { + "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" + }, + { + "type": "SYMBOL", + "name": "extension_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": "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": "__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": "expression" + } + }, + { + "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" + } + ] + } + ] + }, + "extension_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "__extension__" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, + "argument_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "compound_statement" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "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": "SYMBOL", + "name": "compound_statement" + } + ] + }, + { + "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": "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": "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": "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]{1,4}" + }, + { + "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": "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": "/" + } + ] + } + ] + } + } + }, + "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" + ], + [ + "type_qualifier", + "extension_expression" + ] + ], + "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/deps/tree-sitter-c/src/node-types.json b/deps/tree-sitter-c/src/node-types.json new file mode 100644 index 0000000..f007e49 --- /dev/null +++ b/deps/tree-sitter-c/src/node-types.json @@ -0,0 +1,4614 @@ +[ + { + "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": "extension_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": true, + "types": [ + { + "type": "character", + "named": true + }, + { + "type": "escape_sequence", + "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": "extension_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "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": "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": "expression", + "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": "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": "declaration", + "named": true + }, + { + "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": "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": "compound_statement", + "named": true + }, + { + "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": "compound_statement", + "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 + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "type_qualifier", + "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": "storage_class_specifier", + "named": true, + "fields": {} + }, + { + "type": "string_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "escape_sequence", + "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, + "root": 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_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": "_Nonnull", + "named": false + }, + { + "type": "_Noreturn", + "named": false + }, + { + "type": "__alignof", + "named": false + }, + { + "type": "__alignof__", + "named": false + }, + { + "type": "__asm", + "named": false + }, + { + "type": "__asm__", + "named": false + }, + { + "type": "__attribute", + "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": "__volatile__", + "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": "field_identifier", + "named": true + }, + { + "type": "for", + "named": false + }, + { + "type": "goto", + "named": false + }, + { + "type": "identifier", + "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": "number_literal", + "named": true + }, + { + "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": "statement_identifier", + "named": true + }, + { + "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": "type_identifier", + "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/deps/tree-sitter-c/src/parser.c b/deps/tree-sitter-c/src/parser.c new file mode 100644 index 0000000..4c5e0a9 --- /dev/null +++ b/deps/tree-sitter-c/src/parser.c @@ -0,0 +1,119615 @@ +#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 2023 +#define LARGE_STATE_COUNT 463 +#define SYMBOL_COUNT 360 +#define ALIAS_COUNT 3 +#define TOKEN_COUNT 161 +#define EXTERNAL_TOKEN_COUNT 0 +#define FIELD_COUNT 39 +#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___attribute = 47, + anon_sym_COLON_COLON = 48, + anon_sym_LBRACK_LBRACK = 49, + anon_sym_RBRACK_RBRACK = 50, + anon_sym___declspec = 51, + anon_sym___based = 52, + anon_sym___cdecl = 53, + anon_sym___clrcall = 54, + anon_sym___stdcall = 55, + anon_sym___fastcall = 56, + anon_sym___thiscall = 57, + anon_sym___vectorcall = 58, + sym_ms_restrict_modifier = 59, + sym_ms_unsigned_ptr_modifier = 60, + sym_ms_signed_ptr_modifier = 61, + anon_sym__unaligned = 62, + anon_sym___unaligned = 63, + anon_sym_LBRACE = 64, + anon_sym_RBRACE = 65, + anon_sym_signed = 66, + anon_sym_unsigned = 67, + anon_sym_long = 68, + anon_sym_short = 69, + anon_sym_LBRACK = 70, + anon_sym_static = 71, + anon_sym_RBRACK = 72, + anon_sym_EQ = 73, + anon_sym_auto = 74, + anon_sym_register = 75, + anon_sym_inline = 76, + anon_sym___inline = 77, + anon_sym___inline__ = 78, + anon_sym___forceinline = 79, + anon_sym_thread_local = 80, + anon_sym___thread = 81, + anon_sym_const = 82, + anon_sym_constexpr = 83, + anon_sym_volatile = 84, + anon_sym_restrict = 85, + anon_sym___restrict__ = 86, + anon_sym__Atomic = 87, + anon_sym__Noreturn = 88, + anon_sym_noreturn = 89, + anon_sym__Nonnull = 90, + anon_sym_alignas = 91, + anon_sym__Alignas = 92, + sym_primitive_type = 93, + anon_sym_enum = 94, + anon_sym_COLON = 95, + anon_sym_struct = 96, + anon_sym_union = 97, + anon_sym_if = 98, + anon_sym_else = 99, + anon_sym_switch = 100, + anon_sym_case = 101, + anon_sym_default = 102, + anon_sym_while = 103, + anon_sym_do = 104, + anon_sym_for = 105, + anon_sym_return = 106, + anon_sym_break = 107, + anon_sym_continue = 108, + anon_sym_goto = 109, + anon_sym___try = 110, + anon_sym___except = 111, + anon_sym___finally = 112, + anon_sym___leave = 113, + anon_sym_QMARK = 114, + anon_sym_STAR_EQ = 115, + anon_sym_SLASH_EQ = 116, + anon_sym_PERCENT_EQ = 117, + anon_sym_PLUS_EQ = 118, + anon_sym_DASH_EQ = 119, + anon_sym_LT_LT_EQ = 120, + anon_sym_GT_GT_EQ = 121, + anon_sym_AMP_EQ = 122, + anon_sym_CARET_EQ = 123, + anon_sym_PIPE_EQ = 124, + anon_sym_DASH_DASH = 125, + anon_sym_PLUS_PLUS = 126, + anon_sym_sizeof = 127, + anon_sym___alignof__ = 128, + anon_sym___alignof = 129, + anon_sym__alignof = 130, + anon_sym_alignof = 131, + anon_sym__Alignof = 132, + anon_sym_offsetof = 133, + anon_sym__Generic = 134, + anon_sym_asm = 135, + anon_sym___asm__ = 136, + anon_sym___asm = 137, + anon_sym___volatile__ = 138, + anon_sym_DOT = 139, + anon_sym_DASH_GT = 140, + sym_number_literal = 141, + anon_sym_L_SQUOTE = 142, + anon_sym_u_SQUOTE = 143, + anon_sym_U_SQUOTE = 144, + anon_sym_u8_SQUOTE = 145, + anon_sym_SQUOTE = 146, + aux_sym_char_literal_token1 = 147, + anon_sym_L_DQUOTE = 148, + anon_sym_u_DQUOTE = 149, + anon_sym_U_DQUOTE = 150, + anon_sym_u8_DQUOTE = 151, + anon_sym_DQUOTE = 152, + aux_sym_string_literal_token1 = 153, + sym_escape_sequence = 154, + sym_system_lib_string = 155, + sym_true = 156, + sym_false = 157, + anon_sym_NULL = 158, + anon_sym_nullptr = 159, + sym_comment = 160, + sym_translation_unit = 161, + sym__top_level_item = 162, + sym__block_item = 163, + sym_preproc_include = 164, + sym_preproc_def = 165, + sym_preproc_function_def = 166, + sym_preproc_params = 167, + sym_preproc_call = 168, + sym_preproc_if = 169, + sym_preproc_ifdef = 170, + sym_preproc_else = 171, + sym_preproc_elif = 172, + sym_preproc_elifdef = 173, + sym_preproc_if_in_field_declaration_list = 174, + sym_preproc_ifdef_in_field_declaration_list = 175, + sym_preproc_else_in_field_declaration_list = 176, + sym_preproc_elif_in_field_declaration_list = 177, + sym_preproc_elifdef_in_field_declaration_list = 178, + sym_preproc_if_in_enumerator_list = 179, + sym_preproc_ifdef_in_enumerator_list = 180, + sym_preproc_else_in_enumerator_list = 181, + sym_preproc_elif_in_enumerator_list = 182, + sym_preproc_elifdef_in_enumerator_list = 183, + sym_preproc_if_in_enumerator_list_no_comma = 184, + sym_preproc_ifdef_in_enumerator_list_no_comma = 185, + sym_preproc_else_in_enumerator_list_no_comma = 186, + sym_preproc_elif_in_enumerator_list_no_comma = 187, + sym_preproc_elifdef_in_enumerator_list_no_comma = 188, + sym__preproc_expression = 189, + sym_preproc_parenthesized_expression = 190, + sym_preproc_defined = 191, + sym_preproc_unary_expression = 192, + sym_preproc_call_expression = 193, + sym_preproc_argument_list = 194, + sym_preproc_binary_expression = 195, + sym_function_definition = 196, + sym__old_style_function_definition = 197, + sym_declaration = 198, + sym_type_definition = 199, + sym__type_definition_type = 200, + sym__type_definition_declarators = 201, + sym__declaration_modifiers = 202, + sym__declaration_specifiers = 203, + sym_linkage_specification = 204, + sym_attribute_specifier = 205, + sym_attribute = 206, + sym_attribute_declaration = 207, + sym_ms_declspec_modifier = 208, + sym_ms_based_modifier = 209, + sym_ms_call_modifier = 210, + sym_ms_unaligned_ptr_modifier = 211, + sym_ms_pointer_modifier = 212, + sym_declaration_list = 213, + sym__declarator = 214, + sym__declaration_declarator = 215, + sym__field_declarator = 216, + sym__type_declarator = 217, + sym__abstract_declarator = 218, + sym_parenthesized_declarator = 219, + sym_parenthesized_field_declarator = 220, + sym_parenthesized_type_declarator = 221, + sym_abstract_parenthesized_declarator = 222, + sym_attributed_declarator = 223, + sym_attributed_field_declarator = 224, + sym_attributed_type_declarator = 225, + sym_pointer_declarator = 226, + sym_pointer_field_declarator = 227, + sym_pointer_type_declarator = 228, + sym_abstract_pointer_declarator = 229, + sym_function_declarator = 230, + sym__function_declaration_declarator = 231, + sym_function_field_declarator = 232, + sym_function_type_declarator = 233, + sym_abstract_function_declarator = 234, + sym__old_style_function_declarator = 235, + sym_array_declarator = 236, + sym_array_field_declarator = 237, + sym_array_type_declarator = 238, + sym_abstract_array_declarator = 239, + sym_init_declarator = 240, + sym_compound_statement = 241, + sym_storage_class_specifier = 242, + sym_type_qualifier = 243, + sym_alignas_qualifier = 244, + sym_type_specifier = 245, + sym_sized_type_specifier = 246, + sym_enum_specifier = 247, + sym_enumerator_list = 248, + sym_struct_specifier = 249, + sym_union_specifier = 250, + sym_field_declaration_list = 251, + sym__field_declaration_list_item = 252, + sym_field_declaration = 253, + sym__field_declaration_declarator = 254, + sym_bitfield_clause = 255, + sym_enumerator = 256, + sym_variadic_parameter = 257, + sym_parameter_list = 258, + sym__old_style_parameter_list = 259, + sym_parameter_declaration = 260, + sym_attributed_statement = 261, + sym_statement = 262, + sym__top_level_statement = 263, + sym_labeled_statement = 264, + sym__top_level_expression_statement = 265, + sym_expression_statement = 266, + sym_if_statement = 267, + sym_else_clause = 268, + sym_switch_statement = 269, + sym_case_statement = 270, + sym_while_statement = 271, + sym_do_statement = 272, + sym_for_statement = 273, + sym__for_statement_body = 274, + sym_return_statement = 275, + sym_break_statement = 276, + sym_continue_statement = 277, + sym_goto_statement = 278, + sym_seh_try_statement = 279, + sym_seh_except_clause = 280, + sym_seh_finally_clause = 281, + sym_seh_leave_statement = 282, + sym_expression = 283, + sym__string = 284, + sym_comma_expression = 285, + sym_conditional_expression = 286, + sym_assignment_expression = 287, + sym_pointer_expression = 288, + sym_unary_expression = 289, + sym_binary_expression = 290, + sym_update_expression = 291, + sym_cast_expression = 292, + sym_type_descriptor = 293, + sym_sizeof_expression = 294, + sym_alignof_expression = 295, + sym_offsetof_expression = 296, + sym_generic_expression = 297, + sym_subscript_expression = 298, + sym_call_expression = 299, + sym_gnu_asm_expression = 300, + sym_gnu_asm_qualifier = 301, + sym_gnu_asm_output_operand_list = 302, + sym_gnu_asm_output_operand = 303, + sym_gnu_asm_input_operand_list = 304, + sym_gnu_asm_input_operand = 305, + sym_gnu_asm_clobber_list = 306, + sym_gnu_asm_goto_list = 307, + sym_extension_expression = 308, + sym_argument_list = 309, + sym_field_expression = 310, + sym_compound_literal_expression = 311, + sym_parenthesized_expression = 312, + sym_initializer_list = 313, + sym_initializer_pair = 314, + sym_subscript_designator = 315, + sym_subscript_range_designator = 316, + sym_field_designator = 317, + sym_char_literal = 318, + sym_concatenated_string = 319, + sym_string_literal = 320, + sym_null = 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___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__Nonnull] = "_Nonnull", + [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___asm] = "__asm", + [anon_sym___volatile__] = "__volatile__", + [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_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_extension_expression] = "extension_expression", + [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_char_literal] = "char_literal", + [sym_concatenated_string] = "concatenated_string", + [sym_string_literal] = "string_literal", + [sym_null] = "null", + [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___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__Nonnull] = anon_sym__Nonnull, + [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___asm] = anon_sym___asm, + [anon_sym___volatile__] = anon_sym___volatile__, + [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_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_extension_expression] = sym_extension_expression, + [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_char_literal] = sym_char_literal, + [sym_concatenated_string] = sym_concatenated_string, + [sym_string_literal] = sym_string_literal, + [sym_null] = sym_null, + [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 = true, + .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___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__Nonnull] = { + .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___asm] = { + .visible = true, + .named = false, + }, + [anon_sym___volatile__] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_GT] = { + .visible = true, + .named = false, + }, + [sym_number_literal] = { + .visible = true, + .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_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_extension_expression] = { + .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_char_literal] = { + .visible = true, + .named = true, + }, + [sym_concatenated_string] = { + .visible = true, + .named = true, + }, + [sym_string_literal] = { + .visible = true, + .named = true, + }, + [sym_null] = { + .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_index = 18, + field_initializer = 19, + field_input_operands = 20, + field_label = 21, + field_left = 22, + field_member = 23, + field_name = 24, + field_operand = 25, + field_operator = 26, + field_output_operands = 27, + field_parameters = 28, + field_path = 29, + field_prefix = 30, + field_register = 31, + field_right = 32, + field_size = 33, + field_start = 34, + field_symbol = 35, + field_type = 36, + field_underlying_type = 37, + field_update = 38, + field_value = 39, +}; + +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_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] = { + [2] = {.index = 0, .length = 3}, + [3] = {.index = 3, .length = 1}, + [4] = {.index = 4, .length = 1}, + [5] = {.index = 5, .length = 2}, + [6] = {.index = 7, .length = 1}, + [7] = {.index = 8, .length = 1}, + [8] = {.index = 9, .length = 1}, + [9] = {.index = 10, .length = 1}, + [10] = {.index = 3, .length = 1}, + [11] = {.index = 11, .length = 2}, + [12] = {.index = 13, .length = 2}, + [13] = {.index = 15, .length = 2}, + [14] = {.index = 17, .length = 1}, + [15] = {.index = 17, .length = 1}, + [16] = {.index = 18, .length = 1}, + [17] = {.index = 8, .length = 1}, + [18] = {.index = 19, .length = 2}, + [19] = {.index = 21, .length = 2}, + [20] = {.index = 23, .length = 1}, + [22] = {.index = 24, .length = 1}, + [23] = {.index = 25, .length = 2}, + [24] = {.index = 27, .length = 2}, + [25] = {.index = 29, .length = 1}, + [26] = {.index = 30, .length = 1}, + [27] = {.index = 31, .length = 2}, + [28] = {.index = 33, .length = 2}, + [29] = {.index = 35, .length = 1}, + [30] = {.index = 36, .length = 3}, + [31] = {.index = 39, .length = 1}, + [32] = {.index = 40, .length = 1}, + [33] = {.index = 41, .length = 3}, + [34] = {.index = 44, .length = 2}, + [35] = {.index = 46, .length = 2}, + [36] = {.index = 48, .length = 5}, + [37] = {.index = 53, .length = 3}, + [38] = {.index = 56, .length = 1}, + [39] = {.index = 56, .length = 1}, + [40] = {.index = 57, .length = 2}, + [41] = {.index = 59, .length = 2}, + [42] = {.index = 61, .length = 1}, + [43] = {.index = 62, .length = 2}, + [44] = {.index = 64, .length = 1}, + [45] = {.index = 65, .length = 2}, + [46] = {.index = 67, .length = 2}, + [47] = {.index = 69, .length = 2}, + [48] = {.index = 71, .length = 2}, + [49] = {.index = 73, .length = 2}, + [50] = {.index = 75, .length = 2}, + [51] = {.index = 77, .length = 2}, + [52] = {.index = 79, .length = 2}, + [54] = {.index = 81, .length = 2}, + [55] = {.index = 83, .length = 1}, + [56] = {.index = 84, .length = 1}, + [57] = {.index = 85, .length = 3}, + [58] = {.index = 88, .length = 1}, + [59] = {.index = 89, .length = 1}, + [60] = {.index = 90, .length = 2}, + [61] = {.index = 92, .length = 1}, + [62] = {.index = 93, .length = 3}, + [63] = {.index = 96, .length = 3}, + [64] = {.index = 99, .length = 2}, + [65] = {.index = 101, .length = 3}, + [66] = {.index = 104, .length = 2}, + [67] = {.index = 106, .length = 5}, + [68] = {.index = 111, .length = 3}, + [69] = {.index = 114, .length = 5}, + [70] = {.index = 119, .length = 2}, + [71] = {.index = 121, .length = 2}, + [72] = {.index = 123, .length = 3}, + [73] = {.index = 126, .length = 2}, + [74] = {.index = 128, .length = 2}, + [75] = {.index = 130, .length = 1}, + [76] = {.index = 131, .length = 2}, + [77] = {.index = 133, .length = 2}, + [78] = {.index = 135, .length = 2}, + [79] = {.index = 137, .length = 3}, + [80] = {.index = 140, .length = 2}, + [81] = {.index = 142, .length = 2}, + [82] = {.index = 144, .length = 2}, + [83] = {.index = 146, .length = 1}, + [84] = {.index = 147, .length = 2}, + [85] = {.index = 149, .length = 2}, + [86] = {.index = 151, .length = 4}, + [87] = {.index = 155, .length = 1}, + [88] = {.index = 156, .length = 2}, + [89] = {.index = 158, .length = 1}, + [90] = {.index = 159, .length = 1}, + [91] = {.index = 160, .length = 4}, + [92] = {.index = 164, .length = 4}, + [93] = {.index = 168, .length = 2}, + [94] = {.index = 170, .length = 2}, + [95] = {.index = 172, .length = 3}, + [96] = {.index = 175, .length = 5}, + [97] = {.index = 180, .length = 3}, + [98] = {.index = 183, .length = 2}, + [99] = {.index = 185, .length = 1}, + [101] = {.index = 186, .length = 2}, + [102] = {.index = 188, .length = 2}, + [103] = {.index = 190, .length = 2}, + [104] = {.index = 192, .length = 3}, + [105] = {.index = 195, .length = 2}, + [106] = {.index = 197, .length = 2}, + [107] = {.index = 199, .length = 2}, + [108] = {.index = 201, .length = 2}, + [109] = {.index = 203, .length = 3}, + [110] = {.index = 206, .length = 2}, + [111] = {.index = 208, .length = 1}, + [112] = {.index = 209, .length = 5}, + [113] = {.index = 214, .length = 2}, + [114] = {.index = 216, .length = 3}, + [115] = {.index = 219, .length = 2}, + [116] = {.index = 219, .length = 2}, + [117] = {.index = 221, .length = 3}, + [118] = {.index = 224, .length = 2}, + [119] = {.index = 226, .length = 1}, + [120] = {.index = 227, .length = 4}, + [121] = {.index = 231, .length = 3}, + [122] = {.index = 234, .length = 2}, + [123] = {.index = 236, .length = 2}, + [124] = {.index = 35, .length = 1}, + [125] = {.index = 238, .length = 5}, + [126] = {.index = 243, .length = 4}, + [127] = {.index = 247, .length = 2}, + [128] = {.index = 249, .length = 2}, + [129] = {.index = 251, .length = 2}, + [130] = {.index = 253, .length = 5}, + [131] = {.index = 258, .length = 2}, + [132] = {.index = 260, .length = 3}, +}; + +static const TSFieldMapEntry ts_field_map_entries[] = { + [0] = + {field_body, 0, .inherited = true}, + {field_declarator, 0, .inherited = true}, + {field_type, 0, .inherited = true}, + [3] = + {field_type, 0}, + [4] = + {field_directive, 0}, + [5] = + {field_argument, 1}, + {field_operator, 0}, + [7] = + {field_name, 0}, + [8] = + {field_name, 1}, + [9] = + {field_body, 1}, + [10] = + {field_value, 1}, + [11] = + {field_declarator, 0, .inherited = true}, + {field_parameters, 0, .inherited = true}, + [13] = + {field_argument, 0}, + {field_operator, 1}, + [15] = + {field_arguments, 1}, + {field_function, 0}, + [17] = + {field_type, 1}, + [18] = + {field_path, 1}, + [19] = + {field_argument, 1}, + {field_directive, 0}, + [21] = + {field_declarator, 1}, + {field_type, 0}, + [23] = + {field_parameters, 0}, + [24] = + {field_declarator, 0}, + [25] = + {field_body, 2}, + {field_value, 1}, + [27] = + {field_body, 2}, + {field_name, 1}, + [29] = + {field_name, 2}, + [30] = + {field_body, 2}, + [31] = + {field_condition, 1}, + {field_consequence, 2}, + [33] = + {field_body, 2}, + {field_condition, 1}, + [35] = + {field_label, 1}, + [36] = + {field_left, 0}, + {field_operator, 1}, + {field_right, 2}, + [39] = + {field_label, 0}, + [40] = + {field_declarator, 1}, + [41] = + {field_body, 2}, + {field_declarator, 1}, + {field_type, 0, .inherited = true}, + [44] = + {field_declarator, 0}, + {field_parameters, 1}, + [46] = + {field_declarator, 1}, + {field_type, 0, .inherited = true}, + [48] = + {field_body, 2}, + {field_declarator, 1}, + {field_declarator, 1, .inherited = true}, + {field_parameters, 1, .inherited = true}, + {field_type, 0, .inherited = true}, + [53] = + {field_argument, 0}, + {field_field, 2}, + {field_operator, 1}, + [56] = + {field_type, 2}, + [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}, + {field_name, 2}, + [83] = + {field_name, 3}, + [84] = + {field_body, 3}, + [85] = + {field_alternative, 3}, + {field_condition, 1}, + {field_consequence, 2}, + [88] = + {field_initializer, 0}, + [89] = + {field_assembly_code, 2}, + [90] = + {field_name, 0}, + {field_type, 2}, + [92] = + {field_declarator, 2}, + [93] = + {field_body, 3}, + {field_declarator, 2}, + {field_type, 0, .inherited = true}, + [96] = + {field_declarator, 1}, + {field_declarator, 2}, + {field_type, 0, .inherited = true}, + [99] = + {field_declarator, 0}, + {field_value, 2}, + [101] = + {field_declarator, 1}, + {field_declarator, 2, .inherited = true}, + {field_type, 0, .inherited = true}, + [104] = + {field_declarator, 0, .inherited = true}, + {field_declarator, 1, .inherited = true}, + [106] = + {field_body, 3}, + {field_declarator, 1}, + {field_declarator, 1, .inherited = true}, + {field_parameters, 1, .inherited = true}, + {field_type, 0, .inherited = true}, + [111] = + {field_body, 3}, + {field_declarator, 2}, + {field_type, 1, .inherited = true}, + [114] = + {field_body, 3}, + {field_declarator, 2}, + {field_declarator, 2, .inherited = true}, + {field_parameters, 2, .inherited = true}, + {field_type, 1, .inherited = true}, + [119] = + {field_argument, 0}, + {field_index, 2}, + [121] = + {field_alternative, 3}, + {field_condition, 0}, + [123] = + {field_name, 1}, + {field_parameters, 2}, + {field_value, 3}, + [126] = + {field_alternative, 3}, + {field_condition, 1}, + [128] = + {field_alternative, 3}, + {field_name, 1}, + [130] = + {field_size, 1}, + [131] = + {field_declarator, 3}, + {field_type, 1}, + [133] = + {field_declarator, 3, .inherited = true}, + {field_type, 2, .inherited = true}, + [135] = + {field_name, 0}, + {field_value, 2}, + [137] = + {field_body, 4}, + {field_name, 1}, + {field_underlying_type, 3}, + [140] = + {field_declarator, 1, .inherited = true}, + {field_type, 0, .inherited = true}, + [142] = + {field_body, 4}, + {field_name, 3}, + [144] = + {field_body, 1}, + {field_condition, 3}, + [146] = + {field_update, 2}, + [147] = + {field_initializer, 0}, + {field_update, 2}, + [149] = + {field_condition, 1}, + {field_initializer, 0}, + [151] = + {field_body, 4}, + {field_condition, 2, .inherited = true}, + {field_initializer, 2, .inherited = true}, + {field_update, 2, .inherited = true}, + [155] = + {field_operand, 1}, + [156] = + {field_assembly_code, 2}, + {field_output_operands, 3}, + [158] = + {field_assembly_code, 3}, + [159] = + {field_declarator, 3}, + [160] = + {field_declarator, 1}, + {field_declarator, 2}, + {field_declarator, 3}, + {field_type, 0, .inherited = true}, + [164] = + {field_declarator, 1}, + {field_declarator, 2}, + {field_declarator, 3, .inherited = true}, + {field_type, 0, .inherited = true}, + [168] = + {field_declarator, 0}, + {field_size, 2}, + [170] = + {field_declarator, 1}, + {field_declarator, 2}, + [172] = + {field_body, 4}, + {field_declarator, 3}, + {field_type, 1, .inherited = true}, + [175] = + {field_body, 4}, + {field_declarator, 2}, + {field_declarator, 2, .inherited = true}, + {field_parameters, 2, .inherited = true}, + {field_type, 1, .inherited = true}, + [180] = + {field_alternative, 4}, + {field_condition, 0}, + {field_consequence, 2}, + [183] = + {field_alternative, 4}, + {field_condition, 1}, + [185] = + {field_size, 2}, + [186] = + {field_body, 2}, + {field_filter, 1}, + [188] = + {field_declarator, 0}, + {field_declarator, 2, .inherited = true}, + [190] = + {field_condition, 1}, + {field_update, 3}, + [192] = + {field_condition, 1}, + {field_initializer, 0}, + {field_update, 3}, + [195] = + {field_initializer, 0}, + {field_update, 3}, + [197] = + {field_condition, 2}, + {field_initializer, 0}, + [199] = + {field_member, 4}, + {field_type, 2}, + [201] = + {field_operand, 1}, + {field_operand, 2, .inherited = true}, + [203] = + {field_assembly_code, 2}, + {field_input_operands, 4}, + {field_output_operands, 3}, + [206] = + {field_assembly_code, 3}, + {field_output_operands, 4}, + [208] = + {field_declarator, 4}, + [209] = + {field_declarator, 1}, + {field_declarator, 2}, + {field_declarator, 3}, + {field_declarator, 4, .inherited = true}, + {field_type, 0, .inherited = true}, + [214] = + {field_declarator, 0}, + {field_size, 3}, + [216] = + {field_declarator, 1}, + {field_declarator, 2}, + {field_declarator, 3}, + [219] = + {field_designator, 0}, + {field_value, 2}, + [221] = + {field_condition, 2}, + {field_initializer, 0}, + {field_update, 4}, + [224] = + {field_operand, 0, .inherited = true}, + {field_operand, 1, .inherited = true}, + [226] = + {field_register, 1}, + [227] = + {field_assembly_code, 2}, + {field_clobbers, 5}, + {field_input_operands, 4}, + {field_output_operands, 3}, + [231] = + {field_assembly_code, 3}, + {field_input_operands, 5}, + {field_output_operands, 4}, + [234] = + {field_constraint, 0}, + {field_value, 2}, + [236] = + {field_register, 1}, + {field_register, 2, .inherited = true}, + [238] = + {field_assembly_code, 2}, + {field_clobbers, 5}, + {field_goto_labels, 6}, + {field_input_operands, 4}, + {field_output_operands, 3}, + [243] = + {field_assembly_code, 3}, + {field_clobbers, 6}, + {field_input_operands, 5}, + {field_output_operands, 4}, + [247] = + {field_end, 3}, + {field_start, 1}, + [249] = + {field_register, 0, .inherited = true}, + {field_register, 1, .inherited = true}, + [251] = + {field_label, 1}, + {field_label, 2, .inherited = true}, + [253] = + {field_assembly_code, 3}, + {field_clobbers, 6}, + {field_goto_labels, 7}, + {field_input_operands, 5}, + {field_output_operands, 4}, + [258] = + {field_label, 0, .inherited = true}, + {field_label, 1, .inherited = true}, + [260] = + {field_constraint, 3}, + {field_symbol, 1}, + {field_value, 5}, +}; + +static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { + [0] = {0}, + [1] = { + [0] = alias_sym_type_identifier, + }, + [7] = { + [1] = alias_sym_type_identifier, + }, + [10] = { + [0] = alias_sym_type_identifier, + }, + [15] = { + [1] = alias_sym_type_identifier, + }, + [21] = { + [0] = sym_primitive_type, + }, + [24] = { + [1] = alias_sym_type_identifier, + }, + [25] = { + [2] = alias_sym_type_identifier, + }, + [29] = { + [1] = alias_sym_statement_identifier, + }, + [31] = { + [0] = alias_sym_statement_identifier, + }, + [37] = { + [2] = alias_sym_field_identifier, + }, + [39] = { + [2] = alias_sym_type_identifier, + }, + [52] = { + [1] = alias_sym_type_identifier, + }, + [53] = { + [0] = alias_sym_field_identifier, + }, + [54] = { + [2] = alias_sym_type_identifier, + }, + [55] = { + [3] = 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[] = { + 0, +}; + +static const TSStateId ts_primary_state_ids[STATE_COUNT] = { + [0] = 0, + [1] = 1, + [2] = 2, + [3] = 3, + [4] = 4, + [5] = 5, + [6] = 6, + [7] = 7, + [8] = 8, + [9] = 9, + [10] = 2, + [11] = 4, + [12] = 3, + [13] = 5, + [14] = 2, + [15] = 4, + [16] = 3, + [17] = 5, + [18] = 2, + [19] = 4, + [20] = 3, + [21] = 5, + [22] = 22, + [23] = 23, + [24] = 22, + [25] = 23, + [26] = 26, + [27] = 27, + [28] = 27, + [29] = 29, + [30] = 30, + [31] = 27, + [32] = 29, + [33] = 23, + [34] = 30, + [35] = 35, + [36] = 30, + [37] = 30, + [38] = 29, + [39] = 23, + [40] = 22, + [41] = 27, + [42] = 29, + [43] = 43, + [44] = 44, + [45] = 45, + [46] = 46, + [47] = 47, + [48] = 48, + [49] = 49, + [50] = 48, + [51] = 46, + [52] = 46, + [53] = 47, + [54] = 45, + [55] = 48, + [56] = 49, + [57] = 45, + [58] = 46, + [59] = 48, + [60] = 47, + [61] = 49, + [62] = 45, + [63] = 47, + [64] = 49, + [65] = 65, + [66] = 65, + [67] = 46, + [68] = 65, + [69] = 45, + [70] = 48, + [71] = 47, + [72] = 49, + [73] = 65, + [74] = 65, + [75] = 75, + [76] = 75, + [77] = 75, + [78] = 75, + [79] = 75, + [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] = 99, + [100] = 100, + [101] = 101, + [102] = 102, + [103] = 103, + [104] = 104, + [105] = 105, + [106] = 106, + [107] = 107, + [108] = 108, + [109] = 109, + [110] = 110, + [111] = 111, + [112] = 112, + [113] = 113, + [114] = 114, + [115] = 109, + [116] = 116, + [117] = 106, + [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] = 145, + [146] = 146, + [147] = 147, + [148] = 80, + [149] = 80, + [150] = 80, + [151] = 91, + [152] = 101, + [153] = 102, + [154] = 103, + [155] = 104, + [156] = 105, + [157] = 109, + [158] = 98, + [159] = 110, + [160] = 99, + [161] = 111, + [162] = 100, + [163] = 111, + [164] = 112, + [165] = 113, + [166] = 101, + [167] = 114, + [168] = 118, + [169] = 108, + [170] = 106, + [171] = 102, + [172] = 97, + [173] = 116, + [174] = 103, + [175] = 118, + [176] = 104, + [177] = 82, + [178] = 107, + [179] = 109, + [180] = 110, + [181] = 108, + [182] = 111, + [183] = 112, + [184] = 113, + [185] = 114, + [186] = 118, + [187] = 108, + [188] = 106, + [189] = 83, + [190] = 116, + [191] = 84, + [192] = 85, + [193] = 82, + [194] = 83, + [195] = 84, + [196] = 85, + [197] = 88, + [198] = 89, + [199] = 90, + [200] = 86, + [201] = 87, + [202] = 95, + [203] = 96, + [204] = 81, + [205] = 97, + [206] = 98, + [207] = 81, + [208] = 103, + [209] = 104, + [210] = 86, + [211] = 87, + [212] = 91, + [213] = 92, + [214] = 93, + [215] = 94, + [216] = 100, + [217] = 101, + [218] = 102, + [219] = 105, + [220] = 116, + [221] = 88, + [222] = 89, + [223] = 90, + [224] = 82, + [225] = 83, + [226] = 84, + [227] = 85, + [228] = 86, + [229] = 105, + [230] = 107, + [231] = 91, + [232] = 92, + [233] = 93, + [234] = 94, + [235] = 87, + [236] = 113, + [237] = 95, + [238] = 96, + [239] = 81, + [240] = 88, + [241] = 114, + [242] = 89, + [243] = 90, + [244] = 97, + [245] = 112, + [246] = 96, + [247] = 92, + [248] = 93, + [249] = 94, + [250] = 110, + [251] = 107, + [252] = 98, + [253] = 99, + [254] = 100, + [255] = 95, + [256] = 99, + [257] = 145, + [258] = 141, + [259] = 142, + [260] = 144, + [261] = 145, + [262] = 143, + [263] = 146, + [264] = 137, + [265] = 147, + [266] = 121, + [267] = 122, + [268] = 126, + [269] = 128, + [270] = 138, + [271] = 129, + [272] = 119, + [273] = 273, + [274] = 120, + [275] = 127, + [276] = 130, + [277] = 132, + [278] = 133, + [279] = 134, + [280] = 135, + [281] = 136, + [282] = 140, + [283] = 123, + [284] = 124, + [285] = 131, + [286] = 129, + [287] = 119, + [288] = 139, + [289] = 141, + [290] = 144, + [291] = 143, + [292] = 146, + [293] = 137, + [294] = 122, + [295] = 126, + [296] = 128, + [297] = 138, + [298] = 120, + [299] = 127, + [300] = 130, + [301] = 132, + [302] = 134, + [303] = 135, + [304] = 136, + [305] = 140, + [306] = 123, + [307] = 124, + [308] = 125, + [309] = 131, + [310] = 142, + [311] = 145, + [312] = 147, + [313] = 121, + [314] = 133, + [315] = 131, + [316] = 139, + [317] = 125, + [318] = 273, + [319] = 319, + [320] = 146, + [321] = 137, + [322] = 322, + [323] = 123, + [324] = 124, + [325] = 125, + [326] = 143, + [327] = 327, + [328] = 328, + [329] = 147, + [330] = 121, + [331] = 331, + [332] = 122, + [333] = 333, + [334] = 334, + [335] = 126, + [336] = 128, + [337] = 138, + [338] = 338, + [339] = 327, + [340] = 340, + [341] = 322, + [342] = 120, + [343] = 127, + [344] = 130, + [345] = 132, + [346] = 133, + [347] = 134, + [348] = 135, + [349] = 349, + [350] = 328, + [351] = 334, + [352] = 333, + [353] = 327, + [354] = 322, + [355] = 334, + [356] = 333, + [357] = 139, + [358] = 327, + [359] = 322, + [360] = 136, + [361] = 349, + [362] = 362, + [363] = 328, + [364] = 334, + [365] = 333, + [366] = 333, + [367] = 141, + [368] = 328, + [369] = 142, + [370] = 327, + [371] = 322, + [372] = 334, + [373] = 349, + [374] = 144, + [375] = 349, + [376] = 331, + [377] = 140, + [378] = 349, + [379] = 331, + [380] = 331, + [381] = 328, + [382] = 382, + [383] = 382, + [384] = 382, + [385] = 382, + [386] = 386, + [387] = 387, + [388] = 388, + [389] = 387, + [390] = 273, + [391] = 386, + [392] = 386, + [393] = 387, + [394] = 386, + [395] = 387, + [396] = 386, + [397] = 387, + [398] = 387, + [399] = 386, + [400] = 400, + [401] = 400, + [402] = 402, + [403] = 403, + [404] = 273, + [405] = 273, + [406] = 80, + [407] = 407, + [408] = 408, + [409] = 408, + [410] = 408, + [411] = 408, + [412] = 408, + [413] = 408, + [414] = 408, + [415] = 408, + [416] = 416, + [417] = 273, + [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] = 388, + [431] = 431, + [432] = 432, + [433] = 433, + [434] = 434, + [435] = 435, + [436] = 436, + [437] = 432, + [438] = 438, + [439] = 436, + [440] = 434, + [441] = 441, + [442] = 432, + [443] = 438, + [444] = 436, + [445] = 434, + [446] = 438, + [447] = 447, + [448] = 448, + [449] = 449, + [450] = 450, + [451] = 451, + [452] = 452, + [453] = 453, + [454] = 454, + [455] = 455, + [456] = 452, + [457] = 452, + [458] = 458, + [459] = 459, + [460] = 460, + [461] = 460, + [462] = 459, + [463] = 463, + [464] = 464, + [465] = 465, + [466] = 466, + [467] = 467, + [468] = 468, + [469] = 466, + [470] = 466, + [471] = 464, + [472] = 472, + [473] = 473, + [474] = 474, + [475] = 475, + [476] = 476, + [477] = 477, + [478] = 476, + [479] = 466, + [480] = 464, + [481] = 476, + [482] = 466, + [483] = 464, + [484] = 476, + [485] = 485, + [486] = 486, + [487] = 487, + [488] = 466, + [489] = 476, + [490] = 476, + [491] = 491, + [492] = 492, + [493] = 493, + [494] = 494, + [495] = 495, + [496] = 496, + [497] = 497, + [498] = 498, + [499] = 497, + [500] = 500, + [501] = 501, + [502] = 502, + [503] = 497, + [504] = 504, + [505] = 505, + [506] = 497, + [507] = 507, + [508] = 508, + [509] = 509, + [510] = 510, + [511] = 511, + [512] = 512, + [513] = 513, + [514] = 514, + [515] = 508, + [516] = 510, + [517] = 517, + [518] = 518, + [519] = 519, + [520] = 512, + [521] = 521, + [522] = 514, + [523] = 513, + [524] = 518, + [525] = 519, + [526] = 526, + [527] = 527, + [528] = 528, + [529] = 529, + [530] = 509, + [531] = 531, + [532] = 532, + [533] = 531, + [534] = 534, + [535] = 531, + [536] = 510, + [537] = 513, + [538] = 518, + [539] = 539, + [540] = 540, + [541] = 508, + [542] = 542, + [543] = 543, + [544] = 526, + [545] = 545, + [546] = 546, + [547] = 547, + [548] = 519, + [549] = 545, + [550] = 416, + [551] = 526, + [552] = 547, + [553] = 527, + [554] = 514, + [555] = 528, + [556] = 529, + [557] = 557, + [558] = 513, + [559] = 510, + [560] = 543, + [561] = 545, + [562] = 546, + [563] = 527, + [564] = 547, + [565] = 529, + [566] = 566, + [567] = 567, + [568] = 509, + [569] = 528, + [570] = 514, + [571] = 513, + [572] = 532, + [573] = 509, + [574] = 518, + [575] = 543, + [576] = 566, + [577] = 514, + [578] = 513, + [579] = 518, + [580] = 519, + [581] = 526, + [582] = 527, + [583] = 528, + [584] = 529, + [585] = 509, + [586] = 531, + [587] = 587, + [588] = 531, + [589] = 510, + [590] = 508, + [591] = 514, + [592] = 518, + [593] = 519, + [594] = 526, + [595] = 527, + [596] = 528, + [597] = 529, + [598] = 509, + [599] = 531, + [600] = 510, + [601] = 508, + [602] = 543, + [603] = 545, + [604] = 546, + [605] = 547, + [606] = 529, + [607] = 545, + [608] = 546, + [609] = 532, + [610] = 519, + [611] = 546, + [612] = 612, + [613] = 532, + [614] = 547, + [615] = 532, + [616] = 543, + [617] = 587, + [618] = 545, + [619] = 546, + [620] = 547, + [621] = 526, + [622] = 527, + [623] = 528, + [624] = 508, + [625] = 543, + [626] = 566, + [627] = 587, + [628] = 628, + [629] = 629, + [630] = 630, + [631] = 631, + [632] = 632, + [633] = 633, + [634] = 634, + [635] = 635, + [636] = 636, + [637] = 637, + [638] = 638, + [639] = 639, + [640] = 640, + [641] = 641, + [642] = 642, + [643] = 643, + [644] = 644, + [645] = 645, + [646] = 646, + [647] = 647, + [648] = 648, + [649] = 649, + [650] = 647, + [651] = 651, + [652] = 649, + [653] = 649, + [654] = 647, + [655] = 648, + [656] = 651, + [657] = 647, + [658] = 649, + [659] = 648, + [660] = 651, + [661] = 651, + [662] = 648, + [663] = 663, + [664] = 664, + [665] = 665, + [666] = 666, + [667] = 667, + [668] = 402, + [669] = 669, + [670] = 403, + [671] = 669, + [672] = 672, + [673] = 673, + [674] = 674, + [675] = 675, + [676] = 676, + [677] = 677, + [678] = 678, + [679] = 679, + [680] = 680, + [681] = 681, + [682] = 682, + [683] = 675, + [684] = 684, + [685] = 685, + [686] = 686, + [687] = 687, + [688] = 688, + [689] = 689, + [690] = 690, + [691] = 674, + [692] = 692, + [693] = 693, + [694] = 674, + [695] = 675, + [696] = 675, + [697] = 674, + [698] = 698, + [699] = 699, + [700] = 700, + [701] = 701, + [702] = 702, + [703] = 703, + [704] = 704, + [705] = 705, + [706] = 706, + [707] = 707, + [708] = 708, + [709] = 709, + [710] = 710, + [711] = 711, + [712] = 712, + [713] = 713, + [714] = 673, + [715] = 715, + [716] = 699, + [717] = 717, + [718] = 631, + [719] = 631, + [720] = 703, + [721] = 721, + [722] = 722, + [723] = 723, + [724] = 724, + [725] = 725, + [726] = 402, + [727] = 727, + [728] = 728, + [729] = 729, + [730] = 403, + [731] = 731, + [732] = 732, + [733] = 733, + [734] = 734, + [735] = 735, + [736] = 736, + [737] = 737, + [738] = 738, + [739] = 739, + [740] = 740, + [741] = 741, + [742] = 742, + [743] = 743, + [744] = 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] = 788, + [793] = 793, + [794] = 794, + [795] = 795, + [796] = 788, + [797] = 797, + [798] = 793, + [799] = 788, + [800] = 793, + [801] = 801, + [802] = 131, + [803] = 142, + [804] = 788, + [805] = 145, + [806] = 147, + [807] = 121, + [808] = 133, + [809] = 809, + [810] = 810, + [811] = 811, + [812] = 793, + [813] = 813, + [814] = 814, + [815] = 815, + [816] = 816, + [817] = 817, + [818] = 818, + [819] = 819, + [820] = 820, + [821] = 821, + [822] = 822, + [823] = 823, + [824] = 821, + [825] = 825, + [826] = 826, + [827] = 827, + [828] = 827, + [829] = 815, + [830] = 816, + [831] = 820, + [832] = 813, + [833] = 817, + [834] = 834, + [835] = 819, + [836] = 826, + [837] = 825, + [838] = 834, + [839] = 839, + [840] = 631, + [841] = 823, + [842] = 839, + [843] = 682, + [844] = 844, + [845] = 682, + [846] = 642, + [847] = 797, + [848] = 783, + [849] = 638, + [850] = 850, + [851] = 147, + [852] = 121, + [853] = 853, + [854] = 810, + [855] = 811, + [856] = 784, + [857] = 133, + [858] = 809, + [859] = 131, + [860] = 786, + [861] = 795, + [862] = 794, + [863] = 131, + [864] = 787, + [865] = 142, + [866] = 145, + [867] = 795, + [868] = 850, + [869] = 850, + [870] = 809, + [871] = 121, + [872] = 785, + [873] = 786, + [874] = 133, + [875] = 785, + [876] = 876, + [877] = 810, + [878] = 850, + [879] = 879, + [880] = 787, + [881] = 789, + [882] = 811, + [883] = 790, + [884] = 791, + [885] = 794, + [886] = 142, + [887] = 789, + [888] = 784, + [889] = 145, + [890] = 790, + [891] = 791, + [892] = 147, + [893] = 893, + [894] = 894, + [895] = 702, + [896] = 700, + [897] = 897, + [898] = 823, + [899] = 821, + [900] = 825, + [901] = 826, + [902] = 839, + [903] = 827, + [904] = 815, + [905] = 816, + [906] = 820, + [907] = 813, + [908] = 908, + [909] = 817, + [910] = 834, + [911] = 819, + [912] = 708, + [913] = 707, + [914] = 704, + [915] = 705, + [916] = 916, + [917] = 917, + [918] = 86, + [919] = 94, + [920] = 100, + [921] = 101, + [922] = 102, + [923] = 923, + [924] = 105, + [925] = 706, + [926] = 87, + [927] = 709, + [928] = 91, + [929] = 92, + [930] = 93, + [931] = 701, + [932] = 682, + [933] = 933, + [934] = 934, + [935] = 935, + [936] = 936, + [937] = 92, + [938] = 93, + [939] = 94, + [940] = 940, + [941] = 100, + [942] = 101, + [943] = 102, + [944] = 105, + [945] = 945, + [946] = 946, + [947] = 87, + [948] = 91, + [949] = 86, + [950] = 950, + [951] = 951, + [952] = 952, + [953] = 934, + [954] = 954, + [955] = 955, + [956] = 956, + [957] = 936, + [958] = 955, + [959] = 959, + [960] = 960, + [961] = 961, + [962] = 962, + [963] = 954, + [964] = 956, + [965] = 965, + [966] = 960, + [967] = 816, + [968] = 968, + [969] = 819, + [970] = 823, + [971] = 821, + [972] = 825, + [973] = 826, + [974] = 839, + [975] = 827, + [976] = 815, + [977] = 816, + [978] = 820, + [979] = 813, + [980] = 817, + [981] = 834, + [982] = 834, + [983] = 821, + [984] = 825, + [985] = 826, + [986] = 839, + [987] = 819, + [988] = 827, + [989] = 815, + [990] = 823, + [991] = 820, + [992] = 813, + [993] = 817, + [994] = 994, + [995] = 994, + [996] = 996, + [997] = 997, + [998] = 998, + [999] = 999, + [1000] = 1000, + [1001] = 1001, + [1002] = 1002, + [1003] = 1003, + [1004] = 1004, + [1005] = 1005, + [1006] = 994, + [1007] = 1007, + [1008] = 1001, + [1009] = 1001, + [1010] = 994, + [1011] = 1001, + [1012] = 1012, + [1013] = 1013, + [1014] = 1014, + [1015] = 1014, + [1016] = 1016, + [1017] = 1017, + [1018] = 1018, + [1019] = 1019, + [1020] = 818, + [1021] = 1021, + [1022] = 844, + [1023] = 1023, + [1024] = 1024, + [1025] = 1025, + [1026] = 1024, + [1027] = 1027, + [1028] = 1028, + [1029] = 823, + [1030] = 821, + [1031] = 825, + [1032] = 826, + [1033] = 839, + [1034] = 827, + [1035] = 815, + [1036] = 816, + [1037] = 820, + [1038] = 813, + [1039] = 1039, + [1040] = 817, + [1041] = 1039, + [1042] = 834, + [1043] = 1043, + [1044] = 879, + [1045] = 1045, + [1046] = 1046, + [1047] = 1047, + [1048] = 1048, + [1049] = 1049, + [1050] = 1050, + [1051] = 1051, + [1052] = 1049, + [1053] = 1053, + [1054] = 1054, + [1055] = 1050, + [1056] = 1050, + [1057] = 1057, + [1058] = 1058, + [1059] = 1059, + [1060] = 819, + [1061] = 1061, + [1062] = 876, + [1063] = 722, + [1064] = 1064, + [1065] = 1039, + [1066] = 1066, + [1067] = 968, + [1068] = 1068, + [1069] = 853, + [1070] = 1039, + [1071] = 1049, + [1072] = 1053, + [1073] = 1039, + [1074] = 1049, + [1075] = 1050, + [1076] = 713, + [1077] = 1077, + [1078] = 1039, + [1079] = 1079, + [1080] = 1080, + [1081] = 1081, + [1082] = 1082, + [1083] = 1079, + [1084] = 1084, + [1085] = 1085, + [1086] = 1086, + [1087] = 1087, + [1088] = 1088, + [1089] = 1089, + [1090] = 1079, + [1091] = 1091, + [1092] = 1092, + [1093] = 1093, + [1094] = 1094, + [1095] = 1095, + [1096] = 1096, + [1097] = 1079, + [1098] = 1098, + [1099] = 1099, + [1100] = 1100, + [1101] = 1101, + [1102] = 1102, + [1103] = 1103, + [1104] = 1104, + [1105] = 1105, + [1106] = 1106, + [1107] = 1105, + [1108] = 1079, + [1109] = 1109, + [1110] = 1110, + [1111] = 1111, + [1112] = 1112, + [1113] = 1111, + [1114] = 1114, + [1115] = 1114, + [1116] = 1116, + [1117] = 1112, + [1118] = 1118, + [1119] = 1119, + [1120] = 713, + [1121] = 749, + [1122] = 722, + [1123] = 1123, + [1124] = 1124, + [1125] = 1125, + [1126] = 1126, + [1127] = 1127, + [1128] = 1128, + [1129] = 768, + [1130] = 750, + [1131] = 751, + [1132] = 752, + [1133] = 753, + [1134] = 754, + [1135] = 747, + [1136] = 1136, + [1137] = 1136, + [1138] = 1136, + [1139] = 1136, + [1140] = 770, + [1141] = 771, + [1142] = 755, + [1143] = 749, + [1144] = 766, + [1145] = 1145, + [1146] = 745, + [1147] = 756, + [1148] = 1148, + [1149] = 1149, + [1150] = 1150, + [1151] = 1150, + [1152] = 1149, + [1153] = 1148, + [1154] = 1149, + [1155] = 818, + [1156] = 1156, + [1157] = 1150, + [1158] = 1149, + [1159] = 1149, + [1160] = 1149, + [1161] = 1161, + [1162] = 1148, + [1163] = 1161, + [1164] = 1161, + [1165] = 1148, + [1166] = 1145, + [1167] = 1167, + [1168] = 684, + [1169] = 1169, + [1170] = 1170, + [1171] = 1171, + [1172] = 1172, + [1173] = 1173, + [1174] = 1174, + [1175] = 1175, + [1176] = 1176, + [1177] = 1177, + [1178] = 1178, + [1179] = 1179, + [1180] = 1180, + [1181] = 1181, + [1182] = 1182, + [1183] = 1183, + [1184] = 1184, + [1185] = 1185, + [1186] = 1186, + [1187] = 1187, + [1188] = 1186, + [1189] = 1189, + [1190] = 1190, + [1191] = 1177, + [1192] = 1192, + [1193] = 1193, + [1194] = 1194, + [1195] = 1192, + [1196] = 1183, + [1197] = 1197, + [1198] = 1198, + [1199] = 1199, + [1200] = 1200, + [1201] = 1167, + [1202] = 1202, + [1203] = 1173, + [1204] = 1200, + [1205] = 1205, + [1206] = 1194, + [1207] = 1197, + [1208] = 1208, + [1209] = 1198, + [1210] = 1200, + [1211] = 1194, + [1212] = 1208, + [1213] = 1213, + [1214] = 1214, + [1215] = 1215, + [1216] = 1170, + [1217] = 1181, + [1218] = 1218, + [1219] = 1214, + [1220] = 1220, + [1221] = 1194, + [1222] = 1222, + [1223] = 1169, + [1224] = 1171, + [1225] = 1178, + [1226] = 1182, + [1227] = 1184, + [1228] = 1187, + [1229] = 1189, + [1230] = 1202, + [1231] = 1205, + [1232] = 1232, + [1233] = 1222, + [1234] = 1218, + [1235] = 1235, + [1236] = 1176, + [1237] = 1237, + [1238] = 1220, + [1239] = 1239, + [1240] = 1012, + [1241] = 1241, + [1242] = 1242, + [1243] = 684, + [1244] = 1004, + [1245] = 1190, + [1246] = 1246, + [1247] = 1000, + [1248] = 1237, + [1249] = 999, + [1250] = 1250, + [1251] = 1251, + [1252] = 1246, + [1253] = 1253, + [1254] = 1237, + [1255] = 1246, + [1256] = 1213, + [1257] = 1253, + [1258] = 1237, + [1259] = 1246, + [1260] = 1253, + [1261] = 1261, + [1262] = 1261, + [1263] = 1263, + [1264] = 1264, + [1265] = 1265, + [1266] = 1266, + [1267] = 1261, + [1268] = 1268, + [1269] = 1261, + [1270] = 1270, + [1271] = 1271, + [1272] = 1272, + [1273] = 1273, + [1274] = 1274, + [1275] = 1275, + [1276] = 1274, + [1277] = 1274, + [1278] = 1274, + [1279] = 1271, + [1280] = 1271, + [1281] = 1281, + [1282] = 1271, + [1283] = 1283, + [1284] = 1283, + [1285] = 1285, + [1286] = 1283, + [1287] = 1287, + [1288] = 1288, + [1289] = 1289, + [1290] = 1290, + [1291] = 1291, + [1292] = 1292, + [1293] = 1293, + [1294] = 1294, + [1295] = 1295, + [1296] = 1263, + [1297] = 1297, + [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] = 1306, + [1311] = 1311, + [1312] = 1307, + [1313] = 1313, + [1314] = 1314, + [1315] = 1315, + [1316] = 1306, + [1317] = 1317, + [1318] = 1307, + [1319] = 1306, + [1320] = 1307, + [1321] = 1321, + [1322] = 1307, + [1323] = 1307, + [1324] = 1324, + [1325] = 1325, + [1326] = 1326, + [1327] = 1327, + [1328] = 1328, + [1329] = 1329, + [1330] = 1330, + [1331] = 1331, + [1332] = 1332, + [1333] = 1273, + [1334] = 1334, + [1335] = 1335, + [1336] = 1336, + [1337] = 1337, + [1338] = 1338, + [1339] = 1281, + [1340] = 1340, + [1341] = 1341, + [1342] = 1342, + [1343] = 1343, + [1344] = 1344, + [1345] = 1345, + [1346] = 1346, + [1347] = 1347, + [1348] = 1348, + [1349] = 1349, + [1350] = 1350, + [1351] = 1275, + [1352] = 1352, + [1353] = 1353, + [1354] = 1349, + [1355] = 1349, + [1356] = 1356, + [1357] = 1357, + [1358] = 1349, + [1359] = 1359, + [1360] = 1360, + [1361] = 1361, + [1362] = 1362, + [1363] = 1363, + [1364] = 1364, + [1365] = 1365, + [1366] = 1366, + [1367] = 1367, + [1368] = 1302, + [1369] = 1299, + [1370] = 1301, + [1371] = 1300, + [1372] = 1372, + [1373] = 1365, + [1374] = 1365, + [1375] = 1375, + [1376] = 1365, + [1377] = 1377, + [1378] = 1378, + [1379] = 1379, + [1380] = 1380, + [1381] = 1381, + [1382] = 1382, + [1383] = 1383, + [1384] = 1384, + [1385] = 1385, + [1386] = 1386, + [1387] = 1379, + [1388] = 1388, + [1389] = 1389, + [1390] = 1379, + [1391] = 1391, + [1392] = 1392, + [1393] = 1381, + [1394] = 1378, + [1395] = 1395, + [1396] = 1396, + [1397] = 1397, + [1398] = 1379, + [1399] = 1399, + [1400] = 1381, + [1401] = 1381, + [1402] = 1378, + [1403] = 1403, + [1404] = 1378, + [1405] = 1405, + [1406] = 1406, + [1407] = 1407, + [1408] = 1408, + [1409] = 1409, + [1410] = 1410, + [1411] = 1407, + [1412] = 1408, + [1413] = 1413, + [1414] = 1414, + [1415] = 1415, + [1416] = 1408, + [1417] = 1417, + [1418] = 1418, + [1419] = 1419, + [1420] = 1420, + [1421] = 1421, + [1422] = 1406, + [1423] = 1423, + [1424] = 1424, + [1425] = 1407, + [1426] = 1426, + [1427] = 1427, + [1428] = 1407, + [1429] = 1429, + [1430] = 1430, + [1431] = 1431, + [1432] = 1432, + [1433] = 1406, + [1434] = 1406, + [1435] = 1408, + [1436] = 1436, + [1437] = 1437, + [1438] = 1438, + [1439] = 1439, + [1440] = 1440, + [1441] = 1441, + [1442] = 1442, + [1443] = 1443, + [1444] = 1444, + [1445] = 1445, + [1446] = 1445, + [1447] = 1447, + [1448] = 1440, + [1449] = 1449, + [1450] = 1450, + [1451] = 1451, + [1452] = 1452, + [1453] = 1445, + [1454] = 1454, + [1455] = 1440, + [1456] = 1456, + [1457] = 1445, + [1458] = 1440, + [1459] = 1445, + [1460] = 1440, + [1461] = 1461, + [1462] = 1440, + [1463] = 1463, + [1464] = 1464, + [1465] = 1465, + [1466] = 1466, + [1467] = 1467, + [1468] = 1445, + [1469] = 1469, + [1470] = 1470, + [1471] = 1471, + [1472] = 1472, + [1473] = 1473, + [1474] = 1474, + [1475] = 1475, + [1476] = 1476, + [1477] = 1477, + [1478] = 1478, + [1479] = 1479, + [1480] = 1480, + [1481] = 1481, + [1482] = 1482, + [1483] = 1483, + [1484] = 1484, + [1485] = 1485, + [1486] = 1486, + [1487] = 1487, + [1488] = 1488, + [1489] = 1489, + [1490] = 1490, + [1491] = 1491, + [1492] = 1492, + [1493] = 1493, + [1494] = 1494, + [1495] = 1495, + [1496] = 1496, + [1497] = 1497, + [1498] = 1498, + [1499] = 1499, + [1500] = 1500, + [1501] = 1499, + [1502] = 1502, + [1503] = 1499, + [1504] = 1502, + [1505] = 1502, + [1506] = 1506, + [1507] = 1507, + [1508] = 1508, + [1509] = 1502, + [1510] = 1499, + [1511] = 1511, + [1512] = 1512, + [1513] = 1513, + [1514] = 1500, + [1515] = 1515, + [1516] = 1516, + [1517] = 1517, + [1518] = 1518, + [1519] = 1508, + [1520] = 1500, + [1521] = 1521, + [1522] = 1508, + [1523] = 1508, + [1524] = 1524, + [1525] = 1500, + [1526] = 1526, + [1527] = 1527, + [1528] = 1528, + [1529] = 1529, + [1530] = 1530, + [1531] = 1531, + [1532] = 1532, + [1533] = 1533, + [1534] = 1534, + [1535] = 1535, + [1536] = 1536, + [1537] = 1537, + [1538] = 1538, + [1539] = 1539, + [1540] = 1537, + [1541] = 1528, + [1542] = 1539, + [1543] = 1533, + [1544] = 1539, + [1545] = 1545, + [1546] = 1539, + [1547] = 1547, + [1548] = 1539, + [1549] = 1549, + [1550] = 1550, + [1551] = 1551, + [1552] = 1552, + [1553] = 1527, + [1554] = 1554, + [1555] = 1555, + [1556] = 1528, + [1557] = 1557, + [1558] = 1537, + [1559] = 1528, + [1560] = 1528, + [1561] = 1561, + [1562] = 1528, + [1563] = 1563, + [1564] = 1527, + [1565] = 1565, + [1566] = 1566, + [1567] = 1528, + [1568] = 1533, + [1569] = 1554, + [1570] = 1554, + [1571] = 1571, + [1572] = 1572, + [1573] = 1573, + [1574] = 1574, + [1575] = 1575, + [1576] = 1576, + [1577] = 1577, + [1578] = 1578, + [1579] = 1579, + [1580] = 1580, + [1581] = 1581, + [1582] = 1582, + [1583] = 1583, + [1584] = 1584, + [1585] = 1585, + [1586] = 1586, + [1587] = 1587, + [1588] = 1588, + [1589] = 1589, + [1590] = 1583, + [1591] = 1591, + [1592] = 1592, + [1593] = 1593, + [1594] = 1594, + [1595] = 1595, + [1596] = 1581, + [1597] = 1586, + [1598] = 1598, + [1599] = 1599, + [1600] = 1571, + [1601] = 1601, + [1602] = 1602, + [1603] = 1603, + [1604] = 1582, + [1605] = 1605, + [1606] = 1606, + [1607] = 1607, + [1608] = 1608, + [1609] = 1609, + [1610] = 1610, + [1611] = 1611, + [1612] = 1612, + [1613] = 1601, + [1614] = 1578, + [1615] = 1602, + [1616] = 1616, + [1617] = 1572, + [1618] = 1571, + [1619] = 1582, + [1620] = 1586, + [1621] = 1592, + [1622] = 1606, + [1623] = 1592, + [1624] = 1593, + [1625] = 1594, + [1626] = 1626, + [1627] = 1601, + [1628] = 1628, + [1629] = 1571, + [1630] = 1601, + [1631] = 1631, + [1632] = 1593, + [1633] = 1606, + [1634] = 1606, + [1635] = 1586, + [1636] = 1636, + [1637] = 1592, + [1638] = 1593, + [1639] = 1594, + [1640] = 1571, + [1641] = 1601, + [1642] = 1602, + [1643] = 1606, + [1644] = 1586, + [1645] = 1592, + [1646] = 1593, + [1647] = 1594, + [1648] = 1571, + [1649] = 1601, + [1650] = 1602, + [1651] = 1606, + [1652] = 1652, + [1653] = 1594, + [1654] = 1573, + [1655] = 1578, + [1656] = 1656, + [1657] = 1583, + [1658] = 1658, + [1659] = 1592, + [1660] = 1593, + [1661] = 1661, + [1662] = 1581, + [1663] = 1602, + [1664] = 1594, + [1665] = 1652, + [1666] = 1666, + [1667] = 1667, + [1668] = 1668, + [1669] = 1658, + [1670] = 1670, + [1671] = 1671, + [1672] = 1672, + [1673] = 1586, + [1674] = 1674, + [1675] = 1417, + [1676] = 1676, + [1677] = 1677, + [1678] = 1678, + [1679] = 1652, + [1680] = 1680, + [1681] = 1573, + [1682] = 1682, + [1683] = 1683, + [1684] = 1578, + [1685] = 1685, + [1686] = 1602, + [1687] = 1687, + [1688] = 1688, + [1689] = 1689, + [1690] = 1690, + [1691] = 1691, + [1692] = 1692, + [1693] = 1693, + [1694] = 1694, + [1695] = 1695, + [1696] = 1696, + [1697] = 1697, + [1698] = 1698, + [1699] = 1692, + [1700] = 1692, + [1701] = 1701, + [1702] = 1702, + [1703] = 1690, + [1704] = 1687, + [1705] = 1701, + [1706] = 1690, + [1707] = 1692, + [1708] = 1692, + [1709] = 1690, + [1710] = 1701, + [1711] = 1690, + [1712] = 1692, + [1713] = 1713, + [1714] = 1714, + [1715] = 1715, + [1716] = 1716, + [1717] = 1690, + [1718] = 1692, + [1719] = 1694, + [1720] = 1689, + [1721] = 1693, + [1722] = 1702, + [1723] = 1690, + [1724] = 1689, + [1725] = 1697, + [1726] = 1702, + [1727] = 1727, + [1728] = 1728, + [1729] = 1729, + [1730] = 1730, + [1731] = 1731, + [1732] = 1701, + [1733] = 1733, + [1734] = 1734, + [1735] = 1716, + [1736] = 1702, + [1737] = 1737, + [1738] = 1737, + [1739] = 1687, + [1740] = 1740, + [1741] = 1687, + [1742] = 1689, + [1743] = 1743, + [1744] = 1694, + [1745] = 1689, + [1746] = 1693, + [1747] = 1702, + [1748] = 1748, + [1749] = 1698, + [1750] = 1697, + [1751] = 1734, + [1752] = 1716, + [1753] = 1737, + [1754] = 1693, + [1755] = 1755, + [1756] = 1756, + [1757] = 1698, + [1758] = 1697, + [1759] = 1698, + [1760] = 1716, + [1761] = 1761, + [1762] = 1737, + [1763] = 1737, + [1764] = 1764, + [1765] = 1687, + [1766] = 1697, + [1767] = 1701, + [1768] = 1768, + [1769] = 1769, + [1770] = 1770, + [1771] = 1771, + [1772] = 1772, + [1773] = 1773, + [1774] = 1774, + [1775] = 1775, + [1776] = 1776, + [1777] = 1777, + [1778] = 1778, + [1779] = 1779, + [1780] = 1780, + [1781] = 1781, + [1782] = 1782, + [1783] = 1783, + [1784] = 1783, + [1785] = 1785, + [1786] = 1786, + [1787] = 1787, + [1788] = 1777, + [1789] = 1789, + [1790] = 1790, + [1791] = 1791, + [1792] = 1792, + [1793] = 1793, + [1794] = 1786, + [1795] = 1795, + [1796] = 1796, + [1797] = 1797, + [1798] = 1780, + [1799] = 1799, + [1800] = 1000, + [1801] = 1791, + [1802] = 1012, + [1803] = 1783, + [1804] = 1804, + [1805] = 1805, + [1806] = 1787, + [1807] = 1807, + [1808] = 1786, + [1809] = 1780, + [1810] = 1810, + [1811] = 1811, + [1812] = 1786, + [1813] = 1813, + [1814] = 1807, + [1815] = 1815, + [1816] = 1790, + [1817] = 1817, + [1818] = 1777, + [1819] = 1783, + [1820] = 1787, + [1821] = 1821, + [1822] = 1786, + [1823] = 1796, + [1824] = 1824, + [1825] = 1825, + [1826] = 1826, + [1827] = 642, + [1828] = 1828, + [1829] = 1829, + [1830] = 1783, + [1831] = 1779, + [1832] = 1790, + [1833] = 1833, + [1834] = 1834, + [1835] = 1835, + [1836] = 1836, + [1837] = 1837, + [1838] = 1815, + [1839] = 1790, + [1840] = 1840, + [1841] = 1841, + [1842] = 1842, + [1843] = 1843, + [1844] = 1786, + [1845] = 1845, + [1846] = 1797, + [1847] = 1780, + [1848] = 1848, + [1849] = 1849, + [1850] = 1850, + [1851] = 1791, + [1852] = 1852, + [1853] = 1853, + [1854] = 1807, + [1855] = 1855, + [1856] = 1789, + [1857] = 1857, + [1858] = 1858, + [1859] = 1859, + [1860] = 1860, + [1861] = 1817, + [1862] = 1862, + [1863] = 1863, + [1864] = 1864, + [1865] = 1797, + [1866] = 1866, + [1867] = 1799, + [1868] = 638, + [1869] = 1869, + [1870] = 1870, + [1871] = 1795, + [1872] = 1872, + [1873] = 1863, + [1874] = 1815, + [1875] = 1789, + [1876] = 1813, + [1877] = 1824, + [1878] = 1780, + [1879] = 1817, + [1880] = 1880, + [1881] = 1787, + [1882] = 1783, + [1883] = 1834, + [1884] = 1884, + [1885] = 1885, + [1886] = 1886, + [1887] = 1779, + [1888] = 1790, + [1889] = 1889, + [1890] = 1890, + [1891] = 1891, + [1892] = 1892, + [1893] = 1813, + [1894] = 1894, + [1895] = 1895, + [1896] = 1896, + [1897] = 1897, + [1898] = 1787, + [1899] = 1899, + [1900] = 1900, + [1901] = 1901, + [1902] = 1848, + [1903] = 1903, + [1904] = 1904, + [1905] = 1905, + [1906] = 1858, + [1907] = 1804, + [1908] = 1795, + [1909] = 1848, + [1910] = 1848, + [1911] = 1834, + [1912] = 1912, + [1913] = 1858, + [1914] = 1824, + [1915] = 1825, + [1916] = 1825, + [1917] = 1894, + [1918] = 1807, + [1919] = 1919, + [1920] = 1920, + [1921] = 1886, + [1922] = 1922, + [1923] = 1833, + [1924] = 1894, + [1925] = 1925, + [1926] = 1926, + [1927] = 1927, + [1928] = 1789, + [1929] = 1886, + [1930] = 1930, + [1931] = 1931, + [1932] = 1932, + [1933] = 1863, + [1934] = 1934, + [1935] = 1872, + [1936] = 1919, + [1937] = 1815, + [1938] = 1922, + [1939] = 1795, + [1940] = 1872, + [1941] = 1863, + [1942] = 999, + [1943] = 1943, + [1944] = 1930, + [1945] = 1824, + [1946] = 1825, + [1947] = 1947, + [1948] = 1783, + [1949] = 1949, + [1950] = 1858, + [1951] = 1833, + [1952] = 1952, + [1953] = 1953, + [1954] = 1954, + [1955] = 1786, + [1956] = 1956, + [1957] = 1957, + [1958] = 1797, + [1959] = 1930, + [1960] = 1901, + [1961] = 1961, + [1962] = 1813, + [1963] = 1963, + [1964] = 1964, + [1965] = 1965, + [1966] = 1824, + [1967] = 1967, + [1968] = 1968, + [1969] = 1969, + [1970] = 1824, + [1971] = 1824, + [1972] = 1947, + [1973] = 1973, + [1974] = 1974, + [1975] = 1975, + [1976] = 1919, + [1977] = 1778, + [1978] = 1978, + [1979] = 1834, + [1980] = 1804, + [1981] = 1981, + [1982] = 1982, + [1983] = 1790, + [1984] = 1791, + [1985] = 1985, + [1986] = 1986, + [1987] = 1894, + [1988] = 1842, + [1989] = 1817, + [1990] = 1930, + [1991] = 1991, + [1992] = 1967, + [1993] = 1993, + [1994] = 1789, + [1995] = 1815, + [1996] = 1833, + [1997] = 1834, + [1998] = 1834, + [1999] = 1999, + [2000] = 1978, + [2001] = 2001, + [2002] = 1884, + [2003] = 1842, + [2004] = 2004, + [2005] = 1947, + [2006] = 1787, + [2007] = 1789, + [2008] = 2008, + [2009] = 1919, + [2010] = 2010, + [2011] = 1842, + [2012] = 2012, + [2013] = 1004, + [2014] = 2008, + [2015] = 2015, + [2016] = 1978, + [2017] = 2017, + [2018] = 2008, + [2019] = 1978, + [2020] = 2020, + [2021] = 1787, + [2022] = 1978, +}; + +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}, {0x1123f, 0x11240}, {0x11280, 0x11286}, + {0x11288, 0x11288}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, {0x1129f, 0x112a8}, {0x112b0, 0x112de}, {0x11305, 0x1130c}, {0x1130f, 0x11310}, {0x11313, 0x11328}, + {0x1132a, 0x11330}, {0x11332, 0x11333}, {0x11335, 0x11339}, {0x1133d, 0x1133d}, {0x11350, 0x11350}, {0x1135d, 0x11361}, {0x11400, 0x11434}, {0x11447, 0x1144a}, + {0x1145f, 0x11461}, {0x11480, 0x114af}, {0x114c4, 0x114c5}, {0x114c7, 0x114c7}, {0x11580, 0x115ae}, {0x115d8, 0x115db}, {0x11600, 0x1162f}, {0x11644, 0x11644}, + {0x11680, 0x116aa}, {0x116b8, 0x116b8}, {0x11700, 0x1171a}, {0x11740, 0x11746}, {0x11800, 0x1182b}, {0x118a0, 0x118df}, {0x118ff, 0x11906}, {0x11909, 0x11909}, + {0x1190c, 0x11913}, {0x11915, 0x11916}, {0x11918, 0x1192f}, {0x1193f, 0x1193f}, {0x11941, 0x11941}, {0x119a0, 0x119a7}, {0x119aa, 0x119d0}, {0x119e1, 0x119e1}, + {0x119e3, 0x119e3}, {0x11a00, 0x11a00}, {0x11a0b, 0x11a32}, {0x11a3a, 0x11a3a}, {0x11a50, 0x11a50}, {0x11a5c, 0x11a89}, {0x11a9d, 0x11a9d}, {0x11ab0, 0x11af8}, + {0x11c00, 0x11c08}, {0x11c0a, 0x11c2e}, {0x11c40, 0x11c40}, {0x11c72, 0x11c8f}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, {0x11d0b, 0x11d30}, {0x11d46, 0x11d46}, + {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d89}, {0x11d98, 0x11d98}, {0x11ee0, 0x11ef2}, {0x11f02, 0x11f02}, {0x11f04, 0x11f10}, {0x11f12, 0x11f33}, + {0x11fb0, 0x11fb0}, {0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12480, 0x12543}, {0x12f90, 0x12ff0}, {0x13000, 0x1342f}, {0x13441, 0x13446}, {0x14400, 0x14646}, + {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, {0x16a70, 0x16abe}, {0x16ad0, 0x16aed}, {0x16b00, 0x16b2f}, {0x16b40, 0x16b43}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, + {0x16e40, 0x16e7f}, {0x16f00, 0x16f4a}, {0x16f50, 0x16f50}, {0x16f93, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x16fe3, 0x16fe3}, {0x17000, 0x187f7}, {0x18800, 0x18cd5}, + {0x18d00, 0x18d08}, {0x1aff0, 0x1aff3}, {0x1aff5, 0x1affb}, {0x1affd, 0x1affe}, {0x1b000, 0x1b122}, {0x1b132, 0x1b132}, {0x1b150, 0x1b152}, {0x1b155, 0x1b155}, + {0x1b164, 0x1b167}, {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, + {0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, + {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550}, + {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, + {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7cb}, {0x1df00, 0x1df1e}, {0x1df25, 0x1df2a}, {0x1e030, 0x1e06d}, {0x1e100, 0x1e12c}, + {0x1e137, 0x1e13d}, {0x1e14e, 0x1e14e}, {0x1e290, 0x1e2ad}, {0x1e2c0, 0x1e2eb}, {0x1e4d0, 0x1e4eb}, {0x1e7e0, 0x1e7e6}, {0x1e7e8, 0x1e7eb}, {0x1e7ed, 0x1e7ee}, + {0x1e7f0, 0x1e7fe}, {0x1e800, 0x1e8c4}, {0x1e900, 0x1e943}, {0x1e94b, 0x1e94b}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22}, {0x1ee24, 0x1ee24}, + {0x1ee27, 0x1ee27}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee39, 0x1ee39}, {0x1ee3b, 0x1ee3b}, {0x1ee42, 0x1ee42}, {0x1ee47, 0x1ee47}, {0x1ee49, 0x1ee49}, + {0x1ee4b, 0x1ee4b}, {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, {0x1ee54, 0x1ee54}, {0x1ee57, 0x1ee57}, {0x1ee59, 0x1ee59}, {0x1ee5b, 0x1ee5b}, {0x1ee5d, 0x1ee5d}, + {0x1ee5f, 0x1ee5f}, {0x1ee61, 0x1ee62}, {0x1ee64, 0x1ee64}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee7e, 0x1ee7e}, + {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x20000, 0x2a6df}, {0x2a700, 0x2b739}, {0x2b740, 0x2b81d}, + {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2ebf0, 0x2ee5d}, {0x2f800, 0x2fa1d}, {0x30000, 0x3134a}, {0x31350, 0x323af}, +}; + +static TSCharacterRange sym_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, 0xcf3}, {0xd00, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd44}, {0xd46, 0xd48}, {0xd4a, 0xd4e}, {0xd54, 0xd57}, {0xd5f, 0xd63}, + {0xd66, 0xd6f}, {0xd7a, 0xd7f}, {0xd81, 0xd83}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, {0xdc0, 0xdc6}, + {0xdca, 0xdca}, {0xdcf, 0xdd4}, {0xdd6, 0xdd6}, {0xdd8, 0xddf}, {0xde6, 0xdef}, {0xdf2, 0xdf3}, {0xe01, 0xe3a}, {0xe40, 0xe4e}, + {0xe50, 0xe59}, {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe86, 0xe8a}, {0xe8c, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xebd}, {0xec0, 0xec4}, + {0xec6, 0xec6}, {0xec8, 0xece}, {0xed0, 0xed9}, {0xedc, 0xedf}, {0xf00, 0xf00}, {0xf18, 0xf19}, {0xf20, 0xf29}, {0xf35, 0xf35}, + {0xf37, 0xf37}, {0xf39, 0xf39}, {0xf3e, 0xf47}, {0xf49, 0xf6c}, {0xf71, 0xf84}, {0xf86, 0xf97}, {0xf99, 0xfbc}, {0xfc6, 0xfc6}, + {0x1000, 0x1049}, {0x1050, 0x109d}, {0x10a0, 0x10c5}, {0x10c7, 0x10c7}, {0x10cd, 0x10cd}, {0x10d0, 0x10fa}, {0x10fc, 0x1248}, {0x124a, 0x124d}, + {0x1250, 0x1256}, {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, {0x12b8, 0x12be}, + {0x12c0, 0x12c0}, {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x135d, 0x135f}, {0x1369, 0x1371}, + {0x1380, 0x138f}, {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, + {0x1700, 0x1715}, {0x171f, 0x1734}, {0x1740, 0x1753}, {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1772, 0x1773}, {0x1780, 0x17d3}, {0x17d7, 0x17d7}, + {0x17dc, 0x17dd}, {0x17e0, 0x17e9}, {0x180b, 0x180d}, {0x180f, 0x1819}, {0x1820, 0x1878}, {0x1880, 0x18aa}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, + {0x1920, 0x192b}, {0x1930, 0x193b}, {0x1946, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x19d0, 0x19da}, {0x1a00, 0x1a1b}, + {0x1a20, 0x1a5e}, {0x1a60, 0x1a7c}, {0x1a7f, 0x1a89}, {0x1a90, 0x1a99}, {0x1aa7, 0x1aa7}, {0x1ab0, 0x1abd}, {0x1abf, 0x1ace}, {0x1b00, 0x1b4c}, + {0x1b50, 0x1b59}, {0x1b6b, 0x1b73}, {0x1b80, 0x1bf3}, {0x1c00, 0x1c37}, {0x1c40, 0x1c49}, {0x1c4d, 0x1c7d}, {0x1c80, 0x1c88}, {0x1c90, 0x1cba}, + {0x1cbd, 0x1cbf}, {0x1cd0, 0x1cd2}, {0x1cd4, 0x1cfa}, {0x1d00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, + {0x1f59, 0x1f59}, {0x1f5b, 0x1f5b}, {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, + {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x200c, 0x200d}, {0x203f, 0x2040}, + {0x2054, 0x2054}, {0x2071, 0x2071}, {0x207f, 0x207f}, {0x2090, 0x209c}, {0x20d0, 0x20dc}, {0x20e1, 0x20e1}, {0x20e5, 0x20f0}, {0x2102, 0x2102}, + {0x2107, 0x2107}, {0x210a, 0x2113}, {0x2115, 0x2115}, {0x2118, 0x211d}, {0x2124, 0x2124}, {0x2126, 0x2126}, {0x2128, 0x2128}, {0x212a, 0x2139}, + {0x213c, 0x213f}, {0x2145, 0x2149}, {0x214e, 0x214e}, {0x2160, 0x2188}, {0x2c00, 0x2ce4}, {0x2ceb, 0x2cf3}, {0x2d00, 0x2d25}, {0x2d27, 0x2d27}, + {0x2d2d, 0x2d2d}, {0x2d30, 0x2d67}, {0x2d6f, 0x2d6f}, {0x2d7f, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, + {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x2de0, 0x2dff}, {0x3005, 0x3007}, {0x3021, 0x302f}, {0x3031, 0x3035}, + {0x3038, 0x303c}, {0x3041, 0x3096}, {0x3099, 0x309a}, {0x309d, 0x309f}, {0x30a1, 0x30ff}, {0x3105, 0x312f}, {0x3131, 0x318e}, {0x31a0, 0x31bf}, + {0x31f0, 0x31ff}, {0x3400, 0x4dbf}, {0x4e00, 0xa48c}, {0xa4d0, 0xa4fd}, {0xa500, 0xa60c}, {0xa610, 0xa62b}, {0xa640, 0xa66f}, {0xa674, 0xa67d}, + {0xa67f, 0xa6f1}, {0xa717, 0xa71f}, {0xa722, 0xa788}, {0xa78b, 0xa7ca}, {0xa7d0, 0xa7d1}, {0xa7d3, 0xa7d3}, {0xa7d5, 0xa7d9}, {0xa7f2, 0xa827}, + {0xa82c, 0xa82c}, {0xa840, 0xa873}, {0xa880, 0xa8c5}, {0xa8d0, 0xa8d9}, {0xa8e0, 0xa8f7}, {0xa8fb, 0xa8fb}, {0xa8fd, 0xa92d}, {0xa930, 0xa953}, + {0xa960, 0xa97c}, {0xa980, 0xa9c0}, {0xa9cf, 0xa9d9}, {0xa9e0, 0xa9fe}, {0xaa00, 0xaa36}, {0xaa40, 0xaa4d}, {0xaa50, 0xaa59}, {0xaa60, 0xaa76}, + {0xaa7a, 0xaac2}, {0xaadb, 0xaadd}, {0xaae0, 0xaaef}, {0xaaf2, 0xaaf6}, {0xab01, 0xab06}, {0xab09, 0xab0e}, {0xab11, 0xab16}, {0xab20, 0xab26}, + {0xab28, 0xab2e}, {0xab30, 0xab5a}, {0xab5c, 0xab69}, {0xab70, 0xabea}, {0xabec, 0xabed}, {0xabf0, 0xabf9}, {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, + {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, + {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfc5d}, {0xfc64, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, + {0xfdf0, 0xfdf9}, {0xfe00, 0xfe0f}, {0xfe20, 0xfe2f}, {0xfe33, 0xfe34}, {0xfe4d, 0xfe4f}, {0xfe71, 0xfe71}, {0xfe73, 0xfe73}, {0xfe77, 0xfe77}, + {0xfe79, 0xfe79}, {0xfe7b, 0xfe7b}, {0xfe7d, 0xfe7d}, {0xfe7f, 0xfefc}, {0xff10, 0xff19}, {0xff21, 0xff3a}, {0xff3f, 0xff3f}, {0xff41, 0xff5a}, + {0xff65, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc}, {0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a}, + {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10140, 0x10174}, {0x101fd, 0x101fd}, {0x10280, 0x1029c}, {0x102a0, 0x102d0}, + {0x102e0, 0x102e0}, {0x10300, 0x1031f}, {0x1032d, 0x1034a}, {0x10350, 0x1037a}, {0x10380, 0x1039d}, {0x103a0, 0x103c3}, {0x103c8, 0x103cf}, {0x103d1, 0x103d5}, + {0x10400, 0x1049d}, {0x104a0, 0x104a9}, {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10570, 0x1057a}, {0x1057c, 0x1058a}, + {0x1058c, 0x10592}, {0x10594, 0x10595}, {0x10597, 0x105a1}, {0x105a3, 0x105b1}, {0x105b3, 0x105b9}, {0x105bb, 0x105bc}, {0x10600, 0x10736}, {0x10740, 0x10755}, + {0x10760, 0x10767}, {0x10780, 0x10785}, {0x10787, 0x107b0}, {0x107b2, 0x107ba}, {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835}, {0x10837, 0x10838}, + {0x1083c, 0x1083c}, {0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, {0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x10900, 0x10915}, {0x10920, 0x10939}, + {0x10980, 0x109b7}, {0x109be, 0x109bf}, {0x10a00, 0x10a03}, {0x10a05, 0x10a06}, {0x10a0c, 0x10a13}, {0x10a15, 0x10a17}, {0x10a19, 0x10a35}, {0x10a38, 0x10a3a}, + {0x10a3f, 0x10a3f}, {0x10a60, 0x10a7c}, {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7}, {0x10ac9, 0x10ae6}, {0x10b00, 0x10b35}, {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, + {0x10b80, 0x10b91}, {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x10d00, 0x10d27}, {0x10d30, 0x10d39}, {0x10e80, 0x10ea9}, {0x10eab, 0x10eac}, + {0x10eb0, 0x10eb1}, {0x10efd, 0x10f1c}, {0x10f27, 0x10f27}, {0x10f30, 0x10f50}, {0x10f70, 0x10f85}, {0x10fb0, 0x10fc4}, {0x10fe0, 0x10ff6}, {0x11000, 0x11046}, + {0x11066, 0x11075}, {0x1107f, 0x110ba}, {0x110c2, 0x110c2}, {0x110d0, 0x110e8}, {0x110f0, 0x110f9}, {0x11100, 0x11134}, {0x11136, 0x1113f}, {0x11144, 0x11147}, + {0x11150, 0x11173}, {0x11176, 0x11176}, {0x11180, 0x111c4}, {0x111c9, 0x111cc}, {0x111ce, 0x111da}, {0x111dc, 0x111dc}, {0x11200, 0x11211}, {0x11213, 0x11237}, + {0x1123e, 0x11241}, {0x11280, 0x11286}, {0x11288, 0x11288}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, {0x1129f, 0x112a8}, {0x112b0, 0x112ea}, {0x112f0, 0x112f9}, + {0x11300, 0x11303}, {0x11305, 0x1130c}, {0x1130f, 0x11310}, {0x11313, 0x11328}, {0x1132a, 0x11330}, {0x11332, 0x11333}, {0x11335, 0x11339}, {0x1133b, 0x11344}, + {0x11347, 0x11348}, {0x1134b, 0x1134d}, {0x11350, 0x11350}, {0x11357, 0x11357}, {0x1135d, 0x11363}, {0x11366, 0x1136c}, {0x11370, 0x11374}, {0x11400, 0x1144a}, + {0x11450, 0x11459}, {0x1145e, 0x11461}, {0x11480, 0x114c5}, {0x114c7, 0x114c7}, {0x114d0, 0x114d9}, {0x11580, 0x115b5}, {0x115b8, 0x115c0}, {0x115d8, 0x115dd}, + {0x11600, 0x11640}, {0x11644, 0x11644}, {0x11650, 0x11659}, {0x11680, 0x116b8}, {0x116c0, 0x116c9}, {0x11700, 0x1171a}, {0x1171d, 0x1172b}, {0x11730, 0x11739}, + {0x11740, 0x11746}, {0x11800, 0x1183a}, {0x118a0, 0x118e9}, {0x118ff, 0x11906}, {0x11909, 0x11909}, {0x1190c, 0x11913}, {0x11915, 0x11916}, {0x11918, 0x11935}, + {0x11937, 0x11938}, {0x1193b, 0x11943}, {0x11950, 0x11959}, {0x119a0, 0x119a7}, {0x119aa, 0x119d7}, {0x119da, 0x119e1}, {0x119e3, 0x119e4}, {0x11a00, 0x11a3e}, + {0x11a47, 0x11a47}, {0x11a50, 0x11a99}, {0x11a9d, 0x11a9d}, {0x11ab0, 0x11af8}, {0x11c00, 0x11c08}, {0x11c0a, 0x11c36}, {0x11c38, 0x11c40}, {0x11c50, 0x11c59}, + {0x11c72, 0x11c8f}, {0x11c92, 0x11ca7}, {0x11ca9, 0x11cb6}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, {0x11d0b, 0x11d36}, {0x11d3a, 0x11d3a}, {0x11d3c, 0x11d3d}, + {0x11d3f, 0x11d47}, {0x11d50, 0x11d59}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d8e}, {0x11d90, 0x11d91}, {0x11d93, 0x11d98}, {0x11da0, 0x11da9}, + {0x11ee0, 0x11ef6}, {0x11f00, 0x11f10}, {0x11f12, 0x11f3a}, {0x11f3e, 0x11f42}, {0x11f50, 0x11f59}, {0x11fb0, 0x11fb0}, {0x12000, 0x12399}, {0x12400, 0x1246e}, + {0x12480, 0x12543}, {0x12f90, 0x12ff0}, {0x13000, 0x1342f}, {0x13440, 0x13455}, {0x14400, 0x14646}, {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, {0x16a60, 0x16a69}, + {0x16a70, 0x16abe}, {0x16ac0, 0x16ac9}, {0x16ad0, 0x16aed}, {0x16af0, 0x16af4}, {0x16b00, 0x16b36}, {0x16b40, 0x16b43}, {0x16b50, 0x16b59}, {0x16b63, 0x16b77}, + {0x16b7d, 0x16b8f}, {0x16e40, 0x16e7f}, {0x16f00, 0x16f4a}, {0x16f4f, 0x16f87}, {0x16f8f, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x16fe3, 0x16fe4}, {0x16ff0, 0x16ff1}, + {0x17000, 0x187f7}, {0x18800, 0x18cd5}, {0x18d00, 0x18d08}, {0x1aff0, 0x1aff3}, {0x1aff5, 0x1affb}, {0x1affd, 0x1affe}, {0x1b000, 0x1b122}, {0x1b132, 0x1b132}, + {0x1b150, 0x1b152}, {0x1b155, 0x1b155}, {0x1b164, 0x1b167}, {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, + {0x1bc9d, 0x1bc9e}, {0x1cf00, 0x1cf2d}, {0x1cf30, 0x1cf46}, {0x1d165, 0x1d169}, {0x1d16d, 0x1d172}, {0x1d17b, 0x1d182}, {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, + {0x1d242, 0x1d244}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, + {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, + {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, + {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7cb}, {0x1d7ce, 0x1d7ff}, + {0x1da00, 0x1da36}, {0x1da3b, 0x1da6c}, {0x1da75, 0x1da75}, {0x1da84, 0x1da84}, {0x1da9b, 0x1da9f}, {0x1daa1, 0x1daaf}, {0x1df00, 0x1df1e}, {0x1df25, 0x1df2a}, + {0x1e000, 0x1e006}, {0x1e008, 0x1e018}, {0x1e01b, 0x1e021}, {0x1e023, 0x1e024}, {0x1e026, 0x1e02a}, {0x1e030, 0x1e06d}, {0x1e08f, 0x1e08f}, {0x1e100, 0x1e12c}, + {0x1e130, 0x1e13d}, {0x1e140, 0x1e149}, {0x1e14e, 0x1e14e}, {0x1e290, 0x1e2ae}, {0x1e2c0, 0x1e2f9}, {0x1e4d0, 0x1e4f9}, {0x1e7e0, 0x1e7e6}, {0x1e7e8, 0x1e7eb}, + {0x1e7ed, 0x1e7ee}, {0x1e7f0, 0x1e7fe}, {0x1e800, 0x1e8c4}, {0x1e8d0, 0x1e8d6}, {0x1e900, 0x1e94b}, {0x1e950, 0x1e959}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, + {0x1ee21, 0x1ee22}, {0x1ee24, 0x1ee24}, {0x1ee27, 0x1ee27}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee39, 0x1ee39}, {0x1ee3b, 0x1ee3b}, {0x1ee42, 0x1ee42}, + {0x1ee47, 0x1ee47}, {0x1ee49, 0x1ee49}, {0x1ee4b, 0x1ee4b}, {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, {0x1ee54, 0x1ee54}, {0x1ee57, 0x1ee57}, {0x1ee59, 0x1ee59}, + {0x1ee5b, 0x1ee5b}, {0x1ee5d, 0x1ee5d}, {0x1ee5f, 0x1ee5f}, {0x1ee61, 0x1ee62}, {0x1ee64, 0x1ee64}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, + {0x1ee79, 0x1ee7c}, {0x1ee7e, 0x1ee7e}, {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x1fbf0, 0x1fbf9}, + {0x20000, 0x2a6df}, {0x2a700, 0x2b739}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2ebf0, 0x2ee5d}, {0x2f800, 0x2fa1d}, {0x30000, 0x3134a}, + {0x31350, 0x323af}, {0xe0100, 0xe01ef}, +}; + +static bool ts_lex(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + if (eof) ADVANCE(121); + ADVANCE_MAP( + '!', 188, + '"', 287, + '#', 75, + '%', 205, + '&', 214, + '\'', 278, + '(', 125, + ')', 128, + '*', 201, + '+', 196, + ',', 127, + '-', 191, + '.', 254, + '/', 203, + '0', 260, + ':', 238, + ';', 227, + '<', 221, + '=', 237, + '>', 217, + '?', 239, + 'L', 302, + 'U', 304, + '[', 234, + '\\', 2, + ']', 235, + '^', 211, + 'u', 306, + '{', 231, + '|', 208, + '}', 232, + '~', 189, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(119); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 1: + if (lookahead == '\n') SKIP(43); + END_STATE(); + case 2: + if (lookahead == '\n') SKIP(43); + if (lookahead == '\r') SKIP(1); + if (lookahead == 'U') ADVANCE(116); + if (lookahead == 'u') ADVANCE(108); + END_STATE(); + case 3: + if (lookahead == '\n') SKIP(46); + END_STATE(); + case 4: + if (lookahead == '\n') SKIP(46); + if (lookahead == '\r') SKIP(3); + if (lookahead == 'U') ADVANCE(116); + if (lookahead == 'u') ADVANCE(108); + END_STATE(); + case 5: + if (lookahead == '\n') SKIP(45); + END_STATE(); + case 6: + if (lookahead == '\n') SKIP(45); + if (lookahead == '\r') SKIP(5); + if (lookahead == 'U') ADVANCE(116); + if (lookahead == 'u') ADVANCE(108); + END_STATE(); + case 7: + if (lookahead == '\n') SKIP(47); + END_STATE(); + case 8: + if (lookahead == '\n') SKIP(47); + if (lookahead == '\r') SKIP(7); + if (lookahead == 'U') ADVANCE(116); + if (lookahead == 'u') ADVANCE(108); + END_STATE(); + case 9: + if (lookahead == '\n') SKIP(49); + END_STATE(); + case 10: + if (lookahead == '\n') SKIP(49); + if (lookahead == '\r') SKIP(9); + if (lookahead == 'U') ADVANCE(116); + if (lookahead == 'u') ADVANCE(108); + END_STATE(); + case 11: + if (lookahead == '\n') SKIP(53); + END_STATE(); + case 12: + if (lookahead == '\n') SKIP(53); + if (lookahead == '\r') SKIP(11); + if (lookahead == 'U') ADVANCE(116); + if (lookahead == 'u') ADVANCE(108); + END_STATE(); + case 13: + if (lookahead == '\n') SKIP(52); + END_STATE(); + case 14: + if (lookahead == '\n') SKIP(52); + if (lookahead == '\r') SKIP(13); + if (lookahead == 'U') ADVANCE(116); + if (lookahead == 'u') ADVANCE(108); + END_STATE(); + case 15: + if (lookahead == '\n') SKIP(57); + END_STATE(); + case 16: + if (lookahead == '\n') SKIP(57); + if (lookahead == '\r') SKIP(15); + if (lookahead == 'U') ADVANCE(116); + if (lookahead == 'u') ADVANCE(108); + END_STATE(); + case 17: + if (lookahead == '\n') SKIP(50); + END_STATE(); + case 18: + if (lookahead == '\n') SKIP(50); + if (lookahead == '\r') SKIP(17); + if (lookahead == 'U') ADVANCE(116); + if (lookahead == 'u') ADVANCE(108); + END_STATE(); + case 19: + if (lookahead == '\n') SKIP(51); + END_STATE(); + case 20: + if (lookahead == '\n') SKIP(51); + if (lookahead == '\r') SKIP(19); + if (lookahead == 'U') ADVANCE(116); + if (lookahead == 'u') ADVANCE(108); + END_STATE(); + case 21: + if (lookahead == '\n') SKIP(48); + END_STATE(); + case 22: + if (lookahead == '\n') SKIP(48); + if (lookahead == '\r') SKIP(21); + if (lookahead == 'U') ADVANCE(116); + if (lookahead == 'u') ADVANCE(108); + END_STATE(); + case 23: + if (lookahead == '\n') SKIP(25); + END_STATE(); + case 24: + if (lookahead == '\n') SKIP(25); + if (lookahead == '\r') SKIP(23); + END_STATE(); + case 25: + ADVANCE_MAP( + '\n', 130, + '!', 68, + '%', 204, + '&', 213, + '(', 186, + '*', 200, + '+', 195, + '-', 190, + '/', 202, + '<', 222, + '=', 69, + '>', 218, + ); + if (lookahead == '\\') SKIP(24); + if (lookahead == '^') ADVANCE(210); + if (lookahead == '|') ADVANCE(209); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(25); + END_STATE(); + case 26: + if (lookahead == '\n') SKIP(56); + END_STATE(); + case 27: + if (lookahead == '\n') SKIP(56); + if (lookahead == '\r') SKIP(26); + if (lookahead == 'U') ADVANCE(116); + if (lookahead == 'u') ADVANCE(108); + END_STATE(); + case 28: + if (lookahead == '\n') SKIP(54); + END_STATE(); + case 29: + if (lookahead == '\n') SKIP(54); + if (lookahead == '\r') SKIP(28); + if (lookahead == 'U') ADVANCE(116); + if (lookahead == 'u') ADVANCE(108); + END_STATE(); + case 30: + if (lookahead == '\n') SKIP(58); + if (lookahead == '\'') ADVANCE(278); + if (lookahead == '/') ADVANCE(281); + if (lookahead == '\\') ADVANCE(280); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(282); + if (lookahead != 0) ADVANCE(279); + END_STATE(); + case 31: + if (lookahead == '\n') ADVANCE(294); + if (lookahead == '\r') ADVANCE(293); + if (lookahead == 'U') ADVANCE(117); + if (lookahead == 'u') ADVANCE(109); + if (lookahead == 'x') ADVANCE(103); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(296); + if (lookahead != 0) ADVANCE(293); + END_STATE(); + case 32: + if (lookahead == '\n') ADVANCE(123); + if (lookahead == '\r') ADVANCE(36); + if (lookahead == '(') ADVANCE(125); + if (lookahead == '/') ADVANCE(151); + if (lookahead == '\\') ADVANCE(146); + if (('\t' <= lookahead && lookahead <= '\f') || + lookahead == ' ') SKIP(66); + if (lookahead != 0) ADVANCE(153); + END_STATE(); + case 33: + if (lookahead == '\n') ADVANCE(123); + if (lookahead == '\r') ADVANCE(36); + if (lookahead == '/') ADVANCE(151); + if (lookahead == '\\') ADVANCE(146); + if (('\t' <= lookahead && lookahead <= '\f') || + lookahead == ' ') SKIP(66); + if (lookahead != 0) ADVANCE(153); + END_STATE(); + case 34: + if (lookahead == '\n') ADVANCE(123); + if (lookahead == '\r') ADVANCE(35); + if (lookahead == '(') ADVANCE(186); + if (lookahead == '/') ADVANCE(60); + if (lookahead == '\\') SKIP(39); + if (('\t' <= lookahead && lookahead <= '\f') || + lookahead == ' ') SKIP(59); + END_STATE(); + case 35: + if (lookahead == '\n') ADVANCE(123); + if (lookahead == '(') ADVANCE(186); + if (lookahead == '/') ADVANCE(60); + if (lookahead == '\\') SKIP(39); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(59); + END_STATE(); + case 36: + if (lookahead == '\n') ADVANCE(123); + if (lookahead == '/') ADVANCE(151); + if (lookahead == '\\') ADVANCE(146); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(66); + if (lookahead != 0) ADVANCE(153); + END_STATE(); + case 37: + if (lookahead == '\n') SKIP(55); + if (lookahead == '"') ADVANCE(287); + if (lookahead == '/') ADVANCE(288); + if (lookahead == '\\') ADVANCE(31); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(291); + if (lookahead != 0) ADVANCE(292); + END_STATE(); + case 38: + if (lookahead == '\n') SKIP(59); + END_STATE(); + case 39: + if (lookahead == '\n') SKIP(59); + if (lookahead == '\r') SKIP(38); + END_STATE(); + case 40: + if (lookahead == '\n') SKIP(44); + END_STATE(); + case 41: + if (lookahead == '\n') SKIP(44); + if (lookahead == '\r') SKIP(40); + if (lookahead == 'U') ADVANCE(116); + if (lookahead == 'u') ADVANCE(108); + END_STATE(); + case 42: + if (lookahead == '\r') ADVANCE(323); + if (lookahead == '\\') ADVANCE(317); + if (lookahead != 0) ADVANCE(322); + END_STATE(); + case 43: + ADVANCE_MAP( + '!', 188, + '"', 287, + '#', 75, + '%', 205, + '&', 214, + '\'', 278, + '(', 186, + ')', 128, + '*', 201, + '+', 196, + ',', 127, + '-', 191, + '.', 254, + '/', 203, + '0', 260, + ':', 238, + ';', 227, + '<', 221, + '=', 237, + '>', 217, + '?', 239, + 'L', 302, + 'U', 304, + '[', 234, + '\\', 2, + ']', 235, + '^', 211, + 'u', 306, + '{', 231, + '|', 208, + '}', 232, + '~', 189, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(43); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 44: + ADVANCE_MAP( + '!', 188, + '"', 287, + '#', 83, + '%', 205, + '&', 214, + '\'', 278, + '(', 186, + ')', 128, + '*', 201, + '+', 196, + ',', 127, + '-', 191, + '.', 254, + '/', 203, + '0', 260, + ':', 238, + ';', 227, + '<', 221, + '=', 237, + '>', 217, + '?', 239, + 'L', 302, + 'U', 304, + '[', 233, + '\\', 41, + ']', 235, + '^', 211, + 'u', 306, + '{', 231, + '|', 208, + '}', 232, + '~', 189, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(44); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 45: + ADVANCE_MAP( + '!', 187, + '"', 287, + '#', 75, + '&', 212, + '\'', 278, + '(', 186, + '*', 200, + '+', 197, + ',', 127, + '-', 192, + '.', 96, + '/', 60, + '0', 260, + ':', 67, + ';', 227, + 'L', 302, + 'U', 304, + '[', 73, + '\\', 6, + ']', 74, + 'u', 306, + '{', 231, + '~', 189, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(45); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 46: + ADVANCE_MAP( + '!', 187, + '"', 287, + '#', 79, + '&', 212, + '\'', 278, + '(', 186, + ')', 128, + '*', 200, + '+', 197, + ',', 127, + '-', 192, + '.', 255, + '/', 60, + '0', 260, + ':', 238, + ';', 227, + '=', 236, + 'L', 302, + 'U', 304, + '[', 234, + '\\', 4, + ']', 235, + 'u', 306, + '{', 231, + '}', 232, + '~', 189, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(46); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 47: + ADVANCE_MAP( + '!', 187, + '"', 287, + '#', 77, + '&', 212, + '\'', 278, + '(', 186, + '*', 200, + '+', 197, + '-', 192, + '.', 96, + '/', 60, + '0', 260, + ';', 227, + 'L', 302, + 'U', 304, + '[', 73, + '\\', 8, + 'u', 306, + '{', 231, + '~', 189, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(47); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 48: + ADVANCE_MAP( + '!', 187, + '\'', 278, + '(', 186, + ')', 128, + '+', 199, + '-', 194, + '.', 96, + '/', 60, + '0', 260, + 'L', 310, + 'U', 311, + '\\', 22, + 'u', 312, + '~', 189, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(48); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 49: + ADVANCE_MAP( + '!', 68, + '"', 287, + '#', 83, + '%', 205, + '&', 214, + '(', 186, + ')', 128, + '*', 201, + '+', 198, + ',', 127, + '-', 193, + '.', 253, + '/', 203, + ':', 238, + ';', 227, + '<', 221, + '=', 237, + '>', 217, + '?', 239, + 'L', 303, + 'U', 305, + '[', 234, + '\\', 10, + ']', 235, + '^', 211, + 'u', 307, + '|', 208, + '}', 232, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(49); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 50: + ADVANCE_MAP( + '!', 68, + '#', 83, + '%', 205, + '&', 214, + '(', 186, + ')', 128, + '*', 201, + '+', 198, + ',', 127, + '-', 193, + '.', 253, + '/', 203, + ':', 238, + ';', 227, + '<', 221, + '=', 237, + '>', 217, + '?', 239, + '[', 234, + '\\', 18, + ']', 235, + '^', 211, + '{', 231, + '|', 208, + '}', 232, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(50); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 51: + ADVANCE_MAP( + '!', 68, + '#', 83, + '%', 205, + '&', 214, + '(', 186, + ')', 128, + '*', 201, + '+', 198, + ',', 127, + '-', 193, + '.', 252, + '/', 203, + ':', 238, + ';', 227, + '<', 221, + '=', 237, + '>', 217, + '?', 239, + '[', 233, + '\\', 20, + ']', 74, + '^', 211, + '|', 208, + '}', 232, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(51); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 52: + ADVANCE_MAP( + '!', 68, + '#', 80, + '%', 204, + '&', 213, + '(', 186, + ')', 128, + '*', 200, + '+', 195, + ',', 127, + '-', 190, + '/', 202, + ';', 227, + '<', 222, + '=', 237, + '>', 218, + '[', 234, + '\\', 14, + '^', 210, + '{', 231, + '|', 209, + '}', 232, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(52); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 53: + ADVANCE_MAP( + '!', 68, + '#', 76, + '%', 205, + '&', 214, + '(', 186, + ')', 128, + '*', 201, + '+', 198, + ',', 127, + '-', 193, + '.', 253, + '/', 203, + ':', 238, + ';', 227, + '<', 221, + '=', 237, + '>', 217, + '?', 239, + '[', 234, + '\\', 12, + '^', 211, + '{', 231, + '|', 208, + '}', 232, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(53); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 54: + if (lookahead == '"') ADVANCE(287); + if (lookahead == '/') ADVANCE(60); + if (lookahead == '<') ADVANCE(70); + if (lookahead == 'L') ADVANCE(303); + if (lookahead == 'U') ADVANCE(305); + if (lookahead == '\\') ADVANCE(29); + if (lookahead == 'u') ADVANCE(307); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(54); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 55: + if (lookahead == '"') ADVANCE(287); + if (lookahead == '/') ADVANCE(60); + if (lookahead == '\\') ADVANCE(31); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(55); + END_STATE(); + case 56: + if (lookahead == '#') ADVANCE(93); + if (lookahead == '/') ADVANCE(60); + if (lookahead == '\\') ADVANCE(27); + if (lookahead == '}') ADVANCE(232); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(56); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 57: + if (lookahead == '#') ADVANCE(78); + if (lookahead == '/') ADVANCE(60); + if (lookahead == '[') ADVANCE(73); + if (lookahead == '\\') ADVANCE(16); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(57); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 58: + if (lookahead == '\'') ADVANCE(278); + if (lookahead == '/') ADVANCE(60); + if (lookahead == '\\') ADVANCE(31); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(58); + END_STATE(); + case 59: + if (lookahead == '(') ADVANCE(186); + if (lookahead == '/') ADVANCE(60); + if (lookahead == '\\') SKIP(39); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(59); + END_STATE(); + case 60: + if (lookahead == '*') ADVANCE(62); + if (lookahead == '/') ADVANCE(322); + END_STATE(); + case 61: + if (lookahead == '*') ADVANCE(61); + if (lookahead == '/') ADVANCE(315); + if (lookahead != 0) ADVANCE(62); + END_STATE(); + case 62: + if (lookahead == '*') ADVANCE(61); + if (lookahead != 0) ADVANCE(62); + END_STATE(); + case 63: + if (lookahead == '*') ADVANCE(61); + if (lookahead != 0) ADVANCE(144); + END_STATE(); + case 64: + if (lookahead == '.') ADVANCE(96); + if (lookahead == '0') ADVANCE(258); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(259); + if (('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(268); + END_STATE(); + case 65: + if (lookahead == '.') ADVANCE(126); + END_STATE(); + case 66: + if (lookahead == '/') ADVANCE(151); + if (lookahead == '\\') ADVANCE(146); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(66); + if (lookahead != 0) ADVANCE(153); + END_STATE(); + case 67: + if (lookahead == ':') ADVANCE(228); + END_STATE(); + case 68: + if (lookahead == '=') ADVANCE(216); + END_STATE(); + case 69: + if (lookahead == '=') ADVANCE(215); + END_STATE(); + case 70: + if (lookahead == '>') ADVANCE(300); + if (lookahead == '\\') ADVANCE(71); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(70); + END_STATE(); + case 71: + if (lookahead == '>') ADVANCE(301); + if (lookahead == '\\') ADVANCE(71); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(70); + END_STATE(); + case 72: + if (lookahead == 'U') ADVANCE(116); + if (lookahead == 'u') ADVANCE(108); + END_STATE(); + case 73: + if (lookahead == '[') ADVANCE(229); + END_STATE(); + case 74: + if (lookahead == ']') ADVANCE(230); + END_STATE(); + case 75: + if (lookahead == 'd') ADVANCE(160); + if (lookahead == 'e') ADVANCE(180); + if (lookahead == 'i') ADVANCE(168); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(75); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 76: + if (lookahead == 'd') ADVANCE(160); + if (lookahead == 'e') ADVANCE(180); + if (lookahead == 'i') ADVANCE(169); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(76); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 77: + if (lookahead == 'd') ADVANCE(160); + if (lookahead == 'e') ADVANCE(182); + if (lookahead == 'i') ADVANCE(168); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(77); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 78: + if (lookahead == 'd') ADVANCE(160); + if (lookahead == 'e') ADVANCE(182); + if (lookahead == 'i') ADVANCE(169); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(78); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 79: + if (lookahead == 'd') ADVANCE(160); + if (lookahead == 'i') ADVANCE(168); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(79); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 80: + if (lookahead == 'd') ADVANCE(160); + if (lookahead == 'i') ADVANCE(169); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(80); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 81: + if (lookahead == 'd') ADVANCE(92); + END_STATE(); + case 82: + if (lookahead == 'd') ADVANCE(86); + END_STATE(); + case 83: + if (lookahead == 'e') ADVANCE(94); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(83); + END_STATE(); + case 84: + if (lookahead == 'e') ADVANCE(135); + END_STATE(); + case 85: + if (lookahead == 'e') ADVANCE(89); + END_STATE(); + case 86: + if (lookahead == 'e') ADVANCE(90); + END_STATE(); + case 87: + if (lookahead == 'f') ADVANCE(137); + END_STATE(); + case 88: + if (lookahead == 'f') ADVANCE(131); + END_STATE(); + case 89: + if (lookahead == 'f') ADVANCE(139); + END_STATE(); + case 90: + if (lookahead == 'f') ADVANCE(141); + END_STATE(); + case 91: + if (lookahead == 'i') ADVANCE(87); + if (lookahead == 's') ADVANCE(84); + END_STATE(); + case 92: + if (lookahead == 'i') ADVANCE(88); + END_STATE(); + case 93: + if (lookahead == 'i') ADVANCE(169); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(93); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 94: + if (lookahead == 'l') ADVANCE(91); + if (lookahead == 'n') ADVANCE(81); + END_STATE(); + case 95: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(262); + END_STATE(); + case 96: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(257); + END_STATE(); + case 97: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(259); + if (('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(268); + END_STATE(); + case 98: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(314); + END_STATE(); + case 99: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(265); + END_STATE(); + case 100: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(268); + END_STATE(); + case 101: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(263); + END_STATE(); + case 102: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(293); + END_STATE(); + case 103: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(299); + END_STATE(); + case 104: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(98); + END_STATE(); + case 105: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(102); + END_STATE(); + case 106: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(104); + END_STATE(); + case 107: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(105); + END_STATE(); + case 108: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(106); + END_STATE(); + case 109: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(107); + END_STATE(); + case 110: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(108); + END_STATE(); + case 111: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(109); + END_STATE(); + case 112: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(110); + 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 (lookahead != 0 && + lookahead != '*') ADVANCE(153); + END_STATE(); + case 119: + if (eof) ADVANCE(121); + ADVANCE_MAP( + '!', 188, + '"', 287, + '#', 75, + '%', 205, + '&', 214, + '\'', 278, + '(', 186, + ')', 128, + '*', 201, + '+', 196, + ',', 127, + '-', 191, + '.', 254, + '/', 203, + '0', 260, + ':', 238, + ';', 227, + '<', 221, + '=', 237, + '>', 217, + '?', 239, + 'L', 302, + 'U', 304, + '[', 234, + '\\', 2, + ']', 235, + '^', 211, + 'u', 306, + '{', 231, + '|', 208, + '}', 232, + '~', 189, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(119); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 120: + if (eof) ADVANCE(121); + ADVANCE_MAP( + '!', 187, + '"', 287, + '#', 79, + '&', 212, + '\'', 278, + '(', 186, + ')', 128, + '*', 200, + '+', 197, + ',', 127, + '-', 192, + '.', 255, + '/', 60, + '0', 260, + ':', 238, + ';', 227, + '=', 236, + 'L', 302, + 'U', 304, + '[', 234, + '\\', 4, + ']', 235, + 'u', 306, + '{', 231, + '}', 232, + '~', 189, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(120); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262); + if (set_contains(sym_identifier_character_set_1, 670, lookahead)) ADVANCE(314); + END_STATE(); + case 121: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 122: + ACCEPT_TOKEN(aux_sym_preproc_include_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 123: + ACCEPT_TOKEN(aux_sym_preproc_include_token2); + END_STATE(); + case 124: + ACCEPT_TOKEN(aux_sym_preproc_def_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 125: + ACCEPT_TOKEN(anon_sym_LPAREN); + END_STATE(); + case 126: + ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); + END_STATE(); + case 127: + ACCEPT_TOKEN(anon_sym_COMMA); + END_STATE(); + case 128: + ACCEPT_TOKEN(anon_sym_RPAREN); + END_STATE(); + case 129: + ACCEPT_TOKEN(aux_sym_preproc_if_token1); + if (lookahead == 'd') ADVANCE(164); + if (lookahead == 'n') ADVANCE(158); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 130: + ACCEPT_TOKEN(anon_sym_LF); + if (lookahead == '\n') ADVANCE(130); + END_STATE(); + case 131: + ACCEPT_TOKEN(aux_sym_preproc_if_token2); + END_STATE(); + case 132: + ACCEPT_TOKEN(aux_sym_preproc_if_token2); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 133: + ACCEPT_TOKEN(aux_sym_preproc_ifdef_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 134: + ACCEPT_TOKEN(aux_sym_preproc_ifdef_token2); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 135: + ACCEPT_TOKEN(aux_sym_preproc_else_token1); + END_STATE(); + case 136: + ACCEPT_TOKEN(aux_sym_preproc_else_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 137: + ACCEPT_TOKEN(aux_sym_preproc_elif_token1); + if (lookahead == 'd') ADVANCE(85); + if (lookahead == 'n') ADVANCE(82); + END_STATE(); + case 138: + ACCEPT_TOKEN(aux_sym_preproc_elif_token1); + if (lookahead == 'd') ADVANCE(166); + if (lookahead == 'n') ADVANCE(159); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 139: + ACCEPT_TOKEN(aux_sym_preproc_elifdef_token1); + END_STATE(); + case 140: + ACCEPT_TOKEN(aux_sym_preproc_elifdef_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 141: + ACCEPT_TOKEN(aux_sym_preproc_elifdef_token2); + END_STATE(); + case 142: + ACCEPT_TOKEN(aux_sym_preproc_elifdef_token2); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 143: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(62); + if (lookahead == '*') ADVANCE(143); + if (lookahead == '/') ADVANCE(315); + if (lookahead == '\\') ADVANCE(149); + if (lookahead != 0) ADVANCE(144); + END_STATE(); + case 144: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(62); + if (lookahead == '*') ADVANCE(143); + if (lookahead == '/') ADVANCE(63); + if (lookahead == '\\') ADVANCE(149); + if (lookahead != 0) ADVANCE(144); + END_STATE(); + case 145: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(322); + if (lookahead == '\r') ADVANCE(316); + if (lookahead == '/') ADVANCE(319); + if (lookahead == '\\') ADVANCE(318); + if (lookahead != 0) ADVANCE(320); + END_STATE(); + case 146: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') SKIP(66); + if (lookahead == '\r') ADVANCE(147); + if (lookahead == '/') ADVANCE(118); + if (lookahead == '\\') ADVANCE(148); + if (lookahead != 0) ADVANCE(153); + END_STATE(); + case 147: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') SKIP(66); + if (lookahead == '/') ADVANCE(118); + if (lookahead == '\\') ADVANCE(148); + if (lookahead != 0) ADVANCE(153); + END_STATE(); + case 148: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\r') ADVANCE(154); + if (lookahead == '/') ADVANCE(118); + if (lookahead == '\\') ADVANCE(148); + if (lookahead != 0) ADVANCE(153); + END_STATE(); + case 149: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\r') ADVANCE(152); + if (lookahead == '*') ADVANCE(143); + if (lookahead == '/') ADVANCE(63); + if (lookahead == '\\') ADVANCE(149); + if (lookahead != 0) ADVANCE(144); + END_STATE(); + case 150: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\r') ADVANCE(321); + if (lookahead == '/') ADVANCE(319); + if (lookahead == '\\') ADVANCE(318); + if (lookahead != 0) ADVANCE(320); + END_STATE(); + case 151: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '*') ADVANCE(144); + if (lookahead == '/') ADVANCE(319); + if (lookahead == '\\') ADVANCE(148); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(153); + END_STATE(); + case 152: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '*') ADVANCE(143); + if (lookahead == '/') ADVANCE(63); + if (lookahead == '\\') ADVANCE(149); + if (lookahead != 0) ADVANCE(144); + END_STATE(); + case 153: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '/') ADVANCE(118); + if (lookahead == '\\') ADVANCE(148); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(153); + END_STATE(); + case 154: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '/') ADVANCE(118); + if (lookahead == '\\') ADVANCE(148); + if (lookahead != 0) ADVANCE(153); + END_STATE(); + case 155: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'c') ADVANCE(181); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 156: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(179); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 157: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(163); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 158: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(165); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 159: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(167); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 160: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(170); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 161: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(136); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 162: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(124); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 163: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(122); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 164: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(173); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 165: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(174); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 166: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(175); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 167: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(176); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 168: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(129); + if (lookahead == 'n') ADVANCE(155); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 169: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(129); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 170: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(177); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 171: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(138); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 172: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(132); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 173: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(133); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 174: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(134); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 175: + 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(185); + END_STATE(); + case 176: + 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(185); + END_STATE(); + case 177: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'i') ADVANCE(183); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 178: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'i') ADVANCE(171); + if (lookahead == 's') ADVANCE(161); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 179: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'i') ADVANCE(172); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 180: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'l') ADVANCE(178); + if (lookahead == 'n') ADVANCE(156); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 181: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'l') ADVANCE(184); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 182: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'n') ADVANCE(156); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 183: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'n') ADVANCE(162); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 184: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'u') ADVANCE(157); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 185: + ACCEPT_TOKEN(sym_preproc_directive); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(185); + END_STATE(); + case 186: + ACCEPT_TOKEN(anon_sym_LPAREN2); + END_STATE(); + case 187: + ACCEPT_TOKEN(anon_sym_BANG); + END_STATE(); + case 188: + ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(216); + END_STATE(); + case 189: + ACCEPT_TOKEN(anon_sym_TILDE); + END_STATE(); + case 190: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); + case 191: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(250); + if (lookahead == '.') ADVANCE(96); + if (lookahead == '0') ADVANCE(260); + if (lookahead == '=') ADVANCE(244); + if (lookahead == '>') ADVANCE(256); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262); + END_STATE(); + case 192: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(250); + if (lookahead == '.') ADVANCE(96); + if (lookahead == '0') ADVANCE(260); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262); + END_STATE(); + case 193: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(250); + if (lookahead == '=') ADVANCE(244); + if (lookahead == '>') ADVANCE(256); + END_STATE(); + case 194: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '.') ADVANCE(96); + if (lookahead == '0') ADVANCE(260); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262); + END_STATE(); + case 195: + ACCEPT_TOKEN(anon_sym_PLUS); + END_STATE(); + case 196: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(251); + if (lookahead == '.') ADVANCE(96); + if (lookahead == '0') ADVANCE(260); + if (lookahead == '=') ADVANCE(243); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262); + END_STATE(); + case 197: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(251); + if (lookahead == '.') ADVANCE(96); + if (lookahead == '0') ADVANCE(260); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262); + END_STATE(); + case 198: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(251); + if (lookahead == '=') ADVANCE(243); + END_STATE(); + case 199: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '.') ADVANCE(96); + if (lookahead == '0') ADVANCE(260); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262); + END_STATE(); + case 200: + ACCEPT_TOKEN(anon_sym_STAR); + END_STATE(); + case 201: + ACCEPT_TOKEN(anon_sym_STAR); + if (lookahead == '=') ADVANCE(240); + END_STATE(); + case 202: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(62); + if (lookahead == '/') ADVANCE(322); + END_STATE(); + case 203: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(62); + if (lookahead == '/') ADVANCE(322); + if (lookahead == '=') ADVANCE(241); + END_STATE(); + case 204: + ACCEPT_TOKEN(anon_sym_PERCENT); + END_STATE(); + case 205: + ACCEPT_TOKEN(anon_sym_PERCENT); + if (lookahead == '=') ADVANCE(242); + END_STATE(); + case 206: + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + END_STATE(); + case 207: + ACCEPT_TOKEN(anon_sym_AMP_AMP); + END_STATE(); + case 208: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '=') ADVANCE(249); + if (lookahead == '|') ADVANCE(206); + END_STATE(); + case 209: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '|') ADVANCE(206); + END_STATE(); + case 210: + ACCEPT_TOKEN(anon_sym_CARET); + END_STATE(); + case 211: + ACCEPT_TOKEN(anon_sym_CARET); + if (lookahead == '=') ADVANCE(248); + END_STATE(); + case 212: + ACCEPT_TOKEN(anon_sym_AMP); + END_STATE(); + case 213: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(207); + END_STATE(); + case 214: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(207); + if (lookahead == '=') ADVANCE(247); + END_STATE(); + case 215: + ACCEPT_TOKEN(anon_sym_EQ_EQ); + END_STATE(); + case 216: + ACCEPT_TOKEN(anon_sym_BANG_EQ); + END_STATE(); + case 217: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(219); + if (lookahead == '>') ADVANCE(226); + END_STATE(); + case 218: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(219); + if (lookahead == '>') ADVANCE(225); + END_STATE(); + case 219: + ACCEPT_TOKEN(anon_sym_GT_EQ); + END_STATE(); + case 220: + ACCEPT_TOKEN(anon_sym_LT_EQ); + END_STATE(); + case 221: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(224); + if (lookahead == '=') ADVANCE(220); + END_STATE(); + case 222: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(223); + if (lookahead == '=') ADVANCE(220); + END_STATE(); + case 223: + ACCEPT_TOKEN(anon_sym_LT_LT); + END_STATE(); + case 224: + ACCEPT_TOKEN(anon_sym_LT_LT); + if (lookahead == '=') ADVANCE(245); + END_STATE(); + case 225: + ACCEPT_TOKEN(anon_sym_GT_GT); + END_STATE(); + case 226: + ACCEPT_TOKEN(anon_sym_GT_GT); + if (lookahead == '=') ADVANCE(246); + END_STATE(); + case 227: + ACCEPT_TOKEN(anon_sym_SEMI); + END_STATE(); + case 228: + ACCEPT_TOKEN(anon_sym_COLON_COLON); + END_STATE(); + case 229: + ACCEPT_TOKEN(anon_sym_LBRACK_LBRACK); + END_STATE(); + case 230: + ACCEPT_TOKEN(anon_sym_RBRACK_RBRACK); + END_STATE(); + case 231: + ACCEPT_TOKEN(anon_sym_LBRACE); + END_STATE(); + case 232: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 233: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 234: + ACCEPT_TOKEN(anon_sym_LBRACK); + if (lookahead == '[') ADVANCE(229); + END_STATE(); + case 235: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 236: + ACCEPT_TOKEN(anon_sym_EQ); + END_STATE(); + case 237: + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(215); + END_STATE(); + case 238: + ACCEPT_TOKEN(anon_sym_COLON); + END_STATE(); + case 239: + ACCEPT_TOKEN(anon_sym_QMARK); + END_STATE(); + case 240: + ACCEPT_TOKEN(anon_sym_STAR_EQ); + END_STATE(); + case 241: + ACCEPT_TOKEN(anon_sym_SLASH_EQ); + END_STATE(); + case 242: + ACCEPT_TOKEN(anon_sym_PERCENT_EQ); + END_STATE(); + case 243: + ACCEPT_TOKEN(anon_sym_PLUS_EQ); + END_STATE(); + case 244: + ACCEPT_TOKEN(anon_sym_DASH_EQ); + END_STATE(); + case 245: + ACCEPT_TOKEN(anon_sym_LT_LT_EQ); + END_STATE(); + case 246: + ACCEPT_TOKEN(anon_sym_GT_GT_EQ); + END_STATE(); + case 247: + ACCEPT_TOKEN(anon_sym_AMP_EQ); + END_STATE(); + case 248: + ACCEPT_TOKEN(anon_sym_CARET_EQ); + END_STATE(); + case 249: + ACCEPT_TOKEN(anon_sym_PIPE_EQ); + END_STATE(); + case 250: + ACCEPT_TOKEN(anon_sym_DASH_DASH); + END_STATE(); + case 251: + ACCEPT_TOKEN(anon_sym_PLUS_PLUS); + END_STATE(); + case 252: + ACCEPT_TOKEN(anon_sym_DOT); + END_STATE(); + case 253: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(65); + END_STATE(); + case 254: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(65); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(257); + END_STATE(); + case 255: + ACCEPT_TOKEN(anon_sym_DOT); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(257); + END_STATE(); + case 256: + ACCEPT_TOKEN(anon_sym_DASH_GT); + END_STATE(); + case 257: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(96); + if (lookahead == 'E' || + lookahead == 'P' || + lookahead == 'e' || + lookahead == 'p') ADVANCE(270); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(257); + if (set_contains(sym_number_literal_character_set_13, 13, lookahead)) ADVANCE(273); + END_STATE(); + case 258: + ACCEPT_TOKEN(sym_number_literal); + ADVANCE_MAP( + '\'', 97, + '.', 271, + 'B', 267, + 'b', 267, + 'E', 266, + 'e', 266, + 'P', 270, + 'p', 270, + 'X', 100, + 'x', 100, + 'A', 268, + 'C', 268, + 'a', 268, + 'c', 268, + 'D', 268, + 'F', 268, + 'd', 268, + 'f', 268, + 'L', 273, + 'U', 273, + 'W', 273, + 'l', 273, + 'u', 273, + 'w', 273, + ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(259); + END_STATE(); + case 259: + ACCEPT_TOKEN(sym_number_literal); + ADVANCE_MAP( + '\'', 97, + '.', 271, + 'E', 266, + 'e', 266, + 'P', 270, + 'p', 270, + 'A', 268, + 'C', 268, + 'a', 268, + 'c', 268, + 'B', 268, + 'D', 268, + 'F', 268, + 'b', 268, + 'd', 268, + 'f', 268, + 'L', 273, + 'U', 273, + 'W', 273, + 'l', 273, + 'u', 273, + 'w', 273, + ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(259); + END_STATE(); + case 260: + ACCEPT_TOKEN(sym_number_literal); + ADVANCE_MAP( + '\'', 95, + '.', 271, + 'B', 269, + 'b', 269, + 'X', 64, + 'x', 64, + 'E', 270, + 'P', 270, + 'e', 270, + 'p', 270, + 'D', 273, + 'F', 273, + 'L', 273, + 'U', 273, + 'W', 273, + 'd', 273, + 'f', 273, + 'l', 273, + 'u', 273, + 'w', 273, + ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(262); + END_STATE(); + case 261: + ACCEPT_TOKEN(sym_number_literal); + ADVANCE_MAP( + '\'', 95, + '.', 271, + 'B', 272, + 'b', 272, + 'X', 100, + 'x', 100, + 'E', 270, + 'P', 270, + 'e', 270, + 'p', 270, + 'D', 273, + 'F', 273, + 'L', 273, + 'U', 273, + 'W', 273, + 'd', 273, + 'f', 273, + 'l', 273, + 'u', 273, + 'w', 273, + ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(262); + END_STATE(); + case 262: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(95); + if (lookahead == '.') ADVANCE(271); + if (lookahead == 'E' || + lookahead == 'P' || + lookahead == 'e' || + lookahead == 'p') ADVANCE(270); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(262); + if (set_contains(sym_number_literal_character_set_13, 13, lookahead)) ADVANCE(273); + END_STATE(); + case 263: + ACCEPT_TOKEN(sym_number_literal); + ADVANCE_MAP( + '\'', 101, + 'B', 263, + 'D', 263, + 'F', 263, + 'b', 263, + 'd', 263, + 'f', 263, + 'L', 273, + 'U', 273, + 'W', 273, + 'l', 273, + 'u', 273, + 'w', 273, + ); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'E') || + ('a' <= lookahead && lookahead <= 'e')) ADVANCE(263); + END_STATE(); + case 264: + ACCEPT_TOKEN(sym_number_literal); + ADVANCE_MAP( + '\'', 99, + '+', 101, + '-', 101, + 'E', 264, + 'e', 264, + 'P', 270, + 'p', 270, + 'B', 265, + 'D', 265, + 'F', 265, + 'b', 265, + 'd', 265, + 'f', 265, + 'L', 273, + 'U', 273, + 'W', 273, + 'l', 273, + 'u', 273, + 'w', 273, + ); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'C') || + ('a' <= lookahead && lookahead <= 'c')) ADVANCE(265); + END_STATE(); + case 265: + ACCEPT_TOKEN(sym_number_literal); + ADVANCE_MAP( + '\'', 99, + 'E', 264, + 'e', 264, + 'P', 270, + 'p', 270, + 'B', 265, + 'D', 265, + 'F', 265, + 'b', 265, + 'd', 265, + 'f', 265, + 'L', 273, + 'U', 273, + 'W', 273, + 'l', 273, + 'u', 273, + 'w', 273, + ); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'C') || + ('a' <= lookahead && lookahead <= 'c')) ADVANCE(265); + END_STATE(); + case 266: + ACCEPT_TOKEN(sym_number_literal); + ADVANCE_MAP( + '\'', 100, + '.', 271, + '+', 101, + '-', 101, + 'E', 266, + 'e', 266, + 'P', 270, + 'p', 270, + 'B', 268, + 'D', 268, + 'F', 268, + 'b', 268, + 'd', 268, + 'f', 268, + 'L', 273, + 'U', 273, + 'W', 273, + 'l', 273, + 'u', 273, + 'w', 273, + ); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'C') || + ('a' <= lookahead && lookahead <= 'c')) ADVANCE(268); + END_STATE(); + case 267: + ACCEPT_TOKEN(sym_number_literal); + ADVANCE_MAP( + '\'', 100, + '.', 271, + 'E', 266, + 'e', 266, + 'P', 270, + 'p', 270, + 'A', 268, + 'C', 268, + 'a', 268, + 'c', 268, + 'B', 268, + 'D', 268, + 'F', 268, + 'b', 268, + 'd', 268, + 'f', 268, + 'L', 273, + 'U', 273, + 'W', 273, + 'l', 273, + 'u', 273, + 'w', 273, + ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(259); + END_STATE(); + case 268: + ACCEPT_TOKEN(sym_number_literal); + ADVANCE_MAP( + '\'', 100, + '.', 271, + 'E', 266, + 'e', 266, + 'P', 270, + 'p', 270, + 'B', 268, + 'D', 268, + 'F', 268, + 'b', 268, + 'd', 268, + 'f', 268, + 'L', 273, + 'U', 273, + 'W', 273, + 'l', 273, + 'u', 273, + 'w', 273, + ); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'C') || + ('a' <= lookahead && lookahead <= 'c')) ADVANCE(268); + END_STATE(); + case 269: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '.') ADVANCE(96); + if (lookahead == '0') ADVANCE(261); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(262); + if (set_contains(sym_number_literal_character_set_13, 13, lookahead)) ADVANCE(273); + END_STATE(); + case 270: + ACCEPT_TOKEN(sym_number_literal); + ADVANCE_MAP( + '+', 101, + '-', 101, + 'B', 263, + 'D', 263, + 'F', 263, + 'b', 263, + 'd', 263, + 'f', 263, + 'L', 273, + 'U', 273, + 'W', 273, + 'l', 273, + 'u', 273, + 'w', 273, + ); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'E') || + ('a' <= lookahead && lookahead <= 'e')) ADVANCE(263); + END_STATE(); + case 271: + ACCEPT_TOKEN(sym_number_literal); + ADVANCE_MAP( + 'E', 264, + 'e', 264, + 'P', 270, + 'p', 270, + 'B', 265, + 'D', 265, + 'F', 265, + 'b', 265, + 'd', 265, + 'f', 265, + 'L', 273, + 'U', 273, + 'W', 273, + 'l', 273, + 'u', 273, + 'w', 273, + ); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'C') || + ('a' <= lookahead && lookahead <= 'c')) ADVANCE(265); + END_STATE(); + case 272: + ACCEPT_TOKEN(sym_number_literal); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(262); + if (set_contains(sym_number_literal_character_set_13, 13, lookahead)) ADVANCE(273); + END_STATE(); + case 273: + ACCEPT_TOKEN(sym_number_literal); + ADVANCE_MAP( + 'B', 273, + 'D', 273, + 'F', 273, + 'L', 273, + 'U', 273, + 'W', 273, + 'b', 273, + 'd', 273, + 'f', 273, + 'l', 273, + 'u', 273, + 'w', 273, + ); + END_STATE(); + case 274: + ACCEPT_TOKEN(anon_sym_L_SQUOTE); + END_STATE(); + case 275: + ACCEPT_TOKEN(anon_sym_u_SQUOTE); + END_STATE(); + case 276: + ACCEPT_TOKEN(anon_sym_U_SQUOTE); + END_STATE(); + case 277: + ACCEPT_TOKEN(anon_sym_u8_SQUOTE); + END_STATE(); + case 278: + ACCEPT_TOKEN(anon_sym_SQUOTE); + END_STATE(); + case 279: + ACCEPT_TOKEN(aux_sym_char_literal_token1); + END_STATE(); + case 280: + ACCEPT_TOKEN(aux_sym_char_literal_token1); + if (lookahead == '\n') ADVANCE(294); + if (lookahead == '\r') ADVANCE(293); + if (lookahead == 'U') ADVANCE(117); + if (lookahead == 'u') ADVANCE(109); + if (lookahead == 'x') ADVANCE(103); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(296); + if (lookahead != 0) ADVANCE(293); + END_STATE(); + case 281: + ACCEPT_TOKEN(aux_sym_char_literal_token1); + if (lookahead == '*') ADVANCE(62); + if (lookahead == '/') ADVANCE(322); + END_STATE(); + case 282: + ACCEPT_TOKEN(aux_sym_char_literal_token1); + if (lookahead == '\\') ADVANCE(31); + END_STATE(); + case 283: + ACCEPT_TOKEN(anon_sym_L_DQUOTE); + END_STATE(); + case 284: + ACCEPT_TOKEN(anon_sym_u_DQUOTE); + END_STATE(); + case 285: + ACCEPT_TOKEN(anon_sym_U_DQUOTE); + END_STATE(); + case 286: + ACCEPT_TOKEN(anon_sym_u8_DQUOTE); + END_STATE(); + case 287: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 288: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead == '*') ADVANCE(290); + if (lookahead == '/') ADVANCE(292); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(292); + END_STATE(); + case 289: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead == '*') ADVANCE(289); + if (lookahead == '/') ADVANCE(292); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(290); + END_STATE(); + case 290: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead == '*') ADVANCE(289); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(290); + END_STATE(); + case 291: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead == '/') ADVANCE(288); + if (lookahead == '\t' || + (0x0b <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(291); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != '"' && + lookahead != '\\') ADVANCE(292); + END_STATE(); + case 292: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(292); + END_STATE(); + case 293: + ACCEPT_TOKEN(sym_escape_sequence); + END_STATE(); + case 294: + ACCEPT_TOKEN(sym_escape_sequence); + if (lookahead == '\\') ADVANCE(31); + END_STATE(); + case 295: + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(293); + END_STATE(); + case 296: + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(295); + END_STATE(); + case 297: + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(293); + END_STATE(); + case 298: + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(297); + END_STATE(); + case 299: + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(298); + END_STATE(); + case 300: + ACCEPT_TOKEN(sym_system_lib_string); + END_STATE(); + case 301: + ACCEPT_TOKEN(sym_system_lib_string); + if (lookahead == '>') ADVANCE(300); + if (lookahead == '\\') ADVANCE(71); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(70); + END_STATE(); + case 302: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(283); + if (lookahead == '\'') ADVANCE(274); + if (lookahead == '\\') ADVANCE(72); + if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314); + END_STATE(); + case 303: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(283); + if (lookahead == '\\') ADVANCE(72); + if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314); + END_STATE(); + case 304: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(285); + if (lookahead == '\'') ADVANCE(276); + if (lookahead == '\\') ADVANCE(72); + if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314); + END_STATE(); + case 305: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(285); + if (lookahead == '\\') ADVANCE(72); + if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314); + END_STATE(); + case 306: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(284); + if (lookahead == '\'') ADVANCE(275); + if (lookahead == '8') ADVANCE(308); + if (lookahead == '\\') ADVANCE(72); + if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314); + END_STATE(); + case 307: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(284); + if (lookahead == '8') ADVANCE(309); + if (lookahead == '\\') ADVANCE(72); + if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314); + END_STATE(); + case 308: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(286); + if (lookahead == '\'') ADVANCE(277); + if (lookahead == '\\') ADVANCE(72); + if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314); + END_STATE(); + case 309: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(286); + if (lookahead == '\\') ADVANCE(72); + if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314); + END_STATE(); + case 310: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '\'') ADVANCE(274); + if (lookahead == '\\') ADVANCE(72); + if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314); + END_STATE(); + case 311: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '\'') ADVANCE(276); + if (lookahead == '\\') ADVANCE(72); + if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314); + END_STATE(); + case 312: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '\'') ADVANCE(275); + if (lookahead == '8') ADVANCE(313); + if (lookahead == '\\') ADVANCE(72); + if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314); + END_STATE(); + case 313: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '\'') ADVANCE(277); + if (lookahead == '\\') ADVANCE(72); + if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314); + END_STATE(); + case 314: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '\\') ADVANCE(72); + if (set_contains(sym_identifier_character_set_2, 778, lookahead)) ADVANCE(314); + END_STATE(); + case 315: + ACCEPT_TOKEN(sym_comment); + END_STATE(); + case 316: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\n') ADVANCE(322); + if (lookahead == '/') ADVANCE(319); + if (lookahead == '\\') ADVANCE(150); + if (lookahead != 0) ADVANCE(320); + END_STATE(); + case 317: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\r') ADVANCE(323); + if (lookahead == '\\') ADVANCE(317); + if (lookahead != 0) ADVANCE(322); + END_STATE(); + case 318: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\r') ADVANCE(321); + if (lookahead == '/') ADVANCE(319); + if (lookahead == '\\') ADVANCE(318); + if (lookahead != 0) ADVANCE(320); + END_STATE(); + case 319: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '*') ADVANCE(322); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(320); + END_STATE(); + case 320: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '/') ADVANCE(319); + if (lookahead == '\\') ADVANCE(150); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(320); + END_STATE(); + case 321: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '/') ADVANCE(319); + if (lookahead == '\\') ADVANCE(150); + if (lookahead != 0) ADVANCE(320); + END_STATE(); + case 322: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\\') ADVANCE(42); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(322); + END_STATE(); + case 323: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\\') ADVANCE(42); + if (lookahead != 0) ADVANCE(322); + 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 == 'n') ADVANCE(145); + if (lookahead == 'r') ADVANCE(146); + END_STATE(); + case 80: + if (lookahead == 'l') ADVANCE(147); + if (lookahead == 's') ADVANCE(148); + if (lookahead == 't') ADVANCE(149); + END_STATE(); + case 81: + if (lookahead == 'a') ADVANCE(150); + END_STATE(); + case 82: + if (lookahead == 'd') ADVANCE(151); + if (lookahead == 'l') ADVANCE(152); + END_STATE(); + case 83: + if (lookahead == 'e') ADVANCE(153); + END_STATE(); + case 84: + if (lookahead == 'x') ADVANCE(154); + END_STATE(); + case 85: + if (lookahead == 'a') ADVANCE(155); + if (lookahead == 'i') ADVANCE(156); + if (lookahead == 'o') ADVANCE(157); + END_STATE(); + case 86: + if (lookahead == 'n') ADVANCE(158); + END_STATE(); + case 87: + if (lookahead == 'e') ADVANCE(159); + END_STATE(); + case 88: + if (lookahead == 'e') ADVANCE(160); + END_STATE(); + case 89: + if (lookahead == 'p') ADVANCE(161); + if (lookahead == 't') ADVANCE(162); + END_STATE(); + case 90: + if (lookahead == 'h') ADVANCE(163); + if (lookahead == 'r') ADVANCE(164); + END_STATE(); + case 91: + if (lookahead == 'n') ADVANCE(165); + if (lookahead == 'p') ADVANCE(166); + END_STATE(); + case 92: + if (lookahead == 'e') ADVANCE(167); + if (lookahead == 'o') ADVANCE(168); + END_STATE(); + case 93: + if (lookahead == 'i') ADVANCE(169); + END_STATE(); + case 94: + if (lookahead == 'a') ADVANCE(170); + END_STATE(); + case 95: + if (lookahead == 'g') ADVANCE(171); + END_STATE(); + case 96: + ACCEPT_TOKEN(anon_sym_asm); + END_STATE(); + case 97: + if (lookahead == 'o') ADVANCE(172); + END_STATE(); + case 98: + if (lookahead == 'l') ADVANCE(173); + END_STATE(); + case 99: + if (lookahead == 'a') ADVANCE(174); + END_STATE(); + case 100: + if (lookahead == 'e') ADVANCE(175); + END_STATE(); + case 101: + if (lookahead == 'r') ADVANCE(176); + END_STATE(); + case 102: + if (lookahead == 's') ADVANCE(177); + if (lookahead == 't') ADVANCE(178); + END_STATE(); + case 103: + if (lookahead == 'a') ADVANCE(179); + if (lookahead == 'i') ADVANCE(180); + END_STATE(); + case 104: + if (lookahead == 'b') ADVANCE(181); + END_STATE(); + case 105: + if (lookahead == 'e') ADVANCE(182); + END_STATE(); + case 106: + if (lookahead == 'm') ADVANCE(183); + END_STATE(); + case 107: + if (lookahead == 'e') ADVANCE(184); + END_STATE(); + case 108: + if (lookahead == 's') ADVANCE(185); + END_STATE(); + case 109: + if (lookahead == 'a') ADVANCE(186); + END_STATE(); + case 110: + ACCEPT_TOKEN(anon_sym_for); + END_STATE(); + case 111: + if (lookahead == 'o') ADVANCE(187); + END_STATE(); + case 112: + if (lookahead == 'i') ADVANCE(188); + END_STATE(); + case 113: + ACCEPT_TOKEN(sym_primitive_type); + if (lookahead == '1') ADVANCE(189); + if (lookahead == '3') ADVANCE(190); + if (lookahead == '6') ADVANCE(191); + if (lookahead == '8') ADVANCE(192); + if (lookahead == 'p') ADVANCE(193); + END_STATE(); + case 114: + if (lookahead == 'g') ADVANCE(194); + END_STATE(); + case 115: + if (lookahead == '_') ADVANCE(195); + END_STATE(); + case 116: + if (lookahead == 'e') ADVANCE(196); + END_STATE(); + case 117: + if (lookahead == 'l') ADVANCE(197); + END_STATE(); + case 118: + if (lookahead == 's') ADVANCE(198); + END_STATE(); + case 119: + if (lookahead == 'd') ADVANCE(199); + END_STATE(); + case 120: + if (lookahead == 'i') ADVANCE(200); + END_STATE(); + case 121: + if (lookahead == 't') ADVANCE(201); + END_STATE(); + case 122: + if (lookahead == 'u') ADVANCE(202); + END_STATE(); + case 123: + if (lookahead == 'r') ADVANCE(203); + END_STATE(); + case 124: + if (lookahead == 'n') ADVANCE(204); + END_STATE(); + case 125: + if (lookahead == 'e') ADVANCE(205); + END_STATE(); + case 126: + if (lookahead == 'z') ADVANCE(206); + END_STATE(); + case 127: + if (lookahead == 't') ADVANCE(207); + END_STATE(); + case 128: + if (lookahead == 'u') ADVANCE(208); + END_STATE(); + case 129: + if (lookahead == 't') ADVANCE(209); + END_STATE(); + case 130: + if (lookahead == 'e') ADVANCE(210); + END_STATE(); + case 131: + if (lookahead == 'e') ADVANCE(141); + END_STATE(); + case 132: + if (lookahead == 'e') ADVANCE(211); + END_STATE(); + case 133: + if (lookahead == 't') ADVANCE(212); + END_STATE(); + case 134: + if (lookahead == 'o') ADVANCE(213); + END_STATE(); + case 135: + if (lookahead == 'i') ADVANCE(214); + END_STATE(); + case 136: + if (lookahead == 'd') ADVANCE(173); + END_STATE(); + case 137: + if (lookahead == 'a') ADVANCE(215); + END_STATE(); + case 138: + if (lookahead == 'l') ADVANCE(216); + END_STATE(); + case 139: + if (lookahead == 'E') ADVANCE(217); + 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(218); + END_STATE(); + case 143: + if (lookahead == 'm') ADVANCE(219); + END_STATE(); + case 144: + if (lookahead == 'e') ADVANCE(220); + END_STATE(); + case 145: + if (lookahead == 'n') ADVANCE(221); + END_STATE(); + case 146: + if (lookahead == 'e') ADVANCE(222); + END_STATE(); + case 147: + if (lookahead == 'i') ADVANCE(223); + END_STATE(); + case 148: + if (lookahead == 'm') ADVANCE(224); + END_STATE(); + case 149: + if (lookahead == 't') ADVANCE(225); + END_STATE(); + case 150: + if (lookahead == 's') ADVANCE(226); + END_STATE(); + case 151: + if (lookahead == 'e') ADVANCE(227); + END_STATE(); + case 152: + if (lookahead == 'r') ADVANCE(228); + END_STATE(); + case 153: + if (lookahead == 'c') ADVANCE(229); + END_STATE(); + case 154: + if (lookahead == 'c') ADVANCE(230); + if (lookahead == 't') ADVANCE(231); + END_STATE(); + case 155: + if (lookahead == 's') ADVANCE(232); + END_STATE(); + case 156: + if (lookahead == 'n') ADVANCE(233); + END_STATE(); + case 157: + if (lookahead == 'r') ADVANCE(234); + END_STATE(); + case 158: + if (lookahead == 'l') ADVANCE(235); + END_STATE(); + case 159: + if (lookahead == 'a') ADVANCE(236); + END_STATE(); + case 160: + if (lookahead == 's') ADVANCE(237); + END_STATE(); + case 161: + if (lookahead == 't') ADVANCE(238); + END_STATE(); + case 162: + if (lookahead == 'd') ADVANCE(239); + END_STATE(); + case 163: + if (lookahead == 'i') ADVANCE(240); + if (lookahead == 'r') ADVANCE(241); + END_STATE(); + case 164: + if (lookahead == 'y') ADVANCE(242); + END_STATE(); + case 165: + if (lookahead == 'a') ADVANCE(243); + END_STATE(); + case 166: + if (lookahead == 't') ADVANCE(244); + END_STATE(); + case 167: + if (lookahead == 'c') ADVANCE(245); + END_STATE(); + case 168: + if (lookahead == 'l') ADVANCE(246); + END_STATE(); + case 169: + if (lookahead == 'g') ADVANCE(247); + END_STATE(); + case 170: + if (lookahead == 'l') ADVANCE(248); + END_STATE(); + case 171: + if (lookahead == 'n') ADVANCE(249); + END_STATE(); + case 172: + ACCEPT_TOKEN(anon_sym_auto); + END_STATE(); + case 173: + ACCEPT_TOKEN(sym_primitive_type); + END_STATE(); + case 174: + if (lookahead == 'k') ADVANCE(250); + END_STATE(); + case 175: + ACCEPT_TOKEN(anon_sym_case); + END_STATE(); + case 176: + ACCEPT_TOKEN(sym_primitive_type); + if (lookahead == '1') ADVANCE(251); + if (lookahead == '3') ADVANCE(252); + if (lookahead == '6') ADVANCE(253); + if (lookahead == '8') ADVANCE(254); + if (lookahead == 'p') ADVANCE(255); + END_STATE(); + case 177: + if (lookahead == 't') ADVANCE(256); + END_STATE(); + case 178: + if (lookahead == 'i') ADVANCE(257); + END_STATE(); + case 179: + if (lookahead == 'u') ADVANCE(258); + END_STATE(); + case 180: + if (lookahead == 'n') ADVANCE(259); + END_STATE(); + case 181: + if (lookahead == 'l') ADVANCE(260); + END_STATE(); + case 182: + ACCEPT_TOKEN(anon_sym_else); + END_STATE(); + case 183: + ACCEPT_TOKEN(anon_sym_enum); + END_STATE(); + case 184: + if (lookahead == 'r') ADVANCE(261); + END_STATE(); + case 185: + if (lookahead == 'e') ADVANCE(217); + END_STATE(); + case 186: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 187: + ACCEPT_TOKEN(anon_sym_goto); + END_STATE(); + case 188: + if (lookahead == 'n') ADVANCE(262); + END_STATE(); + case 189: + if (lookahead == '6') ADVANCE(263); + END_STATE(); + case 190: + if (lookahead == '2') ADVANCE(264); + END_STATE(); + case 191: + if (lookahead == '4') ADVANCE(265); + END_STATE(); + case 192: + if (lookahead == '_') ADVANCE(266); + END_STATE(); + case 193: + if (lookahead == 't') ADVANCE(267); + END_STATE(); + case 194: + ACCEPT_TOKEN(anon_sym_long); + END_STATE(); + case 195: + if (lookahead == 'a') ADVANCE(268); + END_STATE(); + case 196: + if (lookahead == 't') ADVANCE(269); + END_STATE(); + case 197: + if (lookahead == 'p') ADVANCE(270); + END_STATE(); + case 198: + if (lookahead == 'e') ADVANCE(271); + END_STATE(); + case 199: + if (lookahead == 'i') ADVANCE(272); + END_STATE(); + case 200: + if (lookahead == 's') ADVANCE(273); + END_STATE(); + case 201: + if (lookahead == 'r') ADVANCE(274); + END_STATE(); + case 202: + if (lookahead == 'r') ADVANCE(275); + END_STATE(); + case 203: + if (lookahead == 't') ADVANCE(276); + END_STATE(); + case 204: + if (lookahead == 'e') ADVANCE(277); + END_STATE(); + case 205: + if (lookahead == '_') ADVANCE(278); + if (lookahead == 'o') ADVANCE(279); + END_STATE(); + case 206: + if (lookahead == 'e') ADVANCE(280); + END_STATE(); + case 207: + if (lookahead == 'i') ADVANCE(281); + END_STATE(); + case 208: + if (lookahead == 'c') ADVANCE(282); + END_STATE(); + case 209: + if (lookahead == 'c') ADVANCE(283); + END_STATE(); + case 210: + if (lookahead == 'a') ADVANCE(284); + END_STATE(); + case 211: + if (lookahead == 'd') ADVANCE(285); + END_STATE(); + case 212: + if (lookahead == '1') ADVANCE(286); + if (lookahead == '3') ADVANCE(287); + if (lookahead == '6') ADVANCE(288); + if (lookahead == '8') ADVANCE(289); + if (lookahead == 'p') ADVANCE(290); + END_STATE(); + case 213: + if (lookahead == 'n') ADVANCE(291); + END_STATE(); + case 214: + if (lookahead == 'g') ADVANCE(292); + END_STATE(); + case 215: + if (lookahead == 't') ADVANCE(293); + END_STATE(); + case 216: + if (lookahead == 'e') ADVANCE(294); + END_STATE(); + case 217: + ACCEPT_TOKEN(sym_false); + END_STATE(); + case 218: + if (lookahead == 'n') ADVANCE(295); + END_STATE(); + case 219: + if (lookahead == 'i') ADVANCE(296); + END_STATE(); + case 220: + if (lookahead == 'r') ADVANCE(297); + END_STATE(); + case 221: + if (lookahead == 'u') ADVANCE(298); + END_STATE(); + case 222: + if (lookahead == 't') ADVANCE(299); + END_STATE(); + case 223: + if (lookahead == 'g') ADVANCE(300); + END_STATE(); + case 224: + ACCEPT_TOKEN(anon_sym___asm); + if (lookahead == '_') ADVANCE(301); + END_STATE(); + case 225: + if (lookahead == 'r') ADVANCE(302); + END_STATE(); + case 226: + if (lookahead == 'e') ADVANCE(303); + END_STATE(); + case 227: + if (lookahead == 'c') ADVANCE(304); + END_STATE(); + case 228: + if (lookahead == 'c') ADVANCE(305); + END_STATE(); + case 229: + if (lookahead == 'l') ADVANCE(306); + END_STATE(); + case 230: + if (lookahead == 'e') ADVANCE(307); + END_STATE(); + case 231: + if (lookahead == 'e') ADVANCE(308); + END_STATE(); + case 232: + if (lookahead == 't') ADVANCE(309); + END_STATE(); + case 233: + if (lookahead == 'a') ADVANCE(310); + END_STATE(); + case 234: + if (lookahead == 'c') ADVANCE(311); + END_STATE(); + case 235: + if (lookahead == 'i') ADVANCE(312); + END_STATE(); + case 236: + if (lookahead == 'v') ADVANCE(313); + END_STATE(); + case 237: + if (lookahead == 't') ADVANCE(314); + END_STATE(); + case 238: + if (lookahead == 'r') ADVANCE(315); + END_STATE(); + case 239: + if (lookahead == 'c') ADVANCE(316); + END_STATE(); + case 240: + if (lookahead == 's') ADVANCE(317); + END_STATE(); + case 241: + if (lookahead == 'e') ADVANCE(318); + END_STATE(); + case 242: + ACCEPT_TOKEN(anon_sym___try); + END_STATE(); + case 243: + if (lookahead == 'l') ADVANCE(319); + END_STATE(); + case 244: + if (lookahead == 'r') ADVANCE(320); + END_STATE(); + case 245: + if (lookahead == 't') ADVANCE(321); + END_STATE(); + case 246: + if (lookahead == 'a') ADVANCE(322); + END_STATE(); + case 247: + if (lookahead == 'n') ADVANCE(323); + END_STATE(); + case 248: + if (lookahead == 'i') ADVANCE(324); + END_STATE(); + case 249: + if (lookahead == 'a') ADVANCE(325); + if (lookahead == 'o') ADVANCE(326); + END_STATE(); + case 250: + ACCEPT_TOKEN(anon_sym_break); + END_STATE(); + case 251: + if (lookahead == '6') ADVANCE(327); + END_STATE(); + case 252: + if (lookahead == '2') ADVANCE(328); + END_STATE(); + case 253: + if (lookahead == '4') ADVANCE(329); + END_STATE(); + case 254: + if (lookahead == '_') ADVANCE(330); + END_STATE(); + case 255: + if (lookahead == 't') ADVANCE(331); + END_STATE(); + case 256: + ACCEPT_TOKEN(anon_sym_const); + if (lookahead == 'e') ADVANCE(332); + END_STATE(); + case 257: + if (lookahead == 'n') ADVANCE(333); + END_STATE(); + case 258: + if (lookahead == 'l') ADVANCE(334); + END_STATE(); + case 259: + if (lookahead == 'e') ADVANCE(335); + END_STATE(); + case 260: + if (lookahead == 'e') ADVANCE(173); + END_STATE(); + case 261: + if (lookahead == 'n') ADVANCE(336); + END_STATE(); + case 262: + if (lookahead == 'e') ADVANCE(337); + END_STATE(); + case 263: + if (lookahead == '_') ADVANCE(338); + END_STATE(); + case 264: + if (lookahead == '_') ADVANCE(339); + END_STATE(); + case 265: + if (lookahead == '_') ADVANCE(340); + END_STATE(); + case 266: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 267: + if (lookahead == 'r') ADVANCE(341); + END_STATE(); + case 268: + if (lookahead == 'l') ADVANCE(342); + END_STATE(); + case 269: + if (lookahead == 'u') ADVANCE(343); + END_STATE(); + case 270: + if (lookahead == 't') ADVANCE(344); + END_STATE(); + case 271: + if (lookahead == 't') ADVANCE(345); + END_STATE(); + case 272: + if (lookahead == 'f') ADVANCE(346); + END_STATE(); + case 273: + if (lookahead == 't') ADVANCE(347); + END_STATE(); + case 274: + if (lookahead == 'i') ADVANCE(348); + END_STATE(); + case 275: + if (lookahead == 'n') ADVANCE(349); + END_STATE(); + case 276: + ACCEPT_TOKEN(anon_sym_short); + END_STATE(); + case 277: + if (lookahead == 'd') ADVANCE(350); + END_STATE(); + case 278: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 279: + if (lookahead == 'f') ADVANCE(351); + END_STATE(); + case 280: + if (lookahead == '_') ADVANCE(352); + END_STATE(); + case 281: + if (lookahead == 'c') ADVANCE(353); + END_STATE(); + case 282: + if (lookahead == 't') ADVANCE(354); + END_STATE(); + case 283: + if (lookahead == 'h') ADVANCE(355); + END_STATE(); + case 284: + if (lookahead == 'd') ADVANCE(356); + END_STATE(); + case 285: + if (lookahead == 'e') ADVANCE(357); + END_STATE(); + case 286: + if (lookahead == '6') ADVANCE(358); + END_STATE(); + case 287: + if (lookahead == '2') ADVANCE(359); + END_STATE(); + case 288: + if (lookahead == '4') ADVANCE(360); + END_STATE(); + case 289: + if (lookahead == '_') ADVANCE(361); + END_STATE(); + case 290: + if (lookahead == 't') ADVANCE(362); + END_STATE(); + case 291: + ACCEPT_TOKEN(anon_sym_union); + END_STATE(); + case 292: + if (lookahead == 'n') ADVANCE(363); + END_STATE(); + case 293: + if (lookahead == 'i') ADVANCE(364); + END_STATE(); + case 294: + ACCEPT_TOKEN(anon_sym_while); + END_STATE(); + case 295: + if (lookahead == 'a') ADVANCE(365); + if (lookahead == 'o') ADVANCE(366); + END_STATE(); + case 296: + if (lookahead == 'c') ADVANCE(367); + END_STATE(); + case 297: + if (lookahead == 'i') ADVANCE(368); + END_STATE(); + case 298: + if (lookahead == 'l') ADVANCE(369); + END_STATE(); + case 299: + if (lookahead == 'u') ADVANCE(370); + END_STATE(); + case 300: + if (lookahead == 'n') ADVANCE(371); + END_STATE(); + case 301: + if (lookahead == '_') ADVANCE(372); + END_STATE(); + case 302: + if (lookahead == 'i') ADVANCE(373); + END_STATE(); + case 303: + if (lookahead == 'd') ADVANCE(374); + END_STATE(); + case 304: + if (lookahead == 'l') ADVANCE(375); + END_STATE(); + case 305: + if (lookahead == 'a') ADVANCE(376); + END_STATE(); + case 306: + if (lookahead == 's') ADVANCE(377); + END_STATE(); + case 307: + if (lookahead == 'p') ADVANCE(378); + END_STATE(); + case 308: + if (lookahead == 'n') ADVANCE(379); + END_STATE(); + case 309: + if (lookahead == 'c') ADVANCE(380); + END_STATE(); + case 310: + if (lookahead == 'l') ADVANCE(381); + END_STATE(); + case 311: + if (lookahead == 'e') ADVANCE(382); + END_STATE(); + case 312: + if (lookahead == 'n') ADVANCE(383); + END_STATE(); + case 313: + if (lookahead == 'e') ADVANCE(384); + END_STATE(); + case 314: + if (lookahead == 'r') ADVANCE(385); + END_STATE(); + case 315: + ACCEPT_TOKEN(sym_ms_signed_ptr_modifier); + END_STATE(); + case 316: + if (lookahead == 'a') ADVANCE(386); + END_STATE(); + case 317: + if (lookahead == 'c') ADVANCE(387); + END_STATE(); + case 318: + if (lookahead == 'a') ADVANCE(388); + END_STATE(); + case 319: + if (lookahead == 'i') ADVANCE(389); + END_STATE(); + case 320: + ACCEPT_TOKEN(sym_ms_unsigned_ptr_modifier); + END_STATE(); + case 321: + if (lookahead == 'o') ADVANCE(390); + END_STATE(); + case 322: + if (lookahead == 't') ADVANCE(391); + END_STATE(); + case 323: + if (lookahead == 'o') ADVANCE(392); + END_STATE(); + case 324: + if (lookahead == 'g') ADVANCE(393); + END_STATE(); + case 325: + if (lookahead == 's') ADVANCE(394); + END_STATE(); + case 326: + if (lookahead == 'f') ADVANCE(395); + END_STATE(); + case 327: + if (lookahead == '_') ADVANCE(396); + END_STATE(); + case 328: + if (lookahead == '_') ADVANCE(397); + END_STATE(); + case 329: + if (lookahead == '_') ADVANCE(398); + END_STATE(); + case 330: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 331: + if (lookahead == 'r') ADVANCE(399); + END_STATE(); + case 332: + if (lookahead == 'x') ADVANCE(400); + END_STATE(); + case 333: + if (lookahead == 'u') ADVANCE(401); + END_STATE(); + case 334: + if (lookahead == 't') ADVANCE(402); + END_STATE(); + case 335: + if (lookahead == 'd') ADVANCE(403); + END_STATE(); + case 336: + ACCEPT_TOKEN(anon_sym_extern); + END_STATE(); + case 337: + ACCEPT_TOKEN(anon_sym_inline); + END_STATE(); + case 338: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 339: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 340: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 341: + if (lookahead == '_') ADVANCE(404); + END_STATE(); + case 342: + if (lookahead == 'i') ADVANCE(405); + END_STATE(); + case 343: + if (lookahead == 'r') ADVANCE(406); + END_STATE(); + case 344: + if (lookahead == 'r') ADVANCE(407); + END_STATE(); + case 345: + if (lookahead == 'o') ADVANCE(408); + END_STATE(); + case 346: + if (lookahead == 'f') ADVANCE(409); + END_STATE(); + case 347: + if (lookahead == 'e') ADVANCE(410); + END_STATE(); + case 348: + if (lookahead == 'c') ADVANCE(411); + END_STATE(); + case 349: + ACCEPT_TOKEN(anon_sym_return); + END_STATE(); + case 350: + ACCEPT_TOKEN(anon_sym_signed); + END_STATE(); + case 351: + ACCEPT_TOKEN(anon_sym_sizeof); + END_STATE(); + case 352: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 353: + ACCEPT_TOKEN(anon_sym_static); + END_STATE(); + case 354: + ACCEPT_TOKEN(anon_sym_struct); + END_STATE(); + case 355: + ACCEPT_TOKEN(anon_sym_switch); + END_STATE(); + case 356: + if (lookahead == '_') ADVANCE(412); + END_STATE(); + case 357: + if (lookahead == 'f') ADVANCE(413); + END_STATE(); + case 358: + if (lookahead == '_') ADVANCE(414); + END_STATE(); + case 359: + if (lookahead == '_') ADVANCE(415); + END_STATE(); + case 360: + if (lookahead == '_') ADVANCE(416); + END_STATE(); + case 361: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 362: + if (lookahead == 'r') ADVANCE(417); + END_STATE(); + case 363: + if (lookahead == 'e') ADVANCE(418); + END_STATE(); + case 364: + if (lookahead == 'l') ADVANCE(419); + END_STATE(); + case 365: + if (lookahead == 's') ADVANCE(420); + END_STATE(); + case 366: + if (lookahead == 'f') ADVANCE(421); + END_STATE(); + case 367: + ACCEPT_TOKEN(anon_sym__Atomic); + END_STATE(); + case 368: + if (lookahead == 'c') ADVANCE(422); + END_STATE(); + case 369: + if (lookahead == 'l') ADVANCE(423); + END_STATE(); + case 370: + if (lookahead == 'r') ADVANCE(424); + END_STATE(); + case 371: + if (lookahead == 'o') ADVANCE(425); + END_STATE(); + case 372: + ACCEPT_TOKEN(anon_sym___asm__); + END_STATE(); + case 373: + if (lookahead == 'b') ADVANCE(426); + END_STATE(); + case 374: + ACCEPT_TOKEN(anon_sym___based); + END_STATE(); + case 375: + ACCEPT_TOKEN(anon_sym___cdecl); + END_STATE(); + case 376: + if (lookahead == 'l') ADVANCE(427); + END_STATE(); + case 377: + if (lookahead == 'p') ADVANCE(428); + END_STATE(); + case 378: + if (lookahead == 't') ADVANCE(429); + END_STATE(); + case 379: + if (lookahead == 's') ADVANCE(430); + END_STATE(); + case 380: + if (lookahead == 'a') ADVANCE(431); + END_STATE(); + case 381: + if (lookahead == 'l') ADVANCE(432); + END_STATE(); + case 382: + if (lookahead == 'i') ADVANCE(433); + END_STATE(); + case 383: + if (lookahead == 'e') ADVANCE(434); + END_STATE(); + case 384: + ACCEPT_TOKEN(anon_sym___leave); + END_STATE(); + case 385: + if (lookahead == 'i') ADVANCE(435); + END_STATE(); + case 386: + if (lookahead == 'l') ADVANCE(436); + END_STATE(); + case 387: + if (lookahead == 'a') ADVANCE(437); + END_STATE(); + case 388: + if (lookahead == 'd') ADVANCE(438); + END_STATE(); + case 389: + if (lookahead == 'g') ADVANCE(439); + END_STATE(); + case 390: + if (lookahead == 'r') ADVANCE(440); + END_STATE(); + case 391: + if (lookahead == 'i') ADVANCE(441); + END_STATE(); + case 392: + if (lookahead == 'f') ADVANCE(442); + END_STATE(); + case 393: + if (lookahead == 'n') ADVANCE(443); + END_STATE(); + case 394: + ACCEPT_TOKEN(anon_sym_alignas); + END_STATE(); + case 395: + ACCEPT_TOKEN(anon_sym_alignof); + END_STATE(); + case 396: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 397: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 398: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 399: + if (lookahead == '_') ADVANCE(444); + END_STATE(); + case 400: + if (lookahead == 'p') ADVANCE(445); + END_STATE(); + case 401: + if (lookahead == 'e') ADVANCE(446); + END_STATE(); + case 402: + ACCEPT_TOKEN(anon_sym_default); + END_STATE(); + case 403: + ACCEPT_TOKEN(anon_sym_defined); + END_STATE(); + case 404: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 405: + if (lookahead == 'g') ADVANCE(447); + END_STATE(); + case 406: + if (lookahead == 'n') ADVANCE(448); + END_STATE(); + case 407: + ACCEPT_TOKEN(anon_sym_nullptr); + if (lookahead == '_') ADVANCE(449); + END_STATE(); + case 408: + if (lookahead == 'f') ADVANCE(450); + END_STATE(); + case 409: + if (lookahead == '_') ADVANCE(451); + END_STATE(); + case 410: + if (lookahead == 'r') ADVANCE(452); + END_STATE(); + case 411: + if (lookahead == 't') ADVANCE(453); + END_STATE(); + case 412: + if (lookahead == 'l') ADVANCE(454); + END_STATE(); + case 413: + ACCEPT_TOKEN(anon_sym_typedef); + END_STATE(); + case 414: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 415: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 416: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 417: + if (lookahead == '_') ADVANCE(455); + END_STATE(); + case 418: + if (lookahead == 'd') ADVANCE(456); + END_STATE(); + case 419: + if (lookahead == 'e') ADVANCE(457); + END_STATE(); + case 420: + ACCEPT_TOKEN(anon_sym__Alignas); + END_STATE(); + case 421: + ACCEPT_TOKEN(anon_sym__Alignof); + END_STATE(); + case 422: + ACCEPT_TOKEN(anon_sym__Generic); + END_STATE(); + case 423: + ACCEPT_TOKEN(anon_sym__Nonnull); + END_STATE(); + case 424: + if (lookahead == 'n') ADVANCE(458); + END_STATE(); + case 425: + if (lookahead == 'f') ADVANCE(459); + END_STATE(); + case 426: + if (lookahead == 'u') ADVANCE(460); + END_STATE(); + case 427: + if (lookahead == 'l') ADVANCE(461); + END_STATE(); + case 428: + if (lookahead == 'e') ADVANCE(462); + END_STATE(); + case 429: + ACCEPT_TOKEN(anon_sym___except); + END_STATE(); + case 430: + if (lookahead == 'i') ADVANCE(463); + END_STATE(); + case 431: + if (lookahead == 'l') ADVANCE(464); + END_STATE(); + case 432: + if (lookahead == 'y') ADVANCE(465); + END_STATE(); + case 433: + if (lookahead == 'n') ADVANCE(466); + END_STATE(); + case 434: + ACCEPT_TOKEN(anon_sym___inline); + if (lookahead == '_') ADVANCE(467); + END_STATE(); + case 435: + if (lookahead == 'c') ADVANCE(468); + END_STATE(); + case 436: + if (lookahead == 'l') ADVANCE(469); + END_STATE(); + case 437: + if (lookahead == 'l') ADVANCE(470); + END_STATE(); + case 438: + ACCEPT_TOKEN(anon_sym___thread); + END_STATE(); + case 439: + if (lookahead == 'n') ADVANCE(471); + END_STATE(); + case 440: + if (lookahead == 'c') ADVANCE(472); + END_STATE(); + case 441: + if (lookahead == 'l') ADVANCE(473); + END_STATE(); + case 442: + ACCEPT_TOKEN(anon_sym__alignof); + END_STATE(); + case 443: + if (lookahead == 'e') ADVANCE(474); + END_STATE(); + case 444: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 445: + if (lookahead == 'r') ADVANCE(475); + END_STATE(); + case 446: + ACCEPT_TOKEN(anon_sym_continue); + END_STATE(); + case 447: + if (lookahead == 'n') ADVANCE(476); + END_STATE(); + case 448: + ACCEPT_TOKEN(anon_sym_noreturn); + END_STATE(); + case 449: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 450: + ACCEPT_TOKEN(anon_sym_offsetof); + END_STATE(); + case 451: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 452: + ACCEPT_TOKEN(anon_sym_register); + END_STATE(); + case 453: + ACCEPT_TOKEN(anon_sym_restrict); + END_STATE(); + case 454: + if (lookahead == 'o') ADVANCE(477); + END_STATE(); + case 455: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 456: + ACCEPT_TOKEN(anon_sym_unsigned); + END_STATE(); + case 457: + ACCEPT_TOKEN(anon_sym_volatile); + END_STATE(); + case 458: + ACCEPT_TOKEN(anon_sym__Noreturn); + END_STATE(); + case 459: + ACCEPT_TOKEN(anon_sym___alignof); + if (lookahead == '_') ADVANCE(478); + END_STATE(); + case 460: + if (lookahead == 't') ADVANCE(479); + END_STATE(); + case 461: + ACCEPT_TOKEN(anon_sym___clrcall); + END_STATE(); + case 462: + if (lookahead == 'c') ADVANCE(480); + END_STATE(); + case 463: + if (lookahead == 'o') ADVANCE(481); + END_STATE(); + case 464: + if (lookahead == 'l') ADVANCE(482); + END_STATE(); + case 465: + ACCEPT_TOKEN(anon_sym___finally); + END_STATE(); + case 466: + if (lookahead == 'l') ADVANCE(483); + END_STATE(); + case 467: + if (lookahead == '_') ADVANCE(484); + END_STATE(); + case 468: + if (lookahead == 't') ADVANCE(485); + END_STATE(); + case 469: + ACCEPT_TOKEN(anon_sym___stdcall); + END_STATE(); + case 470: + if (lookahead == 'l') ADVANCE(486); + END_STATE(); + case 471: + if (lookahead == 'e') ADVANCE(487); + END_STATE(); + case 472: + if (lookahead == 'a') ADVANCE(488); + END_STATE(); + case 473: + if (lookahead == 'e') ADVANCE(489); + END_STATE(); + case 474: + if (lookahead == 'd') ADVANCE(490); + END_STATE(); + case 475: + ACCEPT_TOKEN(anon_sym_constexpr); + END_STATE(); + case 476: + if (lookahead == '_') ADVANCE(491); + END_STATE(); + case 477: + if (lookahead == 'c') ADVANCE(492); + END_STATE(); + case 478: + if (lookahead == '_') ADVANCE(493); + END_STATE(); + case 479: + if (lookahead == 'e') ADVANCE(494); + END_STATE(); + case 480: + ACCEPT_TOKEN(anon_sym___declspec); + END_STATE(); + case 481: + if (lookahead == 'n') ADVANCE(495); + END_STATE(); + case 482: + ACCEPT_TOKEN(anon_sym___fastcall); + END_STATE(); + case 483: + if (lookahead == 'i') ADVANCE(496); + END_STATE(); + case 484: + ACCEPT_TOKEN(anon_sym___inline__); + END_STATE(); + case 485: + ACCEPT_TOKEN(sym_ms_restrict_modifier); + if (lookahead == '_') ADVANCE(497); + END_STATE(); + case 486: + ACCEPT_TOKEN(anon_sym___thiscall); + END_STATE(); + case 487: + if (lookahead == 'd') ADVANCE(498); + END_STATE(); + case 488: + if (lookahead == 'l') ADVANCE(499); + END_STATE(); + case 489: + if (lookahead == '_') ADVANCE(500); + END_STATE(); + case 490: + ACCEPT_TOKEN(anon_sym__unaligned); + END_STATE(); + case 491: + if (lookahead == 't') ADVANCE(173); + END_STATE(); + case 492: + if (lookahead == 'a') ADVANCE(501); + END_STATE(); + case 493: + ACCEPT_TOKEN(anon_sym___alignof__); + END_STATE(); + case 494: + ACCEPT_TOKEN(anon_sym___attribute); + if (lookahead == '_') ADVANCE(502); + END_STATE(); + case 495: + if (lookahead == '_') ADVANCE(503); + END_STATE(); + case 496: + if (lookahead == 'n') ADVANCE(504); + END_STATE(); + case 497: + if (lookahead == '_') ADVANCE(505); + END_STATE(); + case 498: + ACCEPT_TOKEN(anon_sym___unaligned); + END_STATE(); + case 499: + if (lookahead == 'l') ADVANCE(506); + END_STATE(); + case 500: + if (lookahead == '_') ADVANCE(507); + END_STATE(); + case 501: + if (lookahead == 'l') ADVANCE(508); + END_STATE(); + case 502: + if (lookahead == '_') ADVANCE(509); + END_STATE(); + case 503: + if (lookahead == '_') ADVANCE(510); + END_STATE(); + case 504: + if (lookahead == 'e') ADVANCE(511); + END_STATE(); + case 505: + ACCEPT_TOKEN(anon_sym___restrict__); + END_STATE(); + case 506: + ACCEPT_TOKEN(anon_sym___vectorcall); + END_STATE(); + case 507: + ACCEPT_TOKEN(anon_sym___volatile__); + END_STATE(); + case 508: + ACCEPT_TOKEN(anon_sym_thread_local); + END_STATE(); + case 509: + ACCEPT_TOKEN(anon_sym___attribute__); + END_STATE(); + case 510: + ACCEPT_TOKEN(anon_sym___extension__); + END_STATE(); + case 511: + 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 = 120}, + [2] = {.lex_state = 45}, + [3] = {.lex_state = 45}, + [4] = {.lex_state = 45}, + [5] = {.lex_state = 45}, + [6] = {.lex_state = 45}, + [7] = {.lex_state = 45}, + [8] = {.lex_state = 45}, + [9] = {.lex_state = 45}, + [10] = {.lex_state = 45}, + [11] = {.lex_state = 45}, + [12] = {.lex_state = 45}, + [13] = {.lex_state = 45}, + [14] = {.lex_state = 45}, + [15] = {.lex_state = 45}, + [16] = {.lex_state = 45}, + [17] = {.lex_state = 45}, + [18] = {.lex_state = 45}, + [19] = {.lex_state = 45}, + [20] = {.lex_state = 45}, + [21] = {.lex_state = 45}, + [22] = {.lex_state = 45}, + [23] = {.lex_state = 120}, + [24] = {.lex_state = 120}, + [25] = {.lex_state = 120}, + [26] = {.lex_state = 47}, + [27] = {.lex_state = 120}, + [28] = {.lex_state = 120}, + [29] = {.lex_state = 120}, + [30] = {.lex_state = 120}, + [31] = {.lex_state = 120}, + [32] = {.lex_state = 120}, + [33] = {.lex_state = 120}, + [34] = {.lex_state = 120}, + [35] = {.lex_state = 47}, + [36] = {.lex_state = 120}, + [37] = {.lex_state = 120}, + [38] = {.lex_state = 120}, + [39] = {.lex_state = 120}, + [40] = {.lex_state = 47}, + [41] = {.lex_state = 120}, + [42] = {.lex_state = 120}, + [43] = {.lex_state = 120}, + [44] = {.lex_state = 120}, + [45] = {.lex_state = 45}, + [46] = {.lex_state = 45}, + [47] = {.lex_state = 45}, + [48] = {.lex_state = 45}, + [49] = {.lex_state = 45}, + [50] = {.lex_state = 120}, + [51] = {.lex_state = 120}, + [52] = {.lex_state = 120}, + [53] = {.lex_state = 120}, + [54] = {.lex_state = 120}, + [55] = {.lex_state = 120}, + [56] = {.lex_state = 120}, + [57] = {.lex_state = 47}, + [58] = {.lex_state = 47}, + [59] = {.lex_state = 47}, + [60] = {.lex_state = 47}, + [61] = {.lex_state = 47}, + [62] = {.lex_state = 120}, + [63] = {.lex_state = 120}, + [64] = {.lex_state = 120}, + [65] = {.lex_state = 120}, + [66] = {.lex_state = 120}, + [67] = {.lex_state = 120}, + [68] = {.lex_state = 120}, + [69] = {.lex_state = 120}, + [70] = {.lex_state = 120}, + [71] = {.lex_state = 120}, + [72] = {.lex_state = 120}, + [73] = {.lex_state = 120}, + [74] = {.lex_state = 120}, + [75] = {.lex_state = 120}, + [76] = {.lex_state = 120}, + [77] = {.lex_state = 120}, + [78] = {.lex_state = 120}, + [79] = {.lex_state = 120}, + [80] = {.lex_state = 45}, + [81] = {.lex_state = 45}, + [82] = {.lex_state = 45}, + [83] = {.lex_state = 45}, + [84] = {.lex_state = 45}, + [85] = {.lex_state = 45}, + [86] = {.lex_state = 45}, + [87] = {.lex_state = 45}, + [88] = {.lex_state = 45}, + [89] = {.lex_state = 45}, + [90] = {.lex_state = 45}, + [91] = {.lex_state = 45}, + [92] = {.lex_state = 45}, + [93] = {.lex_state = 45}, + [94] = {.lex_state = 45}, + [95] = {.lex_state = 45}, + [96] = {.lex_state = 45}, + [97] = {.lex_state = 45}, + [98] = {.lex_state = 45}, + [99] = {.lex_state = 45}, + [100] = {.lex_state = 45}, + [101] = {.lex_state = 45}, + [102] = {.lex_state = 45}, + [103] = {.lex_state = 45}, + [104] = {.lex_state = 45}, + [105] = {.lex_state = 45}, + [106] = {.lex_state = 45}, + [107] = {.lex_state = 45}, + [108] = {.lex_state = 45}, + [109] = {.lex_state = 45}, + [110] = {.lex_state = 45}, + [111] = {.lex_state = 45}, + [112] = {.lex_state = 45}, + [113] = {.lex_state = 45}, + [114] = {.lex_state = 45}, + [115] = {.lex_state = 120}, + [116] = {.lex_state = 45}, + [117] = {.lex_state = 120}, + [118] = {.lex_state = 45}, + [119] = {.lex_state = 45}, + [120] = {.lex_state = 45}, + [121] = {.lex_state = 45}, + [122] = {.lex_state = 45}, + [123] = {.lex_state = 45}, + [124] = {.lex_state = 45}, + [125] = {.lex_state = 45}, + [126] = {.lex_state = 45}, + [127] = {.lex_state = 45}, + [128] = {.lex_state = 45}, + [129] = {.lex_state = 45}, + [130] = {.lex_state = 45}, + [131] = {.lex_state = 45}, + [132] = {.lex_state = 45}, + [133] = {.lex_state = 45}, + [134] = {.lex_state = 45}, + [135] = {.lex_state = 45}, + [136] = {.lex_state = 45}, + [137] = {.lex_state = 45}, + [138] = {.lex_state = 45}, + [139] = {.lex_state = 45}, + [140] = {.lex_state = 45}, + [141] = {.lex_state = 45}, + [142] = {.lex_state = 45}, + [143] = {.lex_state = 45}, + [144] = {.lex_state = 45}, + [145] = {.lex_state = 45}, + [146] = {.lex_state = 45}, + [147] = {.lex_state = 45}, + [148] = {.lex_state = 47}, + [149] = {.lex_state = 120}, + [150] = {.lex_state = 120}, + [151] = {.lex_state = 120}, + [152] = {.lex_state = 120}, + [153] = {.lex_state = 120}, + [154] = {.lex_state = 120}, + [155] = {.lex_state = 120}, + [156] = {.lex_state = 120}, + [157] = {.lex_state = 120}, + [158] = {.lex_state = 120}, + [159] = {.lex_state = 120}, + [160] = {.lex_state = 120}, + [161] = {.lex_state = 120}, + [162] = {.lex_state = 120}, + [163] = {.lex_state = 120}, + [164] = {.lex_state = 120}, + [165] = {.lex_state = 120}, + [166] = {.lex_state = 120}, + [167] = {.lex_state = 120}, + [168] = {.lex_state = 120}, + [169] = {.lex_state = 120}, + [170] = {.lex_state = 120}, + [171] = {.lex_state = 120}, + [172] = {.lex_state = 120}, + [173] = {.lex_state = 120}, + [174] = {.lex_state = 120}, + [175] = {.lex_state = 120}, + [176] = {.lex_state = 120}, + [177] = {.lex_state = 120}, + [178] = {.lex_state = 47}, + [179] = {.lex_state = 47}, + [180] = {.lex_state = 47}, + [181] = {.lex_state = 120}, + [182] = {.lex_state = 47}, + [183] = {.lex_state = 47}, + [184] = {.lex_state = 47}, + [185] = {.lex_state = 47}, + [186] = {.lex_state = 47}, + [187] = {.lex_state = 47}, + [188] = {.lex_state = 47}, + [189] = {.lex_state = 120}, + [190] = {.lex_state = 47}, + [191] = {.lex_state = 120}, + [192] = {.lex_state = 120}, + [193] = {.lex_state = 47}, + [194] = {.lex_state = 47}, + [195] = {.lex_state = 47}, + [196] = {.lex_state = 47}, + [197] = {.lex_state = 47}, + [198] = {.lex_state = 47}, + [199] = {.lex_state = 47}, + [200] = {.lex_state = 120}, + [201] = {.lex_state = 120}, + [202] = {.lex_state = 47}, + [203] = {.lex_state = 47}, + [204] = {.lex_state = 47}, + [205] = {.lex_state = 47}, + [206] = {.lex_state = 47}, + [207] = {.lex_state = 120}, + [208] = {.lex_state = 47}, + [209] = {.lex_state = 47}, + [210] = {.lex_state = 47}, + [211] = {.lex_state = 47}, + [212] = {.lex_state = 47}, + [213] = {.lex_state = 47}, + [214] = {.lex_state = 47}, + [215] = {.lex_state = 47}, + [216] = {.lex_state = 47}, + [217] = {.lex_state = 47}, + [218] = {.lex_state = 47}, + [219] = {.lex_state = 47}, + [220] = {.lex_state = 120}, + [221] = {.lex_state = 120}, + [222] = {.lex_state = 120}, + [223] = {.lex_state = 120}, + [224] = {.lex_state = 120}, + [225] = {.lex_state = 120}, + [226] = {.lex_state = 120}, + [227] = {.lex_state = 120}, + [228] = {.lex_state = 120}, + [229] = {.lex_state = 120}, + [230] = {.lex_state = 120}, + [231] = {.lex_state = 120}, + [232] = {.lex_state = 120}, + [233] = {.lex_state = 120}, + [234] = {.lex_state = 120}, + [235] = {.lex_state = 120}, + [236] = {.lex_state = 120}, + [237] = {.lex_state = 120}, + [238] = {.lex_state = 120}, + [239] = {.lex_state = 120}, + [240] = {.lex_state = 120}, + [241] = {.lex_state = 120}, + [242] = {.lex_state = 120}, + [243] = {.lex_state = 120}, + [244] = {.lex_state = 120}, + [245] = {.lex_state = 120}, + [246] = {.lex_state = 120}, + [247] = {.lex_state = 120}, + [248] = {.lex_state = 120}, + [249] = {.lex_state = 120}, + [250] = {.lex_state = 120}, + [251] = {.lex_state = 120}, + [252] = {.lex_state = 120}, + [253] = {.lex_state = 120}, + [254] = {.lex_state = 120}, + [255] = {.lex_state = 120}, + [256] = {.lex_state = 47}, + [257] = {.lex_state = 120}, + [258] = {.lex_state = 120}, + [259] = {.lex_state = 120}, + [260] = {.lex_state = 120}, + [261] = {.lex_state = 120}, + [262] = {.lex_state = 120}, + [263] = {.lex_state = 120}, + [264] = {.lex_state = 120}, + [265] = {.lex_state = 120}, + [266] = {.lex_state = 120}, + [267] = {.lex_state = 120}, + [268] = {.lex_state = 120}, + [269] = {.lex_state = 120}, + [270] = {.lex_state = 120}, + [271] = {.lex_state = 120}, + [272] = {.lex_state = 120}, + [273] = {.lex_state = 44}, + [274] = {.lex_state = 120}, + [275] = {.lex_state = 120}, + [276] = {.lex_state = 120}, + [277] = {.lex_state = 120}, + [278] = {.lex_state = 120}, + [279] = {.lex_state = 120}, + [280] = {.lex_state = 120}, + [281] = {.lex_state = 120}, + [282] = {.lex_state = 120}, + [283] = {.lex_state = 120}, + [284] = {.lex_state = 120}, + [285] = {.lex_state = 120}, + [286] = {.lex_state = 47}, + [287] = {.lex_state = 47}, + [288] = {.lex_state = 47}, + [289] = {.lex_state = 47}, + [290] = {.lex_state = 47}, + [291] = {.lex_state = 47}, + [292] = {.lex_state = 47}, + [293] = {.lex_state = 47}, + [294] = {.lex_state = 47}, + [295] = {.lex_state = 47}, + [296] = {.lex_state = 47}, + [297] = {.lex_state = 47}, + [298] = {.lex_state = 47}, + [299] = {.lex_state = 47}, + [300] = {.lex_state = 47}, + [301] = {.lex_state = 47}, + [302] = {.lex_state = 47}, + [303] = {.lex_state = 47}, + [304] = {.lex_state = 47}, + [305] = {.lex_state = 47}, + [306] = {.lex_state = 47}, + [307] = {.lex_state = 47}, + [308] = {.lex_state = 47}, + [309] = {.lex_state = 47}, + [310] = {.lex_state = 47}, + [311] = {.lex_state = 47}, + [312] = {.lex_state = 47}, + [313] = {.lex_state = 47}, + [314] = {.lex_state = 47}, + [315] = {.lex_state = 120}, + [316] = {.lex_state = 120}, + [317] = {.lex_state = 120}, + [318] = {.lex_state = 44}, + [319] = {.lex_state = 120}, + [320] = {.lex_state = 120}, + [321] = {.lex_state = 120}, + [322] = {.lex_state = 120}, + [323] = {.lex_state = 120}, + [324] = {.lex_state = 120}, + [325] = {.lex_state = 120}, + [326] = {.lex_state = 120}, + [327] = {.lex_state = 120}, + [328] = {.lex_state = 120}, + [329] = {.lex_state = 120}, + [330] = {.lex_state = 120}, + [331] = {.lex_state = 120}, + [332] = {.lex_state = 120}, + [333] = {.lex_state = 120}, + [334] = {.lex_state = 120}, + [335] = {.lex_state = 120}, + [336] = {.lex_state = 120}, + [337] = {.lex_state = 120}, + [338] = {.lex_state = 120}, + [339] = {.lex_state = 120}, + [340] = {.lex_state = 120}, + [341] = {.lex_state = 120}, + [342] = {.lex_state = 120}, + [343] = {.lex_state = 120}, + [344] = {.lex_state = 120}, + [345] = {.lex_state = 120}, + [346] = {.lex_state = 120}, + [347] = {.lex_state = 120}, + [348] = {.lex_state = 120}, + [349] = {.lex_state = 120}, + [350] = {.lex_state = 120}, + [351] = {.lex_state = 120}, + [352] = {.lex_state = 120}, + [353] = {.lex_state = 120}, + [354] = {.lex_state = 120}, + [355] = {.lex_state = 120}, + [356] = {.lex_state = 120}, + [357] = {.lex_state = 120}, + [358] = {.lex_state = 120}, + [359] = {.lex_state = 120}, + [360] = {.lex_state = 120}, + [361] = {.lex_state = 120}, + [362] = {.lex_state = 120}, + [363] = {.lex_state = 120}, + [364] = {.lex_state = 120}, + [365] = {.lex_state = 120}, + [366] = {.lex_state = 120}, + [367] = {.lex_state = 120}, + [368] = {.lex_state = 120}, + [369] = {.lex_state = 120}, + [370] = {.lex_state = 120}, + [371] = {.lex_state = 120}, + [372] = {.lex_state = 120}, + [373] = {.lex_state = 120}, + [374] = {.lex_state = 120}, + [375] = {.lex_state = 120}, + [376] = {.lex_state = 120}, + [377] = {.lex_state = 120}, + [378] = {.lex_state = 120}, + [379] = {.lex_state = 120}, + [380] = {.lex_state = 120}, + [381] = {.lex_state = 120}, + [382] = {.lex_state = 120}, + [383] = {.lex_state = 120}, + [384] = {.lex_state = 120}, + [385] = {.lex_state = 120}, + [386] = {.lex_state = 120}, + [387] = {.lex_state = 120}, + [388] = {.lex_state = 120}, + [389] = {.lex_state = 120}, + [390] = {.lex_state = 44}, + [391] = {.lex_state = 120}, + [392] = {.lex_state = 120}, + [393] = {.lex_state = 120}, + [394] = {.lex_state = 120}, + [395] = {.lex_state = 120}, + [396] = {.lex_state = 120}, + [397] = {.lex_state = 120}, + [398] = {.lex_state = 120}, + [399] = {.lex_state = 120}, + [400] = {.lex_state = 120}, + [401] = {.lex_state = 120}, + [402] = {.lex_state = 120}, + [403] = {.lex_state = 120}, + [404] = {.lex_state = 44}, + [405] = {.lex_state = 44}, + [406] = {.lex_state = 120}, + [407] = {.lex_state = 120}, + [408] = {.lex_state = 49}, + [409] = {.lex_state = 49}, + [410] = {.lex_state = 49}, + [411] = {.lex_state = 49}, + [412] = {.lex_state = 49}, + [413] = {.lex_state = 49}, + [414] = {.lex_state = 49}, + [415] = {.lex_state = 49}, + [416] = {.lex_state = 49}, + [417] = {.lex_state = 44}, + [418] = {.lex_state = 49}, + [419] = {.lex_state = 53}, + [420] = {.lex_state = 120}, + [421] = {.lex_state = 120}, + [422] = {.lex_state = 120}, + [423] = {.lex_state = 120}, + [424] = {.lex_state = 120}, + [425] = {.lex_state = 120}, + [426] = {.lex_state = 120}, + [427] = {.lex_state = 120}, + [428] = {.lex_state = 120}, + [429] = {.lex_state = 120}, + [430] = {.lex_state = 120}, + [431] = {.lex_state = 53}, + [432] = {.lex_state = 53}, + [433] = {.lex_state = 53}, + [434] = {.lex_state = 53}, + [435] = {.lex_state = 53}, + [436] = {.lex_state = 53}, + [437] = {.lex_state = 53}, + [438] = {.lex_state = 53}, + [439] = {.lex_state = 53}, + [440] = {.lex_state = 53}, + [441] = {.lex_state = 53}, + [442] = {.lex_state = 53}, + [443] = {.lex_state = 53}, + [444] = {.lex_state = 53}, + [445] = {.lex_state = 53}, + [446] = {.lex_state = 53}, + [447] = {.lex_state = 120}, + [448] = {.lex_state = 53}, + [449] = {.lex_state = 120}, + [450] = {.lex_state = 120}, + [451] = {.lex_state = 120}, + [452] = {.lex_state = 53}, + [453] = {.lex_state = 52}, + [454] = {.lex_state = 52}, + [455] = {.lex_state = 57}, + [456] = {.lex_state = 52}, + [457] = {.lex_state = 57}, + [458] = {.lex_state = 57}, + [459] = {.lex_state = 120}, + [460] = {.lex_state = 120}, + [461] = {.lex_state = 120}, + [462] = {.lex_state = 120}, + [463] = {.lex_state = 120}, + [464] = {.lex_state = 120}, + [465] = {.lex_state = 120}, + [466] = {.lex_state = 120}, + [467] = {.lex_state = 120}, + [468] = {.lex_state = 120}, + [469] = {.lex_state = 120}, + [470] = {.lex_state = 120}, + [471] = {.lex_state = 120}, + [472] = {.lex_state = 120}, + [473] = {.lex_state = 120}, + [474] = {.lex_state = 120}, + [475] = {.lex_state = 120}, + [476] = {.lex_state = 120}, + [477] = {.lex_state = 120}, + [478] = {.lex_state = 120}, + [479] = {.lex_state = 120}, + [480] = {.lex_state = 120}, + [481] = {.lex_state = 120}, + [482] = {.lex_state = 120}, + [483] = {.lex_state = 120}, + [484] = {.lex_state = 120}, + [485] = {.lex_state = 120}, + [486] = {.lex_state = 120}, + [487] = {.lex_state = 120}, + [488] = {.lex_state = 120}, + [489] = {.lex_state = 120}, + [490] = {.lex_state = 120}, + [491] = {.lex_state = 120}, + [492] = {.lex_state = 120}, + [493] = {.lex_state = 120}, + [494] = {.lex_state = 120}, + [495] = {.lex_state = 120}, + [496] = {.lex_state = 120}, + [497] = {.lex_state = 53}, + [498] = {.lex_state = 120}, + [499] = {.lex_state = 53}, + [500] = {.lex_state = 120}, + [501] = {.lex_state = 120}, + [502] = {.lex_state = 120}, + [503] = {.lex_state = 53}, + [504] = {.lex_state = 120}, + [505] = {.lex_state = 120}, + [506] = {.lex_state = 53}, + [507] = {.lex_state = 120}, + [508] = {.lex_state = 120}, + [509] = {.lex_state = 120}, + [510] = {.lex_state = 120}, + [511] = {.lex_state = 120}, + [512] = {.lex_state = 120}, + [513] = {.lex_state = 120}, + [514] = {.lex_state = 120}, + [515] = {.lex_state = 120}, + [516] = {.lex_state = 120}, + [517] = {.lex_state = 120}, + [518] = {.lex_state = 120}, + [519] = {.lex_state = 120}, + [520] = {.lex_state = 120}, + [521] = {.lex_state = 120}, + [522] = {.lex_state = 120}, + [523] = {.lex_state = 120}, + [524] = {.lex_state = 120}, + [525] = {.lex_state = 120}, + [526] = {.lex_state = 120}, + [527] = {.lex_state = 120}, + [528] = {.lex_state = 120}, + [529] = {.lex_state = 120}, + [530] = {.lex_state = 120}, + [531] = {.lex_state = 120}, + [532] = {.lex_state = 120}, + [533] = {.lex_state = 120}, + [534] = {.lex_state = 120}, + [535] = {.lex_state = 120}, + [536] = {.lex_state = 120}, + [537] = {.lex_state = 120}, + [538] = {.lex_state = 120}, + [539] = {.lex_state = 120}, + [540] = {.lex_state = 120}, + [541] = {.lex_state = 120}, + [542] = {.lex_state = 120}, + [543] = {.lex_state = 120}, + [544] = {.lex_state = 120}, + [545] = {.lex_state = 120}, + [546] = {.lex_state = 120}, + [547] = {.lex_state = 120}, + [548] = {.lex_state = 120}, + [549] = {.lex_state = 120}, + [550] = {.lex_state = 49}, + [551] = {.lex_state = 120}, + [552] = {.lex_state = 120}, + [553] = {.lex_state = 120}, + [554] = {.lex_state = 120}, + [555] = {.lex_state = 120}, + [556] = {.lex_state = 120}, + [557] = {.lex_state = 120}, + [558] = {.lex_state = 120}, + [559] = {.lex_state = 120}, + [560] = {.lex_state = 120}, + [561] = {.lex_state = 120}, + [562] = {.lex_state = 120}, + [563] = {.lex_state = 120}, + [564] = {.lex_state = 120}, + [565] = {.lex_state = 120}, + [566] = {.lex_state = 120}, + [567] = {.lex_state = 120}, + [568] = {.lex_state = 120}, + [569] = {.lex_state = 120}, + [570] = {.lex_state = 120}, + [571] = {.lex_state = 120}, + [572] = {.lex_state = 120}, + [573] = {.lex_state = 120}, + [574] = {.lex_state = 120}, + [575] = {.lex_state = 120}, + [576] = {.lex_state = 120}, + [577] = {.lex_state = 120}, + [578] = {.lex_state = 120}, + [579] = {.lex_state = 120}, + [580] = {.lex_state = 120}, + [581] = {.lex_state = 120}, + [582] = {.lex_state = 120}, + [583] = {.lex_state = 120}, + [584] = {.lex_state = 120}, + [585] = {.lex_state = 120}, + [586] = {.lex_state = 120}, + [587] = {.lex_state = 120}, + [588] = {.lex_state = 120}, + [589] = {.lex_state = 120}, + [590] = {.lex_state = 120}, + [591] = {.lex_state = 120}, + [592] = {.lex_state = 120}, + [593] = {.lex_state = 120}, + [594] = {.lex_state = 120}, + [595] = {.lex_state = 120}, + [596] = {.lex_state = 120}, + [597] = {.lex_state = 120}, + [598] = {.lex_state = 120}, + [599] = {.lex_state = 120}, + [600] = {.lex_state = 120}, + [601] = {.lex_state = 120}, + [602] = {.lex_state = 120}, + [603] = {.lex_state = 120}, + [604] = {.lex_state = 120}, + [605] = {.lex_state = 120}, + [606] = {.lex_state = 120}, + [607] = {.lex_state = 120}, + [608] = {.lex_state = 120}, + [609] = {.lex_state = 120}, + [610] = {.lex_state = 120}, + [611] = {.lex_state = 120}, + [612] = {.lex_state = 120}, + [613] = {.lex_state = 120}, + [614] = {.lex_state = 120}, + [615] = {.lex_state = 120}, + [616] = {.lex_state = 120}, + [617] = {.lex_state = 120}, + [618] = {.lex_state = 120}, + [619] = {.lex_state = 120}, + [620] = {.lex_state = 120}, + [621] = {.lex_state = 120}, + [622] = {.lex_state = 120}, + [623] = {.lex_state = 120}, + [624] = {.lex_state = 120}, + [625] = {.lex_state = 120}, + [626] = {.lex_state = 120}, + [627] = {.lex_state = 120}, + [628] = {.lex_state = 49}, + [629] = {.lex_state = 49}, + [630] = {.lex_state = 49}, + [631] = {.lex_state = 49}, + [632] = {.lex_state = 53}, + [633] = {.lex_state = 53}, + [634] = {.lex_state = 50}, + [635] = {.lex_state = 50}, + [636] = {.lex_state = 50}, + [637] = {.lex_state = 50}, + [638] = {.lex_state = 49}, + [639] = {.lex_state = 50}, + [640] = {.lex_state = 50}, + [641] = {.lex_state = 50}, + [642] = {.lex_state = 49}, + [643] = {.lex_state = 50}, + [644] = {.lex_state = 50}, + [645] = {.lex_state = 50}, + [646] = {.lex_state = 53}, + [647] = {.lex_state = 53}, + [648] = {.lex_state = 53}, + [649] = {.lex_state = 53}, + [650] = {.lex_state = 53}, + [651] = {.lex_state = 53}, + [652] = {.lex_state = 53}, + [653] = {.lex_state = 53}, + [654] = {.lex_state = 53}, + [655] = {.lex_state = 53}, + [656] = {.lex_state = 53}, + [657] = {.lex_state = 53}, + [658] = {.lex_state = 53}, + [659] = {.lex_state = 53}, + [660] = {.lex_state = 53}, + [661] = {.lex_state = 53}, + [662] = {.lex_state = 53}, + [663] = {.lex_state = 53}, + [664] = {.lex_state = 53}, + [665] = {.lex_state = 53}, + [666] = {.lex_state = 53}, + [667] = {.lex_state = 120}, + [668] = {.lex_state = 120}, + [669] = {.lex_state = 120}, + [670] = {.lex_state = 120}, + [671] = {.lex_state = 50}, + [672] = {.lex_state = 53}, + [673] = {.lex_state = 49}, + [674] = {.lex_state = 53}, + [675] = {.lex_state = 53}, + [676] = {.lex_state = 50}, + [677] = {.lex_state = 50}, + [678] = {.lex_state = 50}, + [679] = {.lex_state = 50}, + [680] = {.lex_state = 50}, + [681] = {.lex_state = 50}, + [682] = {.lex_state = 50}, + [683] = {.lex_state = 53}, + [684] = {.lex_state = 50}, + [685] = {.lex_state = 50}, + [686] = {.lex_state = 50}, + [687] = {.lex_state = 50}, + [688] = {.lex_state = 50}, + [689] = {.lex_state = 50}, + [690] = {.lex_state = 50}, + [691] = {.lex_state = 53}, + [692] = {.lex_state = 50}, + [693] = {.lex_state = 50}, + [694] = {.lex_state = 53}, + [695] = {.lex_state = 53}, + [696] = {.lex_state = 53}, + [697] = {.lex_state = 53}, + [698] = {.lex_state = 50}, + [699] = {.lex_state = 120}, + [700] = {.lex_state = 50}, + [701] = {.lex_state = 51}, + [702] = {.lex_state = 50}, + [703] = {.lex_state = 120}, + [704] = {.lex_state = 50}, + [705] = {.lex_state = 50}, + [706] = {.lex_state = 51}, + [707] = {.lex_state = 50}, + [708] = {.lex_state = 50}, + [709] = {.lex_state = 51}, + [710] = {.lex_state = 53}, + [711] = {.lex_state = 53}, + [712] = {.lex_state = 53}, + [713] = {.lex_state = 53}, + [714] = {.lex_state = 49}, + [715] = {.lex_state = 53}, + [716] = {.lex_state = 53}, + [717] = {.lex_state = 53}, + [718] = {.lex_state = 49}, + [719] = {.lex_state = 49}, + [720] = {.lex_state = 53}, + [721] = {.lex_state = 53}, + [722] = {.lex_state = 53}, + [723] = {.lex_state = 53}, + [724] = {.lex_state = 53}, + [725] = {.lex_state = 53}, + [726] = {.lex_state = 53}, + [727] = {.lex_state = 53}, + [728] = {.lex_state = 53}, + [729] = {.lex_state = 53}, + [730] = {.lex_state = 53}, + [731] = {.lex_state = 53}, + [732] = {.lex_state = 53}, + [733] = {.lex_state = 53}, + [734] = {.lex_state = 53}, + [735] = {.lex_state = 53}, + [736] = {.lex_state = 53}, + [737] = {.lex_state = 53}, + [738] = {.lex_state = 53}, + [739] = {.lex_state = 53}, + [740] = {.lex_state = 53}, + [741] = {.lex_state = 53}, + [742] = {.lex_state = 53}, + [743] = {.lex_state = 53}, + [744] = {.lex_state = 53}, + [745] = {.lex_state = 53}, + [746] = {.lex_state = 53}, + [747] = {.lex_state = 53}, + [748] = {.lex_state = 53}, + [749] = {.lex_state = 53}, + [750] = {.lex_state = 53}, + [751] = {.lex_state = 53}, + [752] = {.lex_state = 53}, + [753] = {.lex_state = 53}, + [754] = {.lex_state = 53}, + [755] = {.lex_state = 53}, + [756] = {.lex_state = 53}, + [757] = {.lex_state = 53}, + [758] = {.lex_state = 53}, + [759] = {.lex_state = 53}, + [760] = {.lex_state = 53}, + [761] = {.lex_state = 53}, + [762] = {.lex_state = 53}, + [763] = {.lex_state = 53}, + [764] = {.lex_state = 53}, + [765] = {.lex_state = 53}, + [766] = {.lex_state = 53}, + [767] = {.lex_state = 53}, + [768] = {.lex_state = 53}, + [769] = {.lex_state = 53}, + [770] = {.lex_state = 53}, + [771] = {.lex_state = 53}, + [772] = {.lex_state = 53}, + [773] = {.lex_state = 53}, + [774] = {.lex_state = 53}, + [775] = {.lex_state = 53}, + [776] = {.lex_state = 53}, + [777] = {.lex_state = 53}, + [778] = {.lex_state = 53}, + [779] = {.lex_state = 53}, + [780] = {.lex_state = 53}, + [781] = {.lex_state = 53}, + [782] = {.lex_state = 53}, + [783] = {.lex_state = 53}, + [784] = {.lex_state = 53}, + [785] = {.lex_state = 53}, + [786] = {.lex_state = 53}, + [787] = {.lex_state = 53}, + [788] = {.lex_state = 49}, + [789] = {.lex_state = 53}, + [790] = {.lex_state = 53}, + [791] = {.lex_state = 53}, + [792] = {.lex_state = 49}, + [793] = {.lex_state = 53}, + [794] = {.lex_state = 53}, + [795] = {.lex_state = 53}, + [796] = {.lex_state = 49}, + [797] = {.lex_state = 53}, + [798] = {.lex_state = 53}, + [799] = {.lex_state = 49}, + [800] = {.lex_state = 53}, + [801] = {.lex_state = 49}, + [802] = {.lex_state = 53}, + [803] = {.lex_state = 53}, + [804] = {.lex_state = 49}, + [805] = {.lex_state = 53}, + [806] = {.lex_state = 53}, + [807] = {.lex_state = 53}, + [808] = {.lex_state = 53}, + [809] = {.lex_state = 53}, + [810] = {.lex_state = 53}, + [811] = {.lex_state = 53}, + [812] = {.lex_state = 53}, + [813] = {.lex_state = 53}, + [814] = {.lex_state = 53}, + [815] = {.lex_state = 53}, + [816] = {.lex_state = 53}, + [817] = {.lex_state = 53}, + [818] = {.lex_state = 53}, + [819] = {.lex_state = 53}, + [820] = {.lex_state = 53}, + [821] = {.lex_state = 53}, + [822] = {.lex_state = 53}, + [823] = {.lex_state = 50}, + [824] = {.lex_state = 50}, + [825] = {.lex_state = 50}, + [826] = {.lex_state = 50}, + [827] = {.lex_state = 53}, + [828] = {.lex_state = 50}, + [829] = {.lex_state = 50}, + [830] = {.lex_state = 50}, + [831] = {.lex_state = 50}, + [832] = {.lex_state = 50}, + [833] = {.lex_state = 50}, + [834] = {.lex_state = 50}, + [835] = {.lex_state = 50}, + [836] = {.lex_state = 53}, + [837] = {.lex_state = 53}, + [838] = {.lex_state = 53}, + [839] = {.lex_state = 53}, + [840] = {.lex_state = 49}, + [841] = {.lex_state = 53}, + [842] = {.lex_state = 50}, + [843] = {.lex_state = 53}, + [844] = {.lex_state = 53}, + [845] = {.lex_state = 50}, + [846] = {.lex_state = 53}, + [847] = {.lex_state = 53}, + [848] = {.lex_state = 53}, + [849] = {.lex_state = 53}, + [850] = {.lex_state = 49}, + [851] = {.lex_state = 57}, + [852] = {.lex_state = 57}, + [853] = {.lex_state = 53}, + [854] = {.lex_state = 57}, + [855] = {.lex_state = 57}, + [856] = {.lex_state = 57}, + [857] = {.lex_state = 57}, + [858] = {.lex_state = 52}, + [859] = {.lex_state = 57}, + [860] = {.lex_state = 52}, + [861] = {.lex_state = 57}, + [862] = {.lex_state = 52}, + [863] = {.lex_state = 52}, + [864] = {.lex_state = 52}, + [865] = {.lex_state = 52}, + [866] = {.lex_state = 52}, + [867] = {.lex_state = 52}, + [868] = {.lex_state = 49}, + [869] = {.lex_state = 49}, + [870] = {.lex_state = 57}, + [871] = {.lex_state = 52}, + [872] = {.lex_state = 57}, + [873] = {.lex_state = 57}, + [874] = {.lex_state = 52}, + [875] = {.lex_state = 52}, + [876] = {.lex_state = 53}, + [877] = {.lex_state = 52}, + [878] = {.lex_state = 49}, + [879] = {.lex_state = 53}, + [880] = {.lex_state = 57}, + [881] = {.lex_state = 57}, + [882] = {.lex_state = 52}, + [883] = {.lex_state = 57}, + [884] = {.lex_state = 57}, + [885] = {.lex_state = 57}, + [886] = {.lex_state = 57}, + [887] = {.lex_state = 52}, + [888] = {.lex_state = 52}, + [889] = {.lex_state = 57}, + [890] = {.lex_state = 52}, + [891] = {.lex_state = 52}, + [892] = {.lex_state = 52}, + [893] = {.lex_state = 53}, + [894] = {.lex_state = 53}, + [895] = {.lex_state = 49}, + [896] = {.lex_state = 49}, + [897] = {.lex_state = 53}, + [898] = {.lex_state = 49}, + [899] = {.lex_state = 49}, + [900] = {.lex_state = 49}, + [901] = {.lex_state = 49}, + [902] = {.lex_state = 49}, + [903] = {.lex_state = 49}, + [904] = {.lex_state = 49}, + [905] = {.lex_state = 49}, + [906] = {.lex_state = 49}, + [907] = {.lex_state = 49}, + [908] = {.lex_state = 53}, + [909] = {.lex_state = 49}, + [910] = {.lex_state = 49}, + [911] = {.lex_state = 49}, + [912] = {.lex_state = 49}, + [913] = {.lex_state = 49}, + [914] = {.lex_state = 49}, + [915] = {.lex_state = 49}, + [916] = {.lex_state = 53}, + [917] = {.lex_state = 53}, + [918] = {.lex_state = 120}, + [919] = {.lex_state = 120}, + [920] = {.lex_state = 120}, + [921] = {.lex_state = 120}, + [922] = {.lex_state = 120}, + [923] = {.lex_state = 53}, + [924] = {.lex_state = 120}, + [925] = {.lex_state = 49}, + [926] = {.lex_state = 120}, + [927] = {.lex_state = 49}, + [928] = {.lex_state = 120}, + [929] = {.lex_state = 120}, + [930] = {.lex_state = 120}, + [931] = {.lex_state = 49}, + [932] = {.lex_state = 49}, + [933] = {.lex_state = 53}, + [934] = {.lex_state = 53}, + [935] = {.lex_state = 49}, + [936] = {.lex_state = 53}, + [937] = {.lex_state = 53}, + [938] = {.lex_state = 53}, + [939] = {.lex_state = 53}, + [940] = {.lex_state = 53}, + [941] = {.lex_state = 53}, + [942] = {.lex_state = 53}, + [943] = {.lex_state = 53}, + [944] = {.lex_state = 53}, + [945] = {.lex_state = 53}, + [946] = {.lex_state = 53}, + [947] = {.lex_state = 53}, + [948] = {.lex_state = 53}, + [949] = {.lex_state = 53}, + [950] = {.lex_state = 53}, + [951] = {.lex_state = 53}, + [952] = {.lex_state = 53}, + [953] = {.lex_state = 53}, + [954] = {.lex_state = 53}, + [955] = {.lex_state = 53}, + [956] = {.lex_state = 53}, + [957] = {.lex_state = 53}, + [958] = {.lex_state = 53}, + [959] = {.lex_state = 53}, + [960] = {.lex_state = 53}, + [961] = {.lex_state = 53}, + [962] = {.lex_state = 53}, + [963] = {.lex_state = 53}, + [964] = {.lex_state = 53}, + [965] = {.lex_state = 53}, + [966] = {.lex_state = 53}, + [967] = {.lex_state = 53}, + [968] = {.lex_state = 50}, + [969] = {.lex_state = 53}, + [970] = {.lex_state = 50}, + [971] = {.lex_state = 50}, + [972] = {.lex_state = 50}, + [973] = {.lex_state = 50}, + [974] = {.lex_state = 50}, + [975] = {.lex_state = 50}, + [976] = {.lex_state = 50}, + [977] = {.lex_state = 50}, + [978] = {.lex_state = 50}, + [979] = {.lex_state = 50}, + [980] = {.lex_state = 50}, + [981] = {.lex_state = 50}, + [982] = {.lex_state = 53}, + [983] = {.lex_state = 53}, + [984] = {.lex_state = 53}, + [985] = {.lex_state = 53}, + [986] = {.lex_state = 53}, + [987] = {.lex_state = 50}, + [988] = {.lex_state = 53}, + [989] = {.lex_state = 53}, + [990] = {.lex_state = 53}, + [991] = {.lex_state = 53}, + [992] = {.lex_state = 53}, + [993] = {.lex_state = 53}, + [994] = {.lex_state = 53}, + [995] = {.lex_state = 53}, + [996] = {.lex_state = 53}, + [997] = {.lex_state = 53}, + [998] = {.lex_state = 53}, + [999] = {.lex_state = 52}, + [1000] = {.lex_state = 52}, + [1001] = {.lex_state = 53}, + [1002] = {.lex_state = 53}, + [1003] = {.lex_state = 53}, + [1004] = {.lex_state = 52}, + [1005] = {.lex_state = 53}, + [1006] = {.lex_state = 53}, + [1007] = {.lex_state = 53}, + [1008] = {.lex_state = 53}, + [1009] = {.lex_state = 53}, + [1010] = {.lex_state = 53}, + [1011] = {.lex_state = 53}, + [1012] = {.lex_state = 52}, + [1013] = {.lex_state = 53}, + [1014] = {.lex_state = 53}, + [1015] = {.lex_state = 53}, + [1016] = {.lex_state = 53}, + [1017] = {.lex_state = 53}, + [1018] = {.lex_state = 53}, + [1019] = {.lex_state = 49}, + [1020] = {.lex_state = 53}, + [1021] = {.lex_state = 53}, + [1022] = {.lex_state = 53}, + [1023] = {.lex_state = 49}, + [1024] = {.lex_state = 49}, + [1025] = {.lex_state = 49}, + [1026] = {.lex_state = 49}, + [1027] = {.lex_state = 49}, + [1028] = {.lex_state = 49}, + [1029] = {.lex_state = 49}, + [1030] = {.lex_state = 49}, + [1031] = {.lex_state = 49}, + [1032] = {.lex_state = 49}, + [1033] = {.lex_state = 49}, + [1034] = {.lex_state = 49}, + [1035] = {.lex_state = 49}, + [1036] = {.lex_state = 49}, + [1037] = {.lex_state = 49}, + [1038] = {.lex_state = 49}, + [1039] = {.lex_state = 49}, + [1040] = {.lex_state = 49}, + [1041] = {.lex_state = 49}, + [1042] = {.lex_state = 49}, + [1043] = {.lex_state = 49}, + [1044] = {.lex_state = 53}, + [1045] = {.lex_state = 49}, + [1046] = {.lex_state = 49}, + [1047] = {.lex_state = 49}, + [1048] = {.lex_state = 49}, + [1049] = {.lex_state = 49}, + [1050] = {.lex_state = 49}, + [1051] = {.lex_state = 49}, + [1052] = {.lex_state = 49}, + [1053] = {.lex_state = 49}, + [1054] = {.lex_state = 49}, + [1055] = {.lex_state = 49}, + [1056] = {.lex_state = 49}, + [1057] = {.lex_state = 49}, + [1058] = {.lex_state = 49}, + [1059] = {.lex_state = 49}, + [1060] = {.lex_state = 49}, + [1061] = {.lex_state = 49}, + [1062] = {.lex_state = 53}, + [1063] = {.lex_state = 53}, + [1064] = {.lex_state = 49}, + [1065] = {.lex_state = 49}, + [1066] = {.lex_state = 49}, + [1067] = {.lex_state = 49}, + [1068] = {.lex_state = 49}, + [1069] = {.lex_state = 53}, + [1070] = {.lex_state = 49}, + [1071] = {.lex_state = 49}, + [1072] = {.lex_state = 49}, + [1073] = {.lex_state = 49}, + [1074] = {.lex_state = 49}, + [1075] = {.lex_state = 49}, + [1076] = {.lex_state = 53}, + [1077] = {.lex_state = 49}, + [1078] = {.lex_state = 49}, + [1079] = {.lex_state = 49}, + [1080] = {.lex_state = 49}, + [1081] = {.lex_state = 49}, + [1082] = {.lex_state = 49}, + [1083] = {.lex_state = 49}, + [1084] = {.lex_state = 53}, + [1085] = {.lex_state = 53}, + [1086] = {.lex_state = 49}, + [1087] = {.lex_state = 53}, + [1088] = {.lex_state = 49}, + [1089] = {.lex_state = 49}, + [1090] = {.lex_state = 49}, + [1091] = {.lex_state = 53}, + [1092] = {.lex_state = 49}, + [1093] = {.lex_state = 53}, + [1094] = {.lex_state = 49}, + [1095] = {.lex_state = 49}, + [1096] = {.lex_state = 49}, + [1097] = {.lex_state = 49}, + [1098] = {.lex_state = 49}, + [1099] = {.lex_state = 49}, + [1100] = {.lex_state = 49}, + [1101] = {.lex_state = 53}, + [1102] = {.lex_state = 49}, + [1103] = {.lex_state = 49}, + [1104] = {.lex_state = 49}, + [1105] = {.lex_state = 49}, + [1106] = {.lex_state = 49}, + [1107] = {.lex_state = 49}, + [1108] = {.lex_state = 49}, + [1109] = {.lex_state = 53}, + [1110] = {.lex_state = 53}, + [1111] = {.lex_state = 53}, + [1112] = {.lex_state = 53}, + [1113] = {.lex_state = 53}, + [1114] = {.lex_state = 53}, + [1115] = {.lex_state = 53}, + [1116] = {.lex_state = 49}, + [1117] = {.lex_state = 53}, + [1118] = {.lex_state = 53}, + [1119] = {.lex_state = 49}, + [1120] = {.lex_state = 53}, + [1121] = {.lex_state = 53}, + [1122] = {.lex_state = 53}, + [1123] = {.lex_state = 53}, + [1124] = {.lex_state = 53}, + [1125] = {.lex_state = 53}, + [1126] = {.lex_state = 53}, + [1127] = {.lex_state = 53}, + [1128] = {.lex_state = 53}, + [1129] = {.lex_state = 53}, + [1130] = {.lex_state = 53}, + [1131] = {.lex_state = 53}, + [1132] = {.lex_state = 53}, + [1133] = {.lex_state = 53}, + [1134] = {.lex_state = 53}, + [1135] = {.lex_state = 53}, + [1136] = {.lex_state = 53}, + [1137] = {.lex_state = 53}, + [1138] = {.lex_state = 53}, + [1139] = {.lex_state = 53}, + [1140] = {.lex_state = 53}, + [1141] = {.lex_state = 53}, + [1142] = {.lex_state = 53}, + [1143] = {.lex_state = 53}, + [1144] = {.lex_state = 53}, + [1145] = {.lex_state = 52}, + [1146] = {.lex_state = 53}, + [1147] = {.lex_state = 53}, + [1148] = {.lex_state = 53}, + [1149] = {.lex_state = 53}, + [1150] = {.lex_state = 52}, + [1151] = {.lex_state = 52}, + [1152] = {.lex_state = 53}, + [1153] = {.lex_state = 53}, + [1154] = {.lex_state = 53}, + [1155] = {.lex_state = 53}, + [1156] = {.lex_state = 53}, + [1157] = {.lex_state = 52}, + [1158] = {.lex_state = 53}, + [1159] = {.lex_state = 53}, + [1160] = {.lex_state = 53}, + [1161] = {.lex_state = 48}, + [1162] = {.lex_state = 53}, + [1163] = {.lex_state = 48}, + [1164] = {.lex_state = 48}, + [1165] = {.lex_state = 53}, + [1166] = {.lex_state = 25}, + [1167] = {.lex_state = 48}, + [1168] = {.lex_state = 52}, + [1169] = {.lex_state = 52}, + [1170] = {.lex_state = 48}, + [1171] = {.lex_state = 52}, + [1172] = {.lex_state = 48}, + [1173] = {.lex_state = 48}, + [1174] = {.lex_state = 48}, + [1175] = {.lex_state = 48}, + [1176] = {.lex_state = 52}, + [1177] = {.lex_state = 48}, + [1178] = {.lex_state = 52}, + [1179] = {.lex_state = 48}, + [1180] = {.lex_state = 52}, + [1181] = {.lex_state = 48}, + [1182] = {.lex_state = 52}, + [1183] = {.lex_state = 48}, + [1184] = {.lex_state = 52}, + [1185] = {.lex_state = 48}, + [1186] = {.lex_state = 48}, + [1187] = {.lex_state = 52}, + [1188] = {.lex_state = 48}, + [1189] = {.lex_state = 52}, + [1190] = {.lex_state = 52}, + [1191] = {.lex_state = 48}, + [1192] = {.lex_state = 48}, + [1193] = {.lex_state = 48}, + [1194] = {.lex_state = 48}, + [1195] = {.lex_state = 48}, + [1196] = {.lex_state = 48}, + [1197] = {.lex_state = 48}, + [1198] = {.lex_state = 48}, + [1199] = {.lex_state = 48}, + [1200] = {.lex_state = 48}, + [1201] = {.lex_state = 48}, + [1202] = {.lex_state = 52}, + [1203] = {.lex_state = 48}, + [1204] = {.lex_state = 48}, + [1205] = {.lex_state = 52}, + [1206] = {.lex_state = 48}, + [1207] = {.lex_state = 48}, + [1208] = {.lex_state = 48}, + [1209] = {.lex_state = 48}, + [1210] = {.lex_state = 48}, + [1211] = {.lex_state = 48}, + [1212] = {.lex_state = 48}, + [1213] = {.lex_state = 52}, + [1214] = {.lex_state = 48}, + [1215] = {.lex_state = 48}, + [1216] = {.lex_state = 48}, + [1217] = {.lex_state = 48}, + [1218] = {.lex_state = 52}, + [1219] = {.lex_state = 48}, + [1220] = {.lex_state = 52}, + [1221] = {.lex_state = 48}, + [1222] = {.lex_state = 52}, + [1223] = {.lex_state = 25}, + [1224] = {.lex_state = 25}, + [1225] = {.lex_state = 25}, + [1226] = {.lex_state = 25}, + [1227] = {.lex_state = 25}, + [1228] = {.lex_state = 25}, + [1229] = {.lex_state = 25}, + [1230] = {.lex_state = 25}, + [1231] = {.lex_state = 25}, + [1232] = {.lex_state = 25}, + [1233] = {.lex_state = 52}, + [1234] = {.lex_state = 25}, + [1235] = {.lex_state = 25}, + [1236] = {.lex_state = 25}, + [1237] = {.lex_state = 25}, + [1238] = {.lex_state = 25}, + [1239] = {.lex_state = 25}, + [1240] = {.lex_state = 25}, + [1241] = {.lex_state = 25}, + [1242] = {.lex_state = 25}, + [1243] = {.lex_state = 25}, + [1244] = {.lex_state = 25}, + [1245] = {.lex_state = 25}, + [1246] = {.lex_state = 53}, + [1247] = {.lex_state = 25}, + [1248] = {.lex_state = 25}, + [1249] = {.lex_state = 25}, + [1250] = {.lex_state = 25}, + [1251] = {.lex_state = 25}, + [1252] = {.lex_state = 53}, + [1253] = {.lex_state = 25}, + [1254] = {.lex_state = 25}, + [1255] = {.lex_state = 53}, + [1256] = {.lex_state = 25}, + [1257] = {.lex_state = 25}, + [1258] = {.lex_state = 25}, + [1259] = {.lex_state = 53}, + [1260] = {.lex_state = 25}, + [1261] = {.lex_state = 53}, + [1262] = {.lex_state = 53}, + [1263] = {.lex_state = 53}, + [1264] = {.lex_state = 53}, + [1265] = {.lex_state = 53}, + [1266] = {.lex_state = 53}, + [1267] = {.lex_state = 53}, + [1268] = {.lex_state = 53}, + [1269] = {.lex_state = 53}, + [1270] = {.lex_state = 53}, + [1271] = {.lex_state = 53}, + [1272] = {.lex_state = 53}, + [1273] = {.lex_state = 53}, + [1274] = {.lex_state = 53}, + [1275] = {.lex_state = 53}, + [1276] = {.lex_state = 53}, + [1277] = {.lex_state = 53}, + [1278] = {.lex_state = 53}, + [1279] = {.lex_state = 53}, + [1280] = {.lex_state = 53}, + [1281] = {.lex_state = 53}, + [1282] = {.lex_state = 53}, + [1283] = {.lex_state = 53}, + [1284] = {.lex_state = 53}, + [1285] = {.lex_state = 53}, + [1286] = {.lex_state = 53}, + [1287] = {.lex_state = 53}, + [1288] = {.lex_state = 53}, + [1289] = {.lex_state = 53}, + [1290] = {.lex_state = 53}, + [1291] = {.lex_state = 50}, + [1292] = {.lex_state = 50}, + [1293] = {.lex_state = 50}, + [1294] = {.lex_state = 50}, + [1295] = {.lex_state = 53}, + [1296] = {.lex_state = 53}, + [1297] = {.lex_state = 53}, + [1298] = {.lex_state = 53}, + [1299] = {.lex_state = 53}, + [1300] = {.lex_state = 53}, + [1301] = {.lex_state = 53}, + [1302] = {.lex_state = 53}, + [1303] = {.lex_state = 53}, + [1304] = {.lex_state = 53}, + [1305] = {.lex_state = 53}, + [1306] = {.lex_state = 53}, + [1307] = {.lex_state = 53}, + [1308] = {.lex_state = 53}, + [1309] = {.lex_state = 53}, + [1310] = {.lex_state = 53}, + [1311] = {.lex_state = 53}, + [1312] = {.lex_state = 53}, + [1313] = {.lex_state = 53}, + [1314] = {.lex_state = 53}, + [1315] = {.lex_state = 53}, + [1316] = {.lex_state = 53}, + [1317] = {.lex_state = 56}, + [1318] = {.lex_state = 53}, + [1319] = {.lex_state = 53}, + [1320] = {.lex_state = 53}, + [1321] = {.lex_state = 53}, + [1322] = {.lex_state = 53}, + [1323] = {.lex_state = 53}, + [1324] = {.lex_state = 56}, + [1325] = {.lex_state = 53}, + [1326] = {.lex_state = 53}, + [1327] = {.lex_state = 53}, + [1328] = {.lex_state = 53}, + [1329] = {.lex_state = 53}, + [1330] = {.lex_state = 53}, + [1331] = {.lex_state = 49}, + [1332] = {.lex_state = 50}, + [1333] = {.lex_state = 53}, + [1334] = {.lex_state = 56}, + [1335] = {.lex_state = 53}, + [1336] = {.lex_state = 50}, + [1337] = {.lex_state = 53}, + [1338] = {.lex_state = 53}, + [1339] = {.lex_state = 53}, + [1340] = {.lex_state = 50}, + [1341] = {.lex_state = 50}, + [1342] = {.lex_state = 50}, + [1343] = {.lex_state = 50}, + [1344] = {.lex_state = 50}, + [1345] = {.lex_state = 53}, + [1346] = {.lex_state = 50}, + [1347] = {.lex_state = 50}, + [1348] = {.lex_state = 50}, + [1349] = {.lex_state = 53}, + [1350] = {.lex_state = 53}, + [1351] = {.lex_state = 53}, + [1352] = {.lex_state = 50}, + [1353] = {.lex_state = 50}, + [1354] = {.lex_state = 53}, + [1355] = {.lex_state = 53}, + [1356] = {.lex_state = 53}, + [1357] = {.lex_state = 53}, + [1358] = {.lex_state = 53}, + [1359] = {.lex_state = 50}, + [1360] = {.lex_state = 50}, + [1361] = {.lex_state = 53}, + [1362] = {.lex_state = 53}, + [1363] = {.lex_state = 53}, + [1364] = {.lex_state = 0}, + [1365] = {.lex_state = 120}, + [1366] = {.lex_state = 53}, + [1367] = {.lex_state = 53}, + [1368] = {.lex_state = 53}, + [1369] = {.lex_state = 53}, + [1370] = {.lex_state = 53}, + [1371] = {.lex_state = 53}, + [1372] = {.lex_state = 0}, + [1373] = {.lex_state = 120}, + [1374] = {.lex_state = 120}, + [1375] = {.lex_state = 53}, + [1376] = {.lex_state = 120}, + [1377] = {.lex_state = 49}, + [1378] = {.lex_state = 120}, + [1379] = {.lex_state = 54}, + [1380] = {.lex_state = 53}, + [1381] = {.lex_state = 120}, + [1382] = {.lex_state = 53}, + [1383] = {.lex_state = 53}, + [1384] = {.lex_state = 53}, + [1385] = {.lex_state = 49}, + [1386] = {.lex_state = 49}, + [1387] = {.lex_state = 54}, + [1388] = {.lex_state = 53}, + [1389] = {.lex_state = 53}, + [1390] = {.lex_state = 54}, + [1391] = {.lex_state = 120}, + [1392] = {.lex_state = 53}, + [1393] = {.lex_state = 120}, + [1394] = {.lex_state = 120}, + [1395] = {.lex_state = 53}, + [1396] = {.lex_state = 53}, + [1397] = {.lex_state = 53}, + [1398] = {.lex_state = 54}, + [1399] = {.lex_state = 53}, + [1400] = {.lex_state = 120}, + [1401] = {.lex_state = 120}, + [1402] = {.lex_state = 120}, + [1403] = {.lex_state = 53}, + [1404] = {.lex_state = 120}, + [1405] = {.lex_state = 53}, + [1406] = {.lex_state = 120}, + [1407] = {.lex_state = 120}, + [1408] = {.lex_state = 120}, + [1409] = {.lex_state = 53}, + [1410] = {.lex_state = 53}, + [1411] = {.lex_state = 120}, + [1412] = {.lex_state = 120}, + [1413] = {.lex_state = 53}, + [1414] = {.lex_state = 53}, + [1415] = {.lex_state = 50}, + [1416] = {.lex_state = 120}, + [1417] = {.lex_state = 50}, + [1418] = {.lex_state = 53}, + [1419] = {.lex_state = 0}, + [1420] = {.lex_state = 53}, + [1421] = {.lex_state = 53}, + [1422] = {.lex_state = 120}, + [1423] = {.lex_state = 53}, + [1424] = {.lex_state = 53}, + [1425] = {.lex_state = 120}, + [1426] = {.lex_state = 53}, + [1427] = {.lex_state = 50}, + [1428] = {.lex_state = 120}, + [1429] = {.lex_state = 53}, + [1430] = {.lex_state = 53}, + [1431] = {.lex_state = 0}, + [1432] = {.lex_state = 53}, + [1433] = {.lex_state = 120}, + [1434] = {.lex_state = 120}, + [1435] = {.lex_state = 120}, + [1436] = {.lex_state = 53}, + [1437] = {.lex_state = 53}, + [1438] = {.lex_state = 120}, + [1439] = {.lex_state = 120}, + [1440] = {.lex_state = 53}, + [1441] = {.lex_state = 53}, + [1442] = {.lex_state = 53}, + [1443] = {.lex_state = 120}, + [1444] = {.lex_state = 0}, + [1445] = {.lex_state = 53}, + [1446] = {.lex_state = 53}, + [1447] = {.lex_state = 53}, + [1448] = {.lex_state = 53}, + [1449] = {.lex_state = 53}, + [1450] = {.lex_state = 53}, + [1451] = {.lex_state = 53}, + [1452] = {.lex_state = 53}, + [1453] = {.lex_state = 53}, + [1454] = {.lex_state = 120}, + [1455] = {.lex_state = 53}, + [1456] = {.lex_state = 0}, + [1457] = {.lex_state = 53}, + [1458] = {.lex_state = 53}, + [1459] = {.lex_state = 53}, + [1460] = {.lex_state = 53}, + [1461] = {.lex_state = 120}, + [1462] = {.lex_state = 53}, + [1463] = {.lex_state = 50}, + [1464] = {.lex_state = 53}, + [1465] = {.lex_state = 53}, + [1466] = {.lex_state = 53}, + [1467] = {.lex_state = 53}, + [1468] = {.lex_state = 53}, + [1469] = {.lex_state = 120}, + [1470] = {.lex_state = 120}, + [1471] = {.lex_state = 53}, + [1472] = {.lex_state = 53}, + [1473] = {.lex_state = 53}, + [1474] = {.lex_state = 120}, + [1475] = {.lex_state = 53}, + [1476] = {.lex_state = 56}, + [1477] = {.lex_state = 0}, + [1478] = {.lex_state = 53}, + [1479] = {.lex_state = 0}, + [1480] = {.lex_state = 56}, + [1481] = {.lex_state = 120}, + [1482] = {.lex_state = 56}, + [1483] = {.lex_state = 56}, + [1484] = {.lex_state = 120}, + [1485] = {.lex_state = 56}, + [1486] = {.lex_state = 120}, + [1487] = {.lex_state = 50}, + [1488] = {.lex_state = 56}, + [1489] = {.lex_state = 56}, + [1490] = {.lex_state = 56}, + [1491] = {.lex_state = 53}, + [1492] = {.lex_state = 53}, + [1493] = {.lex_state = 56}, + [1494] = {.lex_state = 53}, + [1495] = {.lex_state = 120}, + [1496] = {.lex_state = 56}, + [1497] = {.lex_state = 0}, + [1498] = {.lex_state = 56}, + [1499] = {.lex_state = 53}, + [1500] = {.lex_state = 53}, + [1501] = {.lex_state = 53}, + [1502] = {.lex_state = 53}, + [1503] = {.lex_state = 53}, + [1504] = {.lex_state = 53}, + [1505] = {.lex_state = 53}, + [1506] = {.lex_state = 53}, + [1507] = {.lex_state = 53}, + [1508] = {.lex_state = 53}, + [1509] = {.lex_state = 53}, + [1510] = {.lex_state = 53}, + [1511] = {.lex_state = 53}, + [1512] = {.lex_state = 53}, + [1513] = {.lex_state = 53}, + [1514] = {.lex_state = 53}, + [1515] = {.lex_state = 53}, + [1516] = {.lex_state = 45}, + [1517] = {.lex_state = 50}, + [1518] = {.lex_state = 53}, + [1519] = {.lex_state = 53}, + [1520] = {.lex_state = 53}, + [1521] = {.lex_state = 53}, + [1522] = {.lex_state = 53}, + [1523] = {.lex_state = 53}, + [1524] = {.lex_state = 53}, + [1525] = {.lex_state = 53}, + [1526] = {.lex_state = 53}, + [1527] = {.lex_state = 30}, + [1528] = {.lex_state = 32}, + [1529] = {.lex_state = 50}, + [1530] = {.lex_state = 0}, + [1531] = {.lex_state = 0}, + [1532] = {.lex_state = 0}, + [1533] = {.lex_state = 53}, + [1534] = {.lex_state = 50}, + [1535] = {.lex_state = 50}, + [1536] = {.lex_state = 45}, + [1537] = {.lex_state = 37}, + [1538] = {.lex_state = 0}, + [1539] = {.lex_state = 53}, + [1540] = {.lex_state = 37}, + [1541] = {.lex_state = 32}, + [1542] = {.lex_state = 53}, + [1543] = {.lex_state = 53}, + [1544] = {.lex_state = 53}, + [1545] = {.lex_state = 0}, + [1546] = {.lex_state = 53}, + [1547] = {.lex_state = 120}, + [1548] = {.lex_state = 53}, + [1549] = {.lex_state = 0}, + [1550] = {.lex_state = 50}, + [1551] = {.lex_state = 0}, + [1552] = {.lex_state = 53}, + [1553] = {.lex_state = 30}, + [1554] = {.lex_state = 37}, + [1555] = {.lex_state = 120}, + [1556] = {.lex_state = 32}, + [1557] = {.lex_state = 30}, + [1558] = {.lex_state = 37}, + [1559] = {.lex_state = 32}, + [1560] = {.lex_state = 32}, + [1561] = {.lex_state = 0}, + [1562] = {.lex_state = 32}, + [1563] = {.lex_state = 0}, + [1564] = {.lex_state = 30}, + [1565] = {.lex_state = 37}, + [1566] = {.lex_state = 0}, + [1567] = {.lex_state = 32}, + [1568] = {.lex_state = 53}, + [1569] = {.lex_state = 37}, + [1570] = {.lex_state = 37}, + [1571] = {.lex_state = 0}, + [1572] = {.lex_state = 0}, + [1573] = {.lex_state = 53}, + [1574] = {.lex_state = 0}, + [1575] = {.lex_state = 0}, + [1576] = {.lex_state = 0}, + [1577] = {.lex_state = 0}, + [1578] = {.lex_state = 34}, + [1579] = {.lex_state = 0}, + [1580] = {.lex_state = 0}, + [1581] = {.lex_state = 45}, + [1582] = {.lex_state = 0}, + [1583] = {.lex_state = 45}, + [1584] = {.lex_state = 0}, + [1585] = {.lex_state = 0}, + [1586] = {.lex_state = 0}, + [1587] = {.lex_state = 0}, + [1588] = {.lex_state = 53}, + [1589] = {.lex_state = 53}, + [1590] = {.lex_state = 45}, + [1591] = {.lex_state = 0}, + [1592] = {.lex_state = 0}, + [1593] = {.lex_state = 0}, + [1594] = {.lex_state = 0}, + [1595] = {.lex_state = 0}, + [1596] = {.lex_state = 45}, + [1597] = {.lex_state = 0}, + [1598] = {.lex_state = 0}, + [1599] = {.lex_state = 0}, + [1600] = {.lex_state = 0}, + [1601] = {.lex_state = 0}, + [1602] = {.lex_state = 0}, + [1603] = {.lex_state = 0}, + [1604] = {.lex_state = 0}, + [1605] = {.lex_state = 0}, + [1606] = {.lex_state = 0}, + [1607] = {.lex_state = 0}, + [1608] = {.lex_state = 0}, + [1609] = {.lex_state = 0}, + [1610] = {.lex_state = 53}, + [1611] = {.lex_state = 53}, + [1612] = {.lex_state = 0}, + [1613] = {.lex_state = 0}, + [1614] = {.lex_state = 34}, + [1615] = {.lex_state = 0}, + [1616] = {.lex_state = 0}, + [1617] = {.lex_state = 0}, + [1618] = {.lex_state = 0}, + [1619] = {.lex_state = 0}, + [1620] = {.lex_state = 0}, + [1621] = {.lex_state = 0}, + [1622] = {.lex_state = 0}, + [1623] = {.lex_state = 0}, + [1624] = {.lex_state = 0}, + [1625] = {.lex_state = 0}, + [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 = 0}, + [1635] = {.lex_state = 0}, + [1636] = {.lex_state = 53}, + [1637] = {.lex_state = 0}, + [1638] = {.lex_state = 0}, + [1639] = {.lex_state = 0}, + [1640] = {.lex_state = 0}, + [1641] = {.lex_state = 0}, + [1642] = {.lex_state = 0}, + [1643] = {.lex_state = 0}, + [1644] = {.lex_state = 0}, + [1645] = {.lex_state = 0}, + [1646] = {.lex_state = 0}, + [1647] = {.lex_state = 0}, + [1648] = {.lex_state = 0}, + [1649] = {.lex_state = 0}, + [1650] = {.lex_state = 0}, + [1651] = {.lex_state = 0}, + [1652] = {.lex_state = 30}, + [1653] = {.lex_state = 0}, + [1654] = {.lex_state = 53}, + [1655] = {.lex_state = 34}, + [1656] = {.lex_state = 45}, + [1657] = {.lex_state = 45}, + [1658] = {.lex_state = 0}, + [1659] = {.lex_state = 0}, + [1660] = {.lex_state = 0}, + [1661] = {.lex_state = 0}, + [1662] = {.lex_state = 45}, + [1663] = {.lex_state = 0}, + [1664] = {.lex_state = 0}, + [1665] = {.lex_state = 30}, + [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 = 0}, + [1678] = {.lex_state = 0}, + [1679] = {.lex_state = 30}, + [1680] = {.lex_state = 0}, + [1681] = {.lex_state = 53}, + [1682] = {.lex_state = 0}, + [1683] = {.lex_state = 0}, + [1684] = {.lex_state = 34}, + [1685] = {.lex_state = 0}, + [1686] = {.lex_state = 0}, + [1687] = {.lex_state = 0}, + [1688] = {.lex_state = 0}, + [1689] = {.lex_state = 120}, + [1690] = {.lex_state = 33}, + [1691] = {.lex_state = 0}, + [1692] = {.lex_state = 33}, + [1693] = {.lex_state = 120}, + [1694] = {.lex_state = 53}, + [1695] = {.lex_state = 0}, + [1696] = {.lex_state = 0}, + [1697] = {.lex_state = 0}, + [1698] = {.lex_state = 0}, + [1699] = {.lex_state = 33}, + [1700] = {.lex_state = 33}, + [1701] = {.lex_state = 0}, + [1702] = {.lex_state = 120}, + [1703] = {.lex_state = 33}, + [1704] = {.lex_state = 0}, + [1705] = {.lex_state = 0}, + [1706] = {.lex_state = 33}, + [1707] = {.lex_state = 33}, + [1708] = {.lex_state = 33}, + [1709] = {.lex_state = 33}, + [1710] = {.lex_state = 0}, + [1711] = {.lex_state = 33}, + [1712] = {.lex_state = 33}, + [1713] = {.lex_state = 0}, + [1714] = {.lex_state = 0}, + [1715] = {.lex_state = 120}, + [1716] = {.lex_state = 120}, + [1717] = {.lex_state = 33}, + [1718] = {.lex_state = 33}, + [1719] = {.lex_state = 53}, + [1720] = {.lex_state = 120}, + [1721] = {.lex_state = 120}, + [1722] = {.lex_state = 120}, + [1723] = {.lex_state = 33}, + [1724] = {.lex_state = 120}, + [1725] = {.lex_state = 0}, + [1726] = {.lex_state = 120}, + [1727] = {.lex_state = 45}, + [1728] = {.lex_state = 53}, + [1729] = {.lex_state = 0}, + [1730] = {.lex_state = 45}, + [1731] = {.lex_state = 33}, + [1732] = {.lex_state = 0}, + [1733] = {.lex_state = 0}, + [1734] = {.lex_state = 53}, + [1735] = {.lex_state = 120}, + [1736] = {.lex_state = 120}, + [1737] = {.lex_state = 120}, + [1738] = {.lex_state = 120}, + [1739] = {.lex_state = 0}, + [1740] = {.lex_state = 0}, + [1741] = {.lex_state = 0}, + [1742] = {.lex_state = 120}, + [1743] = {.lex_state = 0}, + [1744] = {.lex_state = 53}, + [1745] = {.lex_state = 120}, + [1746] = {.lex_state = 120}, + [1747] = {.lex_state = 120}, + [1748] = {.lex_state = 0}, + [1749] = {.lex_state = 0}, + [1750] = {.lex_state = 0}, + [1751] = {.lex_state = 53}, + [1752] = {.lex_state = 120}, + [1753] = {.lex_state = 120}, + [1754] = {.lex_state = 120}, + [1755] = {.lex_state = 33}, + [1756] = {.lex_state = 53}, + [1757] = {.lex_state = 0}, + [1758] = {.lex_state = 0}, + [1759] = {.lex_state = 0}, + [1760] = {.lex_state = 120}, + [1761] = {.lex_state = 0}, + [1762] = {.lex_state = 120}, + [1763] = {.lex_state = 120}, + [1764] = {.lex_state = 33}, + [1765] = {.lex_state = 0}, + [1766] = {.lex_state = 0}, + [1767] = {.lex_state = 0}, + [1768] = {.lex_state = 0}, + [1769] = {.lex_state = 0}, + [1770] = {.lex_state = 0}, + [1771] = {.lex_state = 53}, + [1772] = {.lex_state = 0}, + [1773] = {.lex_state = 120}, + [1774] = {.lex_state = 45}, + [1775] = {.lex_state = 44}, + [1776] = {.lex_state = 44}, + [1777] = {.lex_state = 44}, + [1778] = {.lex_state = 120}, + [1779] = {.lex_state = 44}, + [1780] = {.lex_state = 0}, + [1781] = {.lex_state = 0}, + [1782] = {.lex_state = 44}, + [1783] = {.lex_state = 34}, + [1784] = {.lex_state = 34}, + [1785] = {.lex_state = 53}, + [1786] = {.lex_state = 34}, + [1787] = {.lex_state = 34}, + [1788] = {.lex_state = 44}, + [1789] = {.lex_state = 0}, + [1790] = {.lex_state = 0}, + [1791] = {.lex_state = 0}, + [1792] = {.lex_state = 44}, + [1793] = {.lex_state = 44}, + [1794] = {.lex_state = 34}, + [1795] = {.lex_state = 0}, + [1796] = {.lex_state = 0}, + [1797] = {.lex_state = 44}, + [1798] = {.lex_state = 0}, + [1799] = {.lex_state = 53}, + [1800] = {.lex_state = 34}, + [1801] = {.lex_state = 0}, + [1802] = {.lex_state = 34}, + [1803] = {.lex_state = 34}, + [1804] = {.lex_state = 44}, + [1805] = {.lex_state = 44}, + [1806] = {.lex_state = 34}, + [1807] = {.lex_state = 0}, + [1808] = {.lex_state = 34}, + [1809] = {.lex_state = 0}, + [1810] = {.lex_state = 0}, + [1811] = {.lex_state = 0}, + [1812] = {.lex_state = 34}, + [1813] = {.lex_state = 44}, + [1814] = {.lex_state = 0}, + [1815] = {.lex_state = 0}, + [1816] = {.lex_state = 0}, + [1817] = {.lex_state = 34}, + [1818] = {.lex_state = 44}, + [1819] = {.lex_state = 34}, + [1820] = {.lex_state = 34}, + [1821] = {.lex_state = 53}, + [1822] = {.lex_state = 34}, + [1823] = {.lex_state = 0}, + [1824] = {.lex_state = 53}, + [1825] = {.lex_state = 53}, + [1826] = {.lex_state = 0}, + [1827] = {.lex_state = 34}, + [1828] = {.lex_state = 0}, + [1829] = {.lex_state = 44}, + [1830] = {.lex_state = 34}, + [1831] = {.lex_state = 44}, + [1832] = {.lex_state = 0}, + [1833] = {.lex_state = 53}, + [1834] = {.lex_state = 0}, + [1835] = {.lex_state = 44}, + [1836] = {.lex_state = 44}, + [1837] = {.lex_state = 0}, + [1838] = {.lex_state = 0}, + [1839] = {.lex_state = 0}, + [1840] = {.lex_state = 0}, + [1841] = {.lex_state = 0}, + [1842] = {.lex_state = 53}, + [1843] = {.lex_state = 120}, + [1844] = {.lex_state = 34}, + [1845] = {.lex_state = 0}, + [1846] = {.lex_state = 44}, + [1847] = {.lex_state = 0}, + [1848] = {.lex_state = 0}, + [1849] = {.lex_state = 0}, + [1850] = {.lex_state = 0}, + [1851] = {.lex_state = 0}, + [1852] = {.lex_state = 53}, + [1853] = {.lex_state = 120}, + [1854] = {.lex_state = 0}, + [1855] = {.lex_state = 53}, + [1856] = {.lex_state = 0}, + [1857] = {.lex_state = 0}, + [1858] = {.lex_state = 0}, + [1859] = {.lex_state = 0}, + [1860] = {.lex_state = 0}, + [1861] = {.lex_state = 34}, + [1862] = {.lex_state = 0}, + [1863] = {.lex_state = 0}, + [1864] = {.lex_state = 120}, + [1865] = {.lex_state = 44}, + [1866] = {.lex_state = 0}, + [1867] = {.lex_state = 53}, + [1868] = {.lex_state = 34}, + [1869] = {.lex_state = 53}, + [1870] = {.lex_state = 44}, + [1871] = {.lex_state = 0}, + [1872] = {.lex_state = 53}, + [1873] = {.lex_state = 0}, + [1874] = {.lex_state = 0}, + [1875] = {.lex_state = 0}, + [1876] = {.lex_state = 44}, + [1877] = {.lex_state = 53}, + [1878] = {.lex_state = 0}, + [1879] = {.lex_state = 34}, + [1880] = {.lex_state = 0}, + [1881] = {.lex_state = 34}, + [1882] = {.lex_state = 34}, + [1883] = {.lex_state = 0}, + [1884] = {.lex_state = 0}, + [1885] = {.lex_state = 0}, + [1886] = {.lex_state = 0}, + [1887] = {.lex_state = 44}, + [1888] = {.lex_state = 0}, + [1889] = {.lex_state = 53}, + [1890] = {.lex_state = 53}, + [1891] = {.lex_state = 44}, + [1892] = {.lex_state = 120}, + [1893] = {.lex_state = 44}, + [1894] = {.lex_state = 44}, + [1895] = {.lex_state = 53}, + [1896] = {.lex_state = 44}, + [1897] = {.lex_state = 44}, + [1898] = {.lex_state = 34}, + [1899] = {.lex_state = 44}, + [1900] = {.lex_state = 0}, + [1901] = {.lex_state = 53}, + [1902] = {.lex_state = 0}, + [1903] = {.lex_state = 44}, + [1904] = {.lex_state = 53}, + [1905] = {.lex_state = 0}, + [1906] = {.lex_state = 0}, + [1907] = {.lex_state = 44}, + [1908] = {.lex_state = 0}, + [1909] = {.lex_state = 0}, + [1910] = {.lex_state = 0}, + [1911] = {.lex_state = 0}, + [1912] = {.lex_state = 0}, + [1913] = {.lex_state = 0}, + [1914] = {.lex_state = 53}, + [1915] = {.lex_state = 53}, + [1916] = {.lex_state = 53}, + [1917] = {.lex_state = 44}, + [1918] = {.lex_state = 0}, + [1919] = {.lex_state = 44}, + [1920] = {.lex_state = 53}, + [1921] = {.lex_state = 0}, + [1922] = {.lex_state = 0}, + [1923] = {.lex_state = 53}, + [1924] = {.lex_state = 44}, + [1925] = {.lex_state = 0}, + [1926] = {.lex_state = 44}, + [1927] = {.lex_state = 44}, + [1928] = {.lex_state = 0}, + [1929] = {.lex_state = 0}, + [1930] = {.lex_state = 0}, + [1931] = {.lex_state = 53}, + [1932] = {.lex_state = 53}, + [1933] = {.lex_state = 0}, + [1934] = {.lex_state = 44}, + [1935] = {.lex_state = 53}, + [1936] = {.lex_state = 44}, + [1937] = {.lex_state = 0}, + [1938] = {.lex_state = 0}, + [1939] = {.lex_state = 0}, + [1940] = {.lex_state = 53}, + [1941] = {.lex_state = 0}, + [1942] = {.lex_state = 34}, + [1943] = {.lex_state = 0}, + [1944] = {.lex_state = 0}, + [1945] = {.lex_state = 53}, + [1946] = {.lex_state = 53}, + [1947] = {.lex_state = 44}, + [1948] = {.lex_state = 34}, + [1949] = {.lex_state = 0}, + [1950] = {.lex_state = 0}, + [1951] = {.lex_state = 53}, + [1952] = {.lex_state = 120}, + [1953] = {.lex_state = 0}, + [1954] = {.lex_state = 44}, + [1955] = {.lex_state = 34}, + [1956] = {.lex_state = 53}, + [1957] = {.lex_state = 0}, + [1958] = {.lex_state = 44}, + [1959] = {.lex_state = 0}, + [1960] = {.lex_state = 53}, + [1961] = {.lex_state = 0}, + [1962] = {.lex_state = 44}, + [1963] = {.lex_state = 120}, + [1964] = {.lex_state = 0}, + [1965] = {.lex_state = 0}, + [1966] = {.lex_state = 53}, + [1967] = {.lex_state = 0}, + [1968] = {.lex_state = 0}, + [1969] = {.lex_state = 53}, + [1970] = {.lex_state = 53}, + [1971] = {.lex_state = 53}, + [1972] = {.lex_state = 44}, + [1973] = {.lex_state = 0}, + [1974] = {.lex_state = 0}, + [1975] = {.lex_state = 120}, + [1976] = {.lex_state = 44}, + [1977] = {.lex_state = 120}, + [1978] = {.lex_state = 120}, + [1979] = {.lex_state = 0}, + [1980] = {.lex_state = 44}, + [1981] = {.lex_state = 0}, + [1982] = {.lex_state = 0}, + [1983] = {.lex_state = 0}, + [1984] = {.lex_state = 0}, + [1985] = {.lex_state = 120}, + [1986] = {.lex_state = 44}, + [1987] = {.lex_state = 44}, + [1988] = {.lex_state = 53}, + [1989] = {.lex_state = 34}, + [1990] = {.lex_state = 0}, + [1991] = {.lex_state = 120}, + [1992] = {.lex_state = 0}, + [1993] = {.lex_state = 44}, + [1994] = {.lex_state = 0}, + [1995] = {.lex_state = 0}, + [1996] = {.lex_state = 53}, + [1997] = {.lex_state = 0}, + [1998] = {.lex_state = 0}, + [1999] = {.lex_state = 0}, + [2000] = {.lex_state = 120}, + [2001] = {.lex_state = 53}, + [2002] = {.lex_state = 0}, + [2003] = {.lex_state = 53}, + [2004] = {.lex_state = 0}, + [2005] = {.lex_state = 44}, + [2006] = {.lex_state = 34}, + [2007] = {.lex_state = 0}, + [2008] = {.lex_state = 0}, + [2009] = {.lex_state = 44}, + [2010] = {.lex_state = 0}, + [2011] = {.lex_state = 53}, + [2012] = {.lex_state = 44}, + [2013] = {.lex_state = 34}, + [2014] = {.lex_state = 0}, + [2015] = {.lex_state = 44}, + [2016] = {.lex_state = 120}, + [2017] = {.lex_state = 44}, + [2018] = {.lex_state = 0}, + [2019] = {.lex_state = 120}, + [2020] = {.lex_state = 0}, + [2021] = {.lex_state = 34}, + [2022] = {.lex_state = 120}, +}; + +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___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__Nonnull] = 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___asm] = ACTIONS(1), + [anon_sym___volatile__] = 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), + }, + [1] = { + [sym_translation_unit] = STATE(1981), + [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(338), + [sym_declaration] = STATE(44), + [sym_type_definition] = STATE(44), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1136), + [sym_linkage_specification] = STATE(44), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(691), + [sym_compound_statement] = STATE(44), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(362), + [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(1116), + [sym__string] = STATE(1119), + [sym_conditional_expression] = STATE(1119), + [sym_assignment_expression] = STATE(1119), + [sym_pointer_expression] = STATE(935), + [sym_unary_expression] = STATE(1119), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(1119), + [sym_cast_expression] = STATE(1119), + [sym_sizeof_expression] = STATE(1119), + [sym_alignof_expression] = STATE(1119), + [sym_offsetof_expression] = STATE(1119), + [sym_generic_expression] = STATE(1119), + [sym_subscript_expression] = STATE(935), + [sym_call_expression] = STATE(935), + [sym_gnu_asm_expression] = STATE(1119), + [sym_extension_expression] = STATE(1119), + [sym_field_expression] = STATE(935), + [sym_compound_literal_expression] = STATE(1119), + [sym_parenthesized_expression] = STATE(935), + [sym_char_literal] = STATE(1119), + [sym_concatenated_string] = STATE(1119), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(1119), + [sym__empty_declaration] = STATE(44), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_translation_unit_repeat1] = STATE(44), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(375), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [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_SEMI] = ACTIONS(27), + [anon_sym___extension__] = ACTIONS(29), + [anon_sym_typedef] = ACTIONS(31), + [anon_sym_extern] = ACTIONS(33), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(61), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(65), + [anon_sym_default] = ACTIONS(67), + [anon_sym_while] = ACTIONS(69), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(95), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(101), + [sym_false] = ACTIONS(101), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [2] = { + [sym__block_item] = STATE(3), + [sym_preproc_include] = STATE(3), + [sym_preproc_def] = STATE(3), + [sym_preproc_function_def] = STATE(3), + [sym_preproc_call] = STATE(3), + [sym_preproc_if] = STATE(3), + [sym_preproc_ifdef] = STATE(3), + [sym_preproc_else] = STATE(1894), + [sym_preproc_elif] = STATE(1894), + [sym_preproc_elifdef] = STATE(1894), + [sym_function_definition] = STATE(3), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(3), + [sym_type_definition] = STATE(3), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(3), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(3), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(3), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(3), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(113), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [3] = { + [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(1893), + [sym_preproc_elif] = STATE(1893), + [sym_preproc_elifdef] = STATE(1893), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(165), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [4] = { + [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(1846), + [sym_preproc_elif] = STATE(1846), + [sym_preproc_elifdef] = STATE(1846), + [sym_function_definition] = STATE(5), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(5), + [sym_type_definition] = STATE(5), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(5), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(5), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(5), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(5), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [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(1936), + [sym_preproc_elif] = STATE(1936), + [sym_preproc_elifdef] = STATE(1936), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(169), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [6] = { + [sym__block_item] = STATE(8), + [sym_preproc_include] = STATE(8), + [sym_preproc_def] = STATE(8), + [sym_preproc_function_def] = STATE(8), + [sym_preproc_call] = STATE(8), + [sym_preproc_if] = STATE(8), + [sym_preproc_ifdef] = STATE(8), + [sym_preproc_else] = STATE(1792), + [sym_preproc_elif] = STATE(1792), + [sym_preproc_elifdef] = STATE(1792), + [sym_function_definition] = STATE(8), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(8), + [sym_type_definition] = STATE(8), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(8), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(8), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(8), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(8), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(171), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [7] = { + [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(1793), + [sym_preproc_elif] = STATE(1793), + [sym_preproc_elifdef] = STATE(1793), + [sym_function_definition] = STATE(9), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(9), + [sym_type_definition] = STATE(9), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(9), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(9), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(9), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(9), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(173), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [8] = { + [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(1805), + [sym_preproc_elif] = STATE(1805), + [sym_preproc_elifdef] = STATE(1805), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(175), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [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(2017), + [sym_preproc_elif] = STATE(2017), + [sym_preproc_elifdef] = STATE(2017), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(177), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [10] = { + [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(1987), + [sym_preproc_elif] = STATE(1987), + [sym_preproc_elifdef] = STATE(1987), + [sym_function_definition] = STATE(12), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(12), + [sym_type_definition] = STATE(12), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(12), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(12), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(12), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(12), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(179), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [11] = { + [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(1797), + [sym_preproc_elif] = STATE(1797), + [sym_preproc_elifdef] = STATE(1797), + [sym_function_definition] = STATE(13), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(13), + [sym_type_definition] = STATE(13), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(13), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(13), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(13), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(13), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(181), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [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(1813), + [sym_preproc_elif] = STATE(1813), + [sym_preproc_elifdef] = STATE(1813), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(183), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [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(1919), + [sym_preproc_elif] = STATE(1919), + [sym_preproc_elifdef] = STATE(1919), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(185), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [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(1924), + [sym_preproc_elif] = STATE(1924), + [sym_preproc_elifdef] = STATE(1924), + [sym_function_definition] = STATE(16), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(16), + [sym_type_definition] = STATE(16), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(16), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(16), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(16), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(16), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(187), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [15] = { + [sym__block_item] = STATE(17), + [sym_preproc_include] = STATE(17), + [sym_preproc_def] = STATE(17), + [sym_preproc_function_def] = STATE(17), + [sym_preproc_call] = STATE(17), + [sym_preproc_if] = STATE(17), + [sym_preproc_ifdef] = STATE(17), + [sym_preproc_else] = STATE(1865), + [sym_preproc_elif] = STATE(1865), + [sym_preproc_elifdef] = STATE(1865), + [sym_function_definition] = STATE(17), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(17), + [sym_type_definition] = STATE(17), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(17), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(17), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(17), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(17), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(189), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [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(1876), + [sym_preproc_elif] = STATE(1876), + [sym_preproc_elifdef] = STATE(1876), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(191), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [17] = { + [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(1976), + [sym_preproc_elif] = STATE(1976), + [sym_preproc_elifdef] = STATE(1976), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(193), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [18] = { + [sym__block_item] = STATE(20), + [sym_preproc_include] = STATE(20), + [sym_preproc_def] = STATE(20), + [sym_preproc_function_def] = STATE(20), + [sym_preproc_call] = STATE(20), + [sym_preproc_if] = STATE(20), + [sym_preproc_ifdef] = STATE(20), + [sym_preproc_else] = STATE(1917), + [sym_preproc_elif] = STATE(1917), + [sym_preproc_elifdef] = STATE(1917), + [sym_function_definition] = STATE(20), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(20), + [sym_type_definition] = STATE(20), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(20), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(20), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(20), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(20), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(195), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [19] = { + [sym__block_item] = STATE(21), + [sym_preproc_include] = STATE(21), + [sym_preproc_def] = STATE(21), + [sym_preproc_function_def] = STATE(21), + [sym_preproc_call] = STATE(21), + [sym_preproc_if] = STATE(21), + [sym_preproc_ifdef] = STATE(21), + [sym_preproc_else] = STATE(1958), + [sym_preproc_elif] = STATE(1958), + [sym_preproc_elifdef] = STATE(1958), + [sym_function_definition] = STATE(21), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(21), + [sym_type_definition] = STATE(21), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(21), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(21), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(21), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(21), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(197), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [20] = { + [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(1962), + [sym_preproc_elif] = STATE(1962), + [sym_preproc_elifdef] = STATE(1962), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(199), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [21] = { + [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(2009), + [sym_preproc_elif] = STATE(2009), + [sym_preproc_elifdef] = STATE(2009), + [sym_function_definition] = STATE(22), + [sym__old_style_function_definition] = STATE(129), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(105), + [aux_sym_preproc_include_token1] = ACTIONS(107), + [aux_sym_preproc_def_token1] = ACTIONS(109), + [aux_sym_preproc_if_token1] = ACTIONS(111), + [aux_sym_preproc_if_token2] = ACTIONS(201), + [aux_sym_preproc_ifdef_token1] = ACTIONS(115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(115), + [aux_sym_preproc_else_token1] = ACTIONS(117), + [aux_sym_preproc_elif_token1] = ACTIONS(119), + [aux_sym_preproc_elifdef_token1] = ACTIONS(121), + [aux_sym_preproc_elifdef_token2] = ACTIONS(121), + [sym_preproc_directive] = ACTIONS(123), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(131), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [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(129), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1137), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(674), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(793), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(119), + [sym_statement] = STATE(22), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(203), + [aux_sym_preproc_include_token1] = ACTIONS(206), + [aux_sym_preproc_def_token1] = ACTIONS(209), + [aux_sym_preproc_if_token1] = ACTIONS(212), + [aux_sym_preproc_if_token2] = ACTIONS(215), + [aux_sym_preproc_ifdef_token1] = ACTIONS(217), + [aux_sym_preproc_ifdef_token2] = ACTIONS(217), + [aux_sym_preproc_else_token1] = ACTIONS(215), + [aux_sym_preproc_elif_token1] = ACTIONS(215), + [aux_sym_preproc_elifdef_token1] = ACTIONS(215), + [aux_sym_preproc_elifdef_token2] = ACTIONS(215), + [sym_preproc_directive] = ACTIONS(220), + [anon_sym_LPAREN2] = ACTIONS(223), + [anon_sym_BANG] = ACTIONS(226), + [anon_sym_TILDE] = ACTIONS(226), + [anon_sym_DASH] = ACTIONS(229), + [anon_sym_PLUS] = ACTIONS(229), + [anon_sym_STAR] = ACTIONS(232), + [anon_sym_AMP] = ACTIONS(232), + [anon_sym_SEMI] = ACTIONS(235), + [anon_sym___extension__] = ACTIONS(238), + [anon_sym_typedef] = ACTIONS(241), + [anon_sym_extern] = ACTIONS(244), + [anon_sym___attribute__] = ACTIONS(247), + [anon_sym___attribute] = ACTIONS(247), + [anon_sym_LBRACK_LBRACK] = ACTIONS(250), + [anon_sym___declspec] = ACTIONS(253), + [anon_sym___cdecl] = ACTIONS(256), + [anon_sym___clrcall] = ACTIONS(256), + [anon_sym___stdcall] = ACTIONS(256), + [anon_sym___fastcall] = ACTIONS(256), + [anon_sym___thiscall] = ACTIONS(256), + [anon_sym___vectorcall] = ACTIONS(256), + [anon_sym_LBRACE] = ACTIONS(259), + [anon_sym_signed] = ACTIONS(262), + [anon_sym_unsigned] = ACTIONS(262), + [anon_sym_long] = ACTIONS(262), + [anon_sym_short] = ACTIONS(262), + [anon_sym_static] = ACTIONS(265), + [anon_sym_auto] = ACTIONS(265), + [anon_sym_register] = ACTIONS(265), + [anon_sym_inline] = ACTIONS(265), + [anon_sym___inline] = ACTIONS(265), + [anon_sym___inline__] = ACTIONS(265), + [anon_sym___forceinline] = ACTIONS(265), + [anon_sym_thread_local] = ACTIONS(265), + [anon_sym___thread] = ACTIONS(265), + [anon_sym_const] = ACTIONS(268), + [anon_sym_constexpr] = ACTIONS(268), + [anon_sym_volatile] = ACTIONS(268), + [anon_sym_restrict] = ACTIONS(268), + [anon_sym___restrict__] = ACTIONS(268), + [anon_sym__Atomic] = ACTIONS(268), + [anon_sym__Noreturn] = ACTIONS(268), + [anon_sym_noreturn] = ACTIONS(268), + [anon_sym__Nonnull] = ACTIONS(268), + [anon_sym_alignas] = ACTIONS(271), + [anon_sym__Alignas] = ACTIONS(271), + [sym_primitive_type] = ACTIONS(274), + [anon_sym_enum] = ACTIONS(277), + [anon_sym_struct] = ACTIONS(280), + [anon_sym_union] = ACTIONS(283), + [anon_sym_if] = ACTIONS(286), + [anon_sym_switch] = ACTIONS(289), + [anon_sym_case] = ACTIONS(292), + [anon_sym_default] = ACTIONS(295), + [anon_sym_while] = ACTIONS(298), + [anon_sym_do] = ACTIONS(301), + [anon_sym_for] = ACTIONS(304), + [anon_sym_return] = ACTIONS(307), + [anon_sym_break] = ACTIONS(310), + [anon_sym_continue] = ACTIONS(313), + [anon_sym_goto] = ACTIONS(316), + [anon_sym___try] = ACTIONS(319), + [anon_sym___leave] = ACTIONS(322), + [anon_sym_DASH_DASH] = ACTIONS(325), + [anon_sym_PLUS_PLUS] = ACTIONS(325), + [anon_sym_sizeof] = ACTIONS(328), + [anon_sym___alignof__] = ACTIONS(331), + [anon_sym___alignof] = ACTIONS(331), + [anon_sym__alignof] = ACTIONS(331), + [anon_sym_alignof] = ACTIONS(331), + [anon_sym__Alignof] = ACTIONS(331), + [anon_sym_offsetof] = ACTIONS(334), + [anon_sym__Generic] = ACTIONS(337), + [anon_sym_asm] = ACTIONS(340), + [anon_sym___asm__] = ACTIONS(340), + [anon_sym___asm] = ACTIONS(340), + [sym_number_literal] = ACTIONS(343), + [anon_sym_L_SQUOTE] = ACTIONS(346), + [anon_sym_u_SQUOTE] = ACTIONS(346), + [anon_sym_U_SQUOTE] = ACTIONS(346), + [anon_sym_u8_SQUOTE] = ACTIONS(346), + [anon_sym_SQUOTE] = ACTIONS(346), + [anon_sym_L_DQUOTE] = ACTIONS(349), + [anon_sym_u_DQUOTE] = ACTIONS(349), + [anon_sym_U_DQUOTE] = ACTIONS(349), + [anon_sym_u8_DQUOTE] = ACTIONS(349), + [anon_sym_DQUOTE] = ACTIONS(349), + [sym_true] = ACTIONS(352), + [sym_false] = ACTIONS(352), + [anon_sym_NULL] = ACTIONS(355), + [anon_sym_nullptr] = ACTIONS(355), + [sym_comment] = ACTIONS(3), + }, + [23] = { + [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(271), + [sym_declaration] = STATE(31), + [sym_type_definition] = STATE(31), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(31), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(31), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(31), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(31), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(358), + [aux_sym_preproc_include_token1] = ACTIONS(360), + [aux_sym_preproc_def_token1] = ACTIONS(362), + [aux_sym_preproc_if_token1] = ACTIONS(364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(366), + [aux_sym_preproc_ifdef_token2] = ACTIONS(366), + [sym_preproc_directive] = ACTIONS(368), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(376), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(380), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [24] = { + [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(271), + [sym_declaration] = STATE(24), + [sym_type_definition] = STATE(24), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(24), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(24), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(24), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(24), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(408), + [aux_sym_preproc_include_token1] = ACTIONS(411), + [aux_sym_preproc_def_token1] = ACTIONS(414), + [aux_sym_preproc_if_token1] = ACTIONS(417), + [aux_sym_preproc_ifdef_token1] = ACTIONS(420), + [aux_sym_preproc_ifdef_token2] = ACTIONS(420), + [sym_preproc_directive] = ACTIONS(423), + [anon_sym_LPAREN2] = ACTIONS(223), + [anon_sym_BANG] = ACTIONS(226), + [anon_sym_TILDE] = ACTIONS(226), + [anon_sym_DASH] = ACTIONS(229), + [anon_sym_PLUS] = ACTIONS(229), + [anon_sym_STAR] = ACTIONS(232), + [anon_sym_AMP] = ACTIONS(232), + [anon_sym_SEMI] = ACTIONS(426), + [anon_sym___extension__] = ACTIONS(429), + [anon_sym_typedef] = ACTIONS(432), + [anon_sym_extern] = ACTIONS(435), + [anon_sym___attribute__] = ACTIONS(247), + [anon_sym___attribute] = ACTIONS(247), + [anon_sym_LBRACK_LBRACK] = ACTIONS(250), + [anon_sym___declspec] = ACTIONS(253), + [anon_sym___cdecl] = ACTIONS(256), + [anon_sym___clrcall] = ACTIONS(256), + [anon_sym___stdcall] = ACTIONS(256), + [anon_sym___fastcall] = ACTIONS(256), + [anon_sym___thiscall] = ACTIONS(256), + [anon_sym___vectorcall] = ACTIONS(256), + [anon_sym_LBRACE] = ACTIONS(438), + [anon_sym_RBRACE] = ACTIONS(441), + [anon_sym_signed] = ACTIONS(262), + [anon_sym_unsigned] = ACTIONS(262), + [anon_sym_long] = ACTIONS(262), + [anon_sym_short] = ACTIONS(262), + [anon_sym_static] = ACTIONS(265), + [anon_sym_auto] = ACTIONS(265), + [anon_sym_register] = ACTIONS(265), + [anon_sym_inline] = ACTIONS(265), + [anon_sym___inline] = ACTIONS(265), + [anon_sym___inline__] = ACTIONS(265), + [anon_sym___forceinline] = ACTIONS(265), + [anon_sym_thread_local] = ACTIONS(265), + [anon_sym___thread] = ACTIONS(265), + [anon_sym_const] = ACTIONS(268), + [anon_sym_constexpr] = ACTIONS(268), + [anon_sym_volatile] = ACTIONS(268), + [anon_sym_restrict] = ACTIONS(268), + [anon_sym___restrict__] = ACTIONS(268), + [anon_sym__Atomic] = ACTIONS(268), + [anon_sym__Noreturn] = ACTIONS(268), + [anon_sym_noreturn] = ACTIONS(268), + [anon_sym__Nonnull] = ACTIONS(268), + [anon_sym_alignas] = ACTIONS(271), + [anon_sym__Alignas] = ACTIONS(271), + [sym_primitive_type] = ACTIONS(274), + [anon_sym_enum] = ACTIONS(277), + [anon_sym_struct] = ACTIONS(280), + [anon_sym_union] = ACTIONS(283), + [anon_sym_if] = ACTIONS(443), + [anon_sym_switch] = ACTIONS(446), + [anon_sym_case] = ACTIONS(449), + [anon_sym_default] = ACTIONS(452), + [anon_sym_while] = ACTIONS(455), + [anon_sym_do] = ACTIONS(458), + [anon_sym_for] = ACTIONS(461), + [anon_sym_return] = ACTIONS(464), + [anon_sym_break] = ACTIONS(467), + [anon_sym_continue] = ACTIONS(470), + [anon_sym_goto] = ACTIONS(473), + [anon_sym___try] = ACTIONS(476), + [anon_sym___leave] = ACTIONS(479), + [anon_sym_DASH_DASH] = ACTIONS(325), + [anon_sym_PLUS_PLUS] = ACTIONS(325), + [anon_sym_sizeof] = ACTIONS(328), + [anon_sym___alignof__] = ACTIONS(331), + [anon_sym___alignof] = ACTIONS(331), + [anon_sym__alignof] = ACTIONS(331), + [anon_sym_alignof] = ACTIONS(331), + [anon_sym__Alignof] = ACTIONS(331), + [anon_sym_offsetof] = ACTIONS(334), + [anon_sym__Generic] = ACTIONS(337), + [anon_sym_asm] = ACTIONS(340), + [anon_sym___asm__] = ACTIONS(340), + [anon_sym___asm] = ACTIONS(340), + [sym_number_literal] = ACTIONS(343), + [anon_sym_L_SQUOTE] = ACTIONS(346), + [anon_sym_u_SQUOTE] = ACTIONS(346), + [anon_sym_U_SQUOTE] = ACTIONS(346), + [anon_sym_u8_SQUOTE] = ACTIONS(346), + [anon_sym_SQUOTE] = ACTIONS(346), + [anon_sym_L_DQUOTE] = ACTIONS(349), + [anon_sym_u_DQUOTE] = ACTIONS(349), + [anon_sym_U_DQUOTE] = ACTIONS(349), + [anon_sym_u8_DQUOTE] = ACTIONS(349), + [anon_sym_DQUOTE] = ACTIONS(349), + [sym_true] = ACTIONS(352), + [sym_false] = ACTIONS(352), + [anon_sym_NULL] = ACTIONS(355), + [anon_sym_nullptr] = ACTIONS(355), + [sym_comment] = ACTIONS(3), + }, + [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(271), + [sym_declaration] = STATE(27), + [sym_type_definition] = STATE(27), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(27), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(27), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(27), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(27), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(358), + [aux_sym_preproc_include_token1] = ACTIONS(360), + [aux_sym_preproc_def_token1] = ACTIONS(362), + [aux_sym_preproc_if_token1] = ACTIONS(364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(366), + [aux_sym_preproc_ifdef_token2] = ACTIONS(366), + [sym_preproc_directive] = ACTIONS(368), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(376), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(482), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [26] = { + [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(286), + [sym_declaration] = STATE(40), + [sym_type_definition] = STATE(40), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1139), + [sym_linkage_specification] = STATE(40), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(697), + [sym_compound_statement] = STATE(180), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(798), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(287), + [sym_statement] = STATE(40), + [sym_labeled_statement] = STATE(180), + [sym_expression_statement] = STATE(180), + [sym_if_statement] = STATE(180), + [sym_switch_statement] = STATE(180), + [sym_case_statement] = STATE(180), + [sym_while_statement] = STATE(180), + [sym_do_statement] = STATE(180), + [sym_for_statement] = STATE(180), + [sym_return_statement] = STATE(180), + [sym_break_statement] = STATE(180), + [sym_continue_statement] = STATE(180), + [sym_goto_statement] = STATE(180), + [sym_seh_try_statement] = STATE(180), + [sym_seh_leave_statement] = STATE(180), + [sym_expression] = STATE(1052), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1858), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(40), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(40), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(378), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(484), + [aux_sym_preproc_include_token1] = ACTIONS(486), + [aux_sym_preproc_def_token1] = ACTIONS(488), + [aux_sym_preproc_if_token1] = ACTIONS(490), + [aux_sym_preproc_if_token2] = ACTIONS(492), + [aux_sym_preproc_ifdef_token1] = ACTIONS(494), + [aux_sym_preproc_ifdef_token2] = ACTIONS(494), + [sym_preproc_directive] = ACTIONS(496), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(498), + [anon_sym___extension__] = ACTIONS(500), + [anon_sym_typedef] = ACTIONS(502), + [anon_sym_extern] = ACTIONS(504), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(506), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(508), + [anon_sym_switch] = ACTIONS(510), + [anon_sym_case] = ACTIONS(512), + [anon_sym_default] = ACTIONS(514), + [anon_sym_while] = ACTIONS(516), + [anon_sym_do] = ACTIONS(518), + [anon_sym_for] = ACTIONS(520), + [anon_sym_return] = ACTIONS(522), + [anon_sym_break] = ACTIONS(524), + [anon_sym_continue] = ACTIONS(526), + [anon_sym_goto] = ACTIONS(528), + [anon_sym___try] = ACTIONS(530), + [anon_sym___leave] = ACTIONS(532), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [27] = { + [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(271), + [sym_declaration] = STATE(24), + [sym_type_definition] = STATE(24), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(24), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(24), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(24), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(24), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(358), + [aux_sym_preproc_include_token1] = ACTIONS(360), + [aux_sym_preproc_def_token1] = ACTIONS(362), + [aux_sym_preproc_if_token1] = ACTIONS(364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(366), + [aux_sym_preproc_ifdef_token2] = ACTIONS(366), + [sym_preproc_directive] = ACTIONS(368), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(376), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(534), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [28] = { + [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(271), + [sym_declaration] = STATE(24), + [sym_type_definition] = STATE(24), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(24), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(24), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(24), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(24), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(358), + [aux_sym_preproc_include_token1] = ACTIONS(360), + [aux_sym_preproc_def_token1] = ACTIONS(362), + [aux_sym_preproc_if_token1] = ACTIONS(364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(366), + [aux_sym_preproc_ifdef_token2] = ACTIONS(366), + [sym_preproc_directive] = ACTIONS(368), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(376), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(536), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [29] = { + [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(271), + [sym_declaration] = STATE(24), + [sym_type_definition] = STATE(24), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(24), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(24), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(24), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(24), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(358), + [aux_sym_preproc_include_token1] = ACTIONS(360), + [aux_sym_preproc_def_token1] = ACTIONS(362), + [aux_sym_preproc_if_token1] = ACTIONS(364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(366), + [aux_sym_preproc_ifdef_token2] = ACTIONS(366), + [sym_preproc_directive] = ACTIONS(368), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(376), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(538), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [30] = { + [sym__block_item] = STATE(32), + [sym_preproc_include] = STATE(32), + [sym_preproc_def] = STATE(32), + [sym_preproc_function_def] = STATE(32), + [sym_preproc_call] = STATE(32), + [sym_preproc_if] = STATE(32), + [sym_preproc_ifdef] = STATE(32), + [sym_function_definition] = STATE(32), + [sym__old_style_function_definition] = STATE(271), + [sym_declaration] = STATE(32), + [sym_type_definition] = STATE(32), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(32), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(32), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(32), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(32), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(358), + [aux_sym_preproc_include_token1] = ACTIONS(360), + [aux_sym_preproc_def_token1] = ACTIONS(362), + [aux_sym_preproc_if_token1] = ACTIONS(364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(366), + [aux_sym_preproc_ifdef_token2] = ACTIONS(366), + [sym_preproc_directive] = ACTIONS(368), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(376), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(540), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [31] = { + [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(271), + [sym_declaration] = STATE(24), + [sym_type_definition] = STATE(24), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(24), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(24), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(24), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(24), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(358), + [aux_sym_preproc_include_token1] = ACTIONS(360), + [aux_sym_preproc_def_token1] = ACTIONS(362), + [aux_sym_preproc_if_token1] = ACTIONS(364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(366), + [aux_sym_preproc_ifdef_token2] = ACTIONS(366), + [sym_preproc_directive] = ACTIONS(368), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(376), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(542), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [32] = { + [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(271), + [sym_declaration] = STATE(24), + [sym_type_definition] = STATE(24), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(24), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(24), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(24), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(24), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(358), + [aux_sym_preproc_include_token1] = ACTIONS(360), + [aux_sym_preproc_def_token1] = ACTIONS(362), + [aux_sym_preproc_if_token1] = ACTIONS(364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(366), + [aux_sym_preproc_ifdef_token2] = ACTIONS(366), + [sym_preproc_directive] = ACTIONS(368), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(376), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(544), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [33] = { + [sym__block_item] = STATE(28), + [sym_preproc_include] = STATE(28), + [sym_preproc_def] = STATE(28), + [sym_preproc_function_def] = STATE(28), + [sym_preproc_call] = STATE(28), + [sym_preproc_if] = STATE(28), + [sym_preproc_ifdef] = STATE(28), + [sym_function_definition] = STATE(28), + [sym__old_style_function_definition] = STATE(271), + [sym_declaration] = STATE(28), + [sym_type_definition] = STATE(28), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(28), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(28), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(28), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(28), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(358), + [aux_sym_preproc_include_token1] = ACTIONS(360), + [aux_sym_preproc_def_token1] = ACTIONS(362), + [aux_sym_preproc_if_token1] = ACTIONS(364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(366), + [aux_sym_preproc_ifdef_token2] = ACTIONS(366), + [sym_preproc_directive] = ACTIONS(368), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(376), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(546), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [34] = { + [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(271), + [sym_declaration] = STATE(29), + [sym_type_definition] = STATE(29), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(29), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(29), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(29), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(29), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(358), + [aux_sym_preproc_include_token1] = ACTIONS(360), + [aux_sym_preproc_def_token1] = ACTIONS(362), + [aux_sym_preproc_if_token1] = ACTIONS(364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(366), + [aux_sym_preproc_ifdef_token2] = ACTIONS(366), + [sym_preproc_directive] = ACTIONS(368), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(376), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(548), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [35] = { + [sym__block_item] = STATE(26), + [sym_preproc_include] = STATE(26), + [sym_preproc_def] = STATE(26), + [sym_preproc_function_def] = STATE(26), + [sym_preproc_call] = STATE(26), + [sym_preproc_if] = STATE(26), + [sym_preproc_ifdef] = STATE(26), + [sym_function_definition] = STATE(26), + [sym__old_style_function_definition] = STATE(286), + [sym_declaration] = STATE(26), + [sym_type_definition] = STATE(26), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1139), + [sym_linkage_specification] = STATE(26), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(697), + [sym_compound_statement] = STATE(180), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(798), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(287), + [sym_statement] = STATE(26), + [sym_labeled_statement] = STATE(180), + [sym_expression_statement] = STATE(180), + [sym_if_statement] = STATE(180), + [sym_switch_statement] = STATE(180), + [sym_case_statement] = STATE(180), + [sym_while_statement] = STATE(180), + [sym_do_statement] = STATE(180), + [sym_for_statement] = STATE(180), + [sym_return_statement] = STATE(180), + [sym_break_statement] = STATE(180), + [sym_continue_statement] = STATE(180), + [sym_goto_statement] = STATE(180), + [sym_seh_try_statement] = STATE(180), + [sym_seh_leave_statement] = STATE(180), + [sym_expression] = STATE(1052), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1858), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(26), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(26), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(378), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(484), + [aux_sym_preproc_include_token1] = ACTIONS(486), + [aux_sym_preproc_def_token1] = ACTIONS(488), + [aux_sym_preproc_if_token1] = ACTIONS(490), + [aux_sym_preproc_if_token2] = ACTIONS(550), + [aux_sym_preproc_ifdef_token1] = ACTIONS(494), + [aux_sym_preproc_ifdef_token2] = ACTIONS(494), + [sym_preproc_directive] = ACTIONS(496), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(498), + [anon_sym___extension__] = ACTIONS(500), + [anon_sym_typedef] = ACTIONS(502), + [anon_sym_extern] = ACTIONS(504), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(506), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(508), + [anon_sym_switch] = ACTIONS(510), + [anon_sym_case] = ACTIONS(512), + [anon_sym_default] = ACTIONS(514), + [anon_sym_while] = ACTIONS(516), + [anon_sym_do] = ACTIONS(518), + [anon_sym_for] = ACTIONS(520), + [anon_sym_return] = ACTIONS(522), + [anon_sym_break] = ACTIONS(524), + [anon_sym_continue] = ACTIONS(526), + [anon_sym_goto] = ACTIONS(528), + [anon_sym___try] = ACTIONS(530), + [anon_sym___leave] = ACTIONS(532), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [36] = { + [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(271), + [sym_declaration] = STATE(38), + [sym_type_definition] = STATE(38), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(38), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(38), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(38), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(38), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(358), + [aux_sym_preproc_include_token1] = ACTIONS(360), + [aux_sym_preproc_def_token1] = ACTIONS(362), + [aux_sym_preproc_if_token1] = ACTIONS(364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(366), + [aux_sym_preproc_ifdef_token2] = ACTIONS(366), + [sym_preproc_directive] = ACTIONS(368), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(376), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(552), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [37] = { + [sym__block_item] = STATE(42), + [sym_preproc_include] = STATE(42), + [sym_preproc_def] = STATE(42), + [sym_preproc_function_def] = STATE(42), + [sym_preproc_call] = STATE(42), + [sym_preproc_if] = STATE(42), + [sym_preproc_ifdef] = STATE(42), + [sym_function_definition] = STATE(42), + [sym__old_style_function_definition] = STATE(271), + [sym_declaration] = STATE(42), + [sym_type_definition] = STATE(42), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(42), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(42), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(42), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(42), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(358), + [aux_sym_preproc_include_token1] = ACTIONS(360), + [aux_sym_preproc_def_token1] = ACTIONS(362), + [aux_sym_preproc_if_token1] = ACTIONS(364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(366), + [aux_sym_preproc_ifdef_token2] = ACTIONS(366), + [sym_preproc_directive] = ACTIONS(368), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(376), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(554), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [38] = { + [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(271), + [sym_declaration] = STATE(24), + [sym_type_definition] = STATE(24), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(24), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(24), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(24), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(24), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(358), + [aux_sym_preproc_include_token1] = ACTIONS(360), + [aux_sym_preproc_def_token1] = ACTIONS(362), + [aux_sym_preproc_if_token1] = ACTIONS(364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(366), + [aux_sym_preproc_ifdef_token2] = ACTIONS(366), + [sym_preproc_directive] = ACTIONS(368), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(376), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(556), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [39] = { + [sym__block_item] = STATE(41), + [sym_preproc_include] = STATE(41), + [sym_preproc_def] = STATE(41), + [sym_preproc_function_def] = STATE(41), + [sym_preproc_call] = STATE(41), + [sym_preproc_if] = STATE(41), + [sym_preproc_ifdef] = STATE(41), + [sym_function_definition] = STATE(41), + [sym__old_style_function_definition] = STATE(271), + [sym_declaration] = STATE(41), + [sym_type_definition] = STATE(41), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(41), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(41), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(41), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(41), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(358), + [aux_sym_preproc_include_token1] = ACTIONS(360), + [aux_sym_preproc_def_token1] = ACTIONS(362), + [aux_sym_preproc_if_token1] = ACTIONS(364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(366), + [aux_sym_preproc_ifdef_token2] = ACTIONS(366), + [sym_preproc_directive] = ACTIONS(368), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(376), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(558), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [40] = { + [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(286), + [sym_declaration] = STATE(40), + [sym_type_definition] = STATE(40), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1139), + [sym_linkage_specification] = STATE(40), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(697), + [sym_compound_statement] = STATE(180), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(798), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(287), + [sym_statement] = STATE(40), + [sym_labeled_statement] = STATE(180), + [sym_expression_statement] = STATE(180), + [sym_if_statement] = STATE(180), + [sym_switch_statement] = STATE(180), + [sym_case_statement] = STATE(180), + [sym_while_statement] = STATE(180), + [sym_do_statement] = STATE(180), + [sym_for_statement] = STATE(180), + [sym_return_statement] = STATE(180), + [sym_break_statement] = STATE(180), + [sym_continue_statement] = STATE(180), + [sym_goto_statement] = STATE(180), + [sym_seh_try_statement] = STATE(180), + [sym_seh_leave_statement] = STATE(180), + [sym_expression] = STATE(1052), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1858), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(40), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(40), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(378), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(560), + [aux_sym_preproc_include_token1] = ACTIONS(563), + [aux_sym_preproc_def_token1] = ACTIONS(566), + [aux_sym_preproc_if_token1] = ACTIONS(569), + [aux_sym_preproc_if_token2] = ACTIONS(215), + [aux_sym_preproc_ifdef_token1] = ACTIONS(572), + [aux_sym_preproc_ifdef_token2] = ACTIONS(572), + [sym_preproc_directive] = ACTIONS(575), + [anon_sym_LPAREN2] = ACTIONS(223), + [anon_sym_BANG] = ACTIONS(226), + [anon_sym_TILDE] = ACTIONS(226), + [anon_sym_DASH] = ACTIONS(229), + [anon_sym_PLUS] = ACTIONS(229), + [anon_sym_STAR] = ACTIONS(232), + [anon_sym_AMP] = ACTIONS(232), + [anon_sym_SEMI] = ACTIONS(578), + [anon_sym___extension__] = ACTIONS(581), + [anon_sym_typedef] = ACTIONS(584), + [anon_sym_extern] = ACTIONS(587), + [anon_sym___attribute__] = ACTIONS(247), + [anon_sym___attribute] = ACTIONS(247), + [anon_sym_LBRACK_LBRACK] = ACTIONS(250), + [anon_sym___declspec] = ACTIONS(253), + [anon_sym___cdecl] = ACTIONS(256), + [anon_sym___clrcall] = ACTIONS(256), + [anon_sym___stdcall] = ACTIONS(256), + [anon_sym___fastcall] = ACTIONS(256), + [anon_sym___thiscall] = ACTIONS(256), + [anon_sym___vectorcall] = ACTIONS(256), + [anon_sym_LBRACE] = ACTIONS(590), + [anon_sym_signed] = ACTIONS(262), + [anon_sym_unsigned] = ACTIONS(262), + [anon_sym_long] = ACTIONS(262), + [anon_sym_short] = ACTIONS(262), + [anon_sym_static] = ACTIONS(265), + [anon_sym_auto] = ACTIONS(265), + [anon_sym_register] = ACTIONS(265), + [anon_sym_inline] = ACTIONS(265), + [anon_sym___inline] = ACTIONS(265), + [anon_sym___inline__] = ACTIONS(265), + [anon_sym___forceinline] = ACTIONS(265), + [anon_sym_thread_local] = ACTIONS(265), + [anon_sym___thread] = ACTIONS(265), + [anon_sym_const] = ACTIONS(268), + [anon_sym_constexpr] = ACTIONS(268), + [anon_sym_volatile] = ACTIONS(268), + [anon_sym_restrict] = ACTIONS(268), + [anon_sym___restrict__] = ACTIONS(268), + [anon_sym__Atomic] = ACTIONS(268), + [anon_sym__Noreturn] = ACTIONS(268), + [anon_sym_noreturn] = ACTIONS(268), + [anon_sym__Nonnull] = ACTIONS(268), + [anon_sym_alignas] = ACTIONS(271), + [anon_sym__Alignas] = ACTIONS(271), + [sym_primitive_type] = ACTIONS(274), + [anon_sym_enum] = ACTIONS(277), + [anon_sym_struct] = ACTIONS(280), + [anon_sym_union] = ACTIONS(283), + [anon_sym_if] = ACTIONS(593), + [anon_sym_switch] = ACTIONS(596), + [anon_sym_case] = ACTIONS(599), + [anon_sym_default] = ACTIONS(602), + [anon_sym_while] = ACTIONS(605), + [anon_sym_do] = ACTIONS(608), + [anon_sym_for] = ACTIONS(611), + [anon_sym_return] = ACTIONS(614), + [anon_sym_break] = ACTIONS(617), + [anon_sym_continue] = ACTIONS(620), + [anon_sym_goto] = ACTIONS(623), + [anon_sym___try] = ACTIONS(626), + [anon_sym___leave] = ACTIONS(629), + [anon_sym_DASH_DASH] = ACTIONS(325), + [anon_sym_PLUS_PLUS] = ACTIONS(325), + [anon_sym_sizeof] = ACTIONS(328), + [anon_sym___alignof__] = ACTIONS(331), + [anon_sym___alignof] = ACTIONS(331), + [anon_sym__alignof] = ACTIONS(331), + [anon_sym_alignof] = ACTIONS(331), + [anon_sym__Alignof] = ACTIONS(331), + [anon_sym_offsetof] = ACTIONS(334), + [anon_sym__Generic] = ACTIONS(337), + [anon_sym_asm] = ACTIONS(340), + [anon_sym___asm__] = ACTIONS(340), + [anon_sym___asm] = ACTIONS(340), + [sym_number_literal] = ACTIONS(343), + [anon_sym_L_SQUOTE] = ACTIONS(346), + [anon_sym_u_SQUOTE] = ACTIONS(346), + [anon_sym_U_SQUOTE] = ACTIONS(346), + [anon_sym_u8_SQUOTE] = ACTIONS(346), + [anon_sym_SQUOTE] = ACTIONS(346), + [anon_sym_L_DQUOTE] = ACTIONS(349), + [anon_sym_u_DQUOTE] = ACTIONS(349), + [anon_sym_U_DQUOTE] = ACTIONS(349), + [anon_sym_u8_DQUOTE] = ACTIONS(349), + [anon_sym_DQUOTE] = ACTIONS(349), + [sym_true] = ACTIONS(352), + [sym_false] = ACTIONS(352), + [anon_sym_NULL] = ACTIONS(355), + [anon_sym_nullptr] = ACTIONS(355), + [sym_comment] = ACTIONS(3), + }, + [41] = { + [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(271), + [sym_declaration] = STATE(24), + [sym_type_definition] = STATE(24), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(24), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(24), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(24), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(24), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(358), + [aux_sym_preproc_include_token1] = ACTIONS(360), + [aux_sym_preproc_def_token1] = ACTIONS(362), + [aux_sym_preproc_if_token1] = ACTIONS(364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(366), + [aux_sym_preproc_ifdef_token2] = ACTIONS(366), + [sym_preproc_directive] = ACTIONS(368), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(376), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(632), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [42] = { + [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(271), + [sym_declaration] = STATE(24), + [sym_type_definition] = STATE(24), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1138), + [sym_linkage_specification] = STATE(24), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(694), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(812), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(272), + [sym_statement] = STATE(24), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym__empty_declaration] = STATE(24), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_repeat1] = STATE(24), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(358), + [aux_sym_preproc_include_token1] = ACTIONS(360), + [aux_sym_preproc_def_token1] = ACTIONS(362), + [aux_sym_preproc_if_token1] = ACTIONS(364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(366), + [aux_sym_preproc_ifdef_token2] = ACTIONS(366), + [sym_preproc_directive] = ACTIONS(368), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(376), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(634), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [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(338), + [sym_declaration] = STATE(43), + [sym_type_definition] = STATE(43), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1136), + [sym_linkage_specification] = STATE(43), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(691), + [sym_compound_statement] = STATE(43), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(362), + [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(1116), + [sym__string] = STATE(1119), + [sym_conditional_expression] = STATE(1119), + [sym_assignment_expression] = STATE(1119), + [sym_pointer_expression] = STATE(935), + [sym_unary_expression] = STATE(1119), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(1119), + [sym_cast_expression] = STATE(1119), + [sym_sizeof_expression] = STATE(1119), + [sym_alignof_expression] = STATE(1119), + [sym_offsetof_expression] = STATE(1119), + [sym_generic_expression] = STATE(1119), + [sym_subscript_expression] = STATE(935), + [sym_call_expression] = STATE(935), + [sym_gnu_asm_expression] = STATE(1119), + [sym_extension_expression] = STATE(1119), + [sym_field_expression] = STATE(935), + [sym_compound_literal_expression] = STATE(1119), + [sym_parenthesized_expression] = STATE(935), + [sym_char_literal] = STATE(1119), + [sym_concatenated_string] = STATE(1119), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(1119), + [sym__empty_declaration] = STATE(43), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_translation_unit_repeat1] = STATE(43), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(375), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [ts_builtin_sym_end] = ACTIONS(636), + [sym_identifier] = ACTIONS(638), + [aux_sym_preproc_include_token1] = ACTIONS(641), + [aux_sym_preproc_def_token1] = ACTIONS(644), + [aux_sym_preproc_if_token1] = ACTIONS(647), + [aux_sym_preproc_ifdef_token1] = ACTIONS(650), + [aux_sym_preproc_ifdef_token2] = ACTIONS(650), + [sym_preproc_directive] = ACTIONS(653), + [anon_sym_LPAREN2] = ACTIONS(656), + [anon_sym_BANG] = ACTIONS(659), + [anon_sym_TILDE] = ACTIONS(659), + [anon_sym_DASH] = ACTIONS(662), + [anon_sym_PLUS] = ACTIONS(662), + [anon_sym_STAR] = ACTIONS(665), + [anon_sym_AMP] = ACTIONS(665), + [anon_sym_SEMI] = ACTIONS(668), + [anon_sym___extension__] = ACTIONS(671), + [anon_sym_typedef] = ACTIONS(674), + [anon_sym_extern] = ACTIONS(677), + [anon_sym___attribute__] = ACTIONS(680), + [anon_sym___attribute] = ACTIONS(680), + [anon_sym_LBRACK_LBRACK] = ACTIONS(683), + [anon_sym___declspec] = ACTIONS(686), + [anon_sym___cdecl] = ACTIONS(689), + [anon_sym___clrcall] = ACTIONS(689), + [anon_sym___stdcall] = ACTIONS(689), + [anon_sym___fastcall] = ACTIONS(689), + [anon_sym___thiscall] = ACTIONS(689), + [anon_sym___vectorcall] = ACTIONS(689), + [anon_sym_LBRACE] = ACTIONS(692), + [anon_sym_signed] = ACTIONS(695), + [anon_sym_unsigned] = ACTIONS(695), + [anon_sym_long] = ACTIONS(695), + [anon_sym_short] = ACTIONS(695), + [anon_sym_static] = ACTIONS(698), + [anon_sym_auto] = ACTIONS(698), + [anon_sym_register] = ACTIONS(698), + [anon_sym_inline] = ACTIONS(698), + [anon_sym___inline] = ACTIONS(698), + [anon_sym___inline__] = ACTIONS(698), + [anon_sym___forceinline] = ACTIONS(698), + [anon_sym_thread_local] = ACTIONS(698), + [anon_sym___thread] = ACTIONS(698), + [anon_sym_const] = ACTIONS(701), + [anon_sym_constexpr] = ACTIONS(701), + [anon_sym_volatile] = ACTIONS(701), + [anon_sym_restrict] = ACTIONS(701), + [anon_sym___restrict__] = ACTIONS(701), + [anon_sym__Atomic] = ACTIONS(701), + [anon_sym__Noreturn] = ACTIONS(701), + [anon_sym_noreturn] = ACTIONS(701), + [anon_sym__Nonnull] = ACTIONS(701), + [anon_sym_alignas] = ACTIONS(704), + [anon_sym__Alignas] = ACTIONS(704), + [sym_primitive_type] = ACTIONS(707), + [anon_sym_enum] = ACTIONS(710), + [anon_sym_struct] = ACTIONS(713), + [anon_sym_union] = ACTIONS(716), + [anon_sym_if] = ACTIONS(719), + [anon_sym_switch] = ACTIONS(722), + [anon_sym_case] = ACTIONS(725), + [anon_sym_default] = ACTIONS(728), + [anon_sym_while] = ACTIONS(731), + [anon_sym_do] = ACTIONS(734), + [anon_sym_for] = ACTIONS(737), + [anon_sym_return] = ACTIONS(740), + [anon_sym_break] = ACTIONS(743), + [anon_sym_continue] = ACTIONS(746), + [anon_sym_goto] = ACTIONS(749), + [anon_sym_DASH_DASH] = ACTIONS(752), + [anon_sym_PLUS_PLUS] = ACTIONS(752), + [anon_sym_sizeof] = ACTIONS(755), + [anon_sym___alignof__] = ACTIONS(758), + [anon_sym___alignof] = ACTIONS(758), + [anon_sym__alignof] = ACTIONS(758), + [anon_sym_alignof] = ACTIONS(758), + [anon_sym__Alignof] = ACTIONS(758), + [anon_sym_offsetof] = ACTIONS(761), + [anon_sym__Generic] = ACTIONS(764), + [anon_sym_asm] = ACTIONS(767), + [anon_sym___asm__] = ACTIONS(767), + [anon_sym___asm] = ACTIONS(767), + [sym_number_literal] = ACTIONS(770), + [anon_sym_L_SQUOTE] = ACTIONS(773), + [anon_sym_u_SQUOTE] = ACTIONS(773), + [anon_sym_U_SQUOTE] = ACTIONS(773), + [anon_sym_u8_SQUOTE] = ACTIONS(773), + [anon_sym_SQUOTE] = ACTIONS(773), + [anon_sym_L_DQUOTE] = ACTIONS(776), + [anon_sym_u_DQUOTE] = ACTIONS(776), + [anon_sym_U_DQUOTE] = ACTIONS(776), + [anon_sym_u8_DQUOTE] = ACTIONS(776), + [anon_sym_DQUOTE] = ACTIONS(776), + [sym_true] = ACTIONS(779), + [sym_false] = ACTIONS(779), + [anon_sym_NULL] = ACTIONS(782), + [anon_sym_nullptr] = ACTIONS(782), + [sym_comment] = ACTIONS(3), + }, + [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(338), + [sym_declaration] = STATE(43), + [sym_type_definition] = STATE(43), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1136), + [sym_linkage_specification] = STATE(43), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(691), + [sym_compound_statement] = STATE(43), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(800), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(362), + [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(1116), + [sym__string] = STATE(1119), + [sym_conditional_expression] = STATE(1119), + [sym_assignment_expression] = STATE(1119), + [sym_pointer_expression] = STATE(935), + [sym_unary_expression] = STATE(1119), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(1119), + [sym_cast_expression] = STATE(1119), + [sym_sizeof_expression] = STATE(1119), + [sym_alignof_expression] = STATE(1119), + [sym_offsetof_expression] = STATE(1119), + [sym_generic_expression] = STATE(1119), + [sym_subscript_expression] = STATE(935), + [sym_call_expression] = STATE(935), + [sym_gnu_asm_expression] = STATE(1119), + [sym_extension_expression] = STATE(1119), + [sym_field_expression] = STATE(935), + [sym_compound_literal_expression] = STATE(1119), + [sym_parenthesized_expression] = STATE(935), + [sym_char_literal] = STATE(1119), + [sym_concatenated_string] = STATE(1119), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(1119), + [sym__empty_declaration] = STATE(43), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_translation_unit_repeat1] = STATE(43), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(375), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [ts_builtin_sym_end] = ACTIONS(785), + [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_SEMI] = ACTIONS(27), + [anon_sym___extension__] = ACTIONS(29), + [anon_sym_typedef] = ACTIONS(31), + [anon_sym_extern] = ACTIONS(33), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(61), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(65), + [anon_sym_default] = ACTIONS(67), + [anon_sym_while] = ACTIONS(69), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(95), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(101), + [sym_false] = ACTIONS(101), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [45] = { + [sym_declaration] = STATE(47), + [sym_type_definition] = STATE(47), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1149), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(47), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(47), + [sym_labeled_statement] = STATE(47), + [sym_expression_statement] = STATE(47), + [sym_if_statement] = STATE(47), + [sym_switch_statement] = STATE(47), + [sym_while_statement] = STATE(47), + [sym_do_statement] = STATE(47), + [sym_for_statement] = STATE(47), + [sym_return_statement] = STATE(47), + [sym_break_statement] = STATE(47), + [sym_continue_statement] = STATE(47), + [sym_goto_statement] = STATE(47), + [sym_seh_try_statement] = STATE(47), + [sym_seh_leave_statement] = STATE(47), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(47), + [sym_identifier] = ACTIONS(787), + [aux_sym_preproc_include_token1] = ACTIONS(789), + [aux_sym_preproc_def_token1] = ACTIONS(789), + [aux_sym_preproc_if_token1] = ACTIONS(789), + [aux_sym_preproc_if_token2] = ACTIONS(789), + [aux_sym_preproc_ifdef_token1] = ACTIONS(789), + [aux_sym_preproc_ifdef_token2] = ACTIONS(789), + [aux_sym_preproc_else_token1] = ACTIONS(789), + [aux_sym_preproc_elif_token1] = ACTIONS(789), + [aux_sym_preproc_elifdef_token1] = ACTIONS(789), + [aux_sym_preproc_elifdef_token2] = ACTIONS(789), + [sym_preproc_directive] = ACTIONS(789), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(789), + [anon_sym___clrcall] = ACTIONS(789), + [anon_sym___stdcall] = ACTIONS(789), + [anon_sym___fastcall] = ACTIONS(789), + [anon_sym___thiscall] = ACTIONS(789), + [anon_sym___vectorcall] = ACTIONS(789), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_else] = ACTIONS(789), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(789), + [anon_sym_default] = ACTIONS(789), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [46] = { + [sym_declaration] = STATE(48), + [sym_type_definition] = STATE(48), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1149), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(48), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [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(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(48), + [sym_identifier] = ACTIONS(787), + [aux_sym_preproc_include_token1] = ACTIONS(791), + [aux_sym_preproc_def_token1] = ACTIONS(791), + [aux_sym_preproc_if_token1] = ACTIONS(791), + [aux_sym_preproc_if_token2] = ACTIONS(791), + [aux_sym_preproc_ifdef_token1] = ACTIONS(791), + [aux_sym_preproc_ifdef_token2] = ACTIONS(791), + [aux_sym_preproc_else_token1] = ACTIONS(791), + [aux_sym_preproc_elif_token1] = ACTIONS(791), + [aux_sym_preproc_elifdef_token1] = ACTIONS(791), + [aux_sym_preproc_elifdef_token2] = ACTIONS(791), + [sym_preproc_directive] = ACTIONS(791), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(791), + [anon_sym___clrcall] = ACTIONS(791), + [anon_sym___stdcall] = ACTIONS(791), + [anon_sym___fastcall] = ACTIONS(791), + [anon_sym___thiscall] = ACTIONS(791), + [anon_sym___vectorcall] = ACTIONS(791), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_else] = ACTIONS(791), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(791), + [anon_sym_default] = ACTIONS(791), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [47] = { + [sym_declaration] = STATE(49), + [sym_type_definition] = STATE(49), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1149), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(49), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(49), + [sym_labeled_statement] = STATE(49), + [sym_expression_statement] = STATE(49), + [sym_if_statement] = STATE(49), + [sym_switch_statement] = STATE(49), + [sym_while_statement] = STATE(49), + [sym_do_statement] = STATE(49), + [sym_for_statement] = STATE(49), + [sym_return_statement] = STATE(49), + [sym_break_statement] = STATE(49), + [sym_continue_statement] = STATE(49), + [sym_goto_statement] = STATE(49), + [sym_seh_try_statement] = STATE(49), + [sym_seh_leave_statement] = STATE(49), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(49), + [sym_identifier] = ACTIONS(787), + [aux_sym_preproc_include_token1] = ACTIONS(793), + [aux_sym_preproc_def_token1] = ACTIONS(793), + [aux_sym_preproc_if_token1] = ACTIONS(793), + [aux_sym_preproc_if_token2] = ACTIONS(793), + [aux_sym_preproc_ifdef_token1] = ACTIONS(793), + [aux_sym_preproc_ifdef_token2] = ACTIONS(793), + [aux_sym_preproc_else_token1] = ACTIONS(793), + [aux_sym_preproc_elif_token1] = ACTIONS(793), + [aux_sym_preproc_elifdef_token1] = ACTIONS(793), + [aux_sym_preproc_elifdef_token2] = ACTIONS(793), + [sym_preproc_directive] = ACTIONS(793), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(793), + [anon_sym___clrcall] = ACTIONS(793), + [anon_sym___stdcall] = ACTIONS(793), + [anon_sym___fastcall] = ACTIONS(793), + [anon_sym___thiscall] = ACTIONS(793), + [anon_sym___vectorcall] = ACTIONS(793), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_else] = ACTIONS(793), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(793), + [anon_sym_default] = ACTIONS(793), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [48] = { + [sym_declaration] = STATE(49), + [sym_type_definition] = STATE(49), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1149), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(49), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(49), + [sym_labeled_statement] = STATE(49), + [sym_expression_statement] = STATE(49), + [sym_if_statement] = STATE(49), + [sym_switch_statement] = STATE(49), + [sym_while_statement] = STATE(49), + [sym_do_statement] = STATE(49), + [sym_for_statement] = STATE(49), + [sym_return_statement] = STATE(49), + [sym_break_statement] = STATE(49), + [sym_continue_statement] = STATE(49), + [sym_goto_statement] = STATE(49), + [sym_seh_try_statement] = STATE(49), + [sym_seh_leave_statement] = STATE(49), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(49), + [sym_identifier] = ACTIONS(787), + [aux_sym_preproc_include_token1] = ACTIONS(795), + [aux_sym_preproc_def_token1] = ACTIONS(795), + [aux_sym_preproc_if_token1] = ACTIONS(795), + [aux_sym_preproc_if_token2] = ACTIONS(795), + [aux_sym_preproc_ifdef_token1] = ACTIONS(795), + [aux_sym_preproc_ifdef_token2] = ACTIONS(795), + [aux_sym_preproc_else_token1] = ACTIONS(795), + [aux_sym_preproc_elif_token1] = ACTIONS(795), + [aux_sym_preproc_elifdef_token1] = ACTIONS(795), + [aux_sym_preproc_elifdef_token2] = ACTIONS(795), + [sym_preproc_directive] = ACTIONS(795), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(127), + [anon_sym_typedef] = ACTIONS(129), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(795), + [anon_sym___clrcall] = ACTIONS(795), + [anon_sym___stdcall] = ACTIONS(795), + [anon_sym___fastcall] = ACTIONS(795), + [anon_sym___thiscall] = ACTIONS(795), + [anon_sym___vectorcall] = ACTIONS(795), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_else] = ACTIONS(795), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(795), + [anon_sym_default] = ACTIONS(795), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [49] = { + [sym_declaration] = STATE(49), + [sym_type_definition] = STATE(49), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1149), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(49), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(49), + [sym_labeled_statement] = STATE(49), + [sym_expression_statement] = STATE(49), + [sym_if_statement] = STATE(49), + [sym_switch_statement] = STATE(49), + [sym_while_statement] = STATE(49), + [sym_do_statement] = STATE(49), + [sym_for_statement] = STATE(49), + [sym_return_statement] = STATE(49), + [sym_break_statement] = STATE(49), + [sym_continue_statement] = STATE(49), + [sym_goto_statement] = STATE(49), + [sym_seh_try_statement] = STATE(49), + [sym_seh_leave_statement] = STATE(49), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(49), + [sym_identifier] = ACTIONS(797), + [aux_sym_preproc_include_token1] = ACTIONS(800), + [aux_sym_preproc_def_token1] = ACTIONS(800), + [aux_sym_preproc_if_token1] = ACTIONS(800), + [aux_sym_preproc_if_token2] = ACTIONS(800), + [aux_sym_preproc_ifdef_token1] = ACTIONS(800), + [aux_sym_preproc_ifdef_token2] = ACTIONS(800), + [aux_sym_preproc_else_token1] = ACTIONS(800), + [aux_sym_preproc_elif_token1] = ACTIONS(800), + [aux_sym_preproc_elifdef_token1] = ACTIONS(800), + [aux_sym_preproc_elifdef_token2] = ACTIONS(800), + [sym_preproc_directive] = ACTIONS(800), + [anon_sym_LPAREN2] = ACTIONS(802), + [anon_sym_BANG] = ACTIONS(805), + [anon_sym_TILDE] = ACTIONS(805), + [anon_sym_DASH] = ACTIONS(808), + [anon_sym_PLUS] = ACTIONS(808), + [anon_sym_STAR] = ACTIONS(811), + [anon_sym_AMP] = ACTIONS(811), + [anon_sym_SEMI] = ACTIONS(814), + [anon_sym___extension__] = ACTIONS(817), + [anon_sym_typedef] = ACTIONS(820), + [anon_sym_extern] = ACTIONS(823), + [anon_sym___attribute__] = ACTIONS(826), + [anon_sym___attribute] = ACTIONS(826), + [anon_sym_LBRACK_LBRACK] = ACTIONS(829), + [anon_sym___declspec] = ACTIONS(832), + [anon_sym___cdecl] = ACTIONS(800), + [anon_sym___clrcall] = ACTIONS(800), + [anon_sym___stdcall] = ACTIONS(800), + [anon_sym___fastcall] = ACTIONS(800), + [anon_sym___thiscall] = ACTIONS(800), + [anon_sym___vectorcall] = ACTIONS(800), + [anon_sym_LBRACE] = ACTIONS(835), + [anon_sym_signed] = ACTIONS(838), + [anon_sym_unsigned] = ACTIONS(838), + [anon_sym_long] = ACTIONS(838), + [anon_sym_short] = ACTIONS(838), + [anon_sym_static] = ACTIONS(823), + [anon_sym_auto] = ACTIONS(823), + [anon_sym_register] = ACTIONS(823), + [anon_sym_inline] = ACTIONS(823), + [anon_sym___inline] = ACTIONS(823), + [anon_sym___inline__] = ACTIONS(823), + [anon_sym___forceinline] = ACTIONS(823), + [anon_sym_thread_local] = ACTIONS(823), + [anon_sym___thread] = ACTIONS(823), + [anon_sym_const] = ACTIONS(841), + [anon_sym_constexpr] = ACTIONS(841), + [anon_sym_volatile] = ACTIONS(841), + [anon_sym_restrict] = ACTIONS(841), + [anon_sym___restrict__] = ACTIONS(841), + [anon_sym__Atomic] = ACTIONS(841), + [anon_sym__Noreturn] = ACTIONS(841), + [anon_sym_noreturn] = ACTIONS(841), + [anon_sym__Nonnull] = ACTIONS(841), + [anon_sym_alignas] = ACTIONS(844), + [anon_sym__Alignas] = ACTIONS(844), + [sym_primitive_type] = ACTIONS(847), + [anon_sym_enum] = ACTIONS(850), + [anon_sym_struct] = ACTIONS(853), + [anon_sym_union] = ACTIONS(856), + [anon_sym_if] = ACTIONS(859), + [anon_sym_else] = ACTIONS(800), + [anon_sym_switch] = ACTIONS(862), + [anon_sym_case] = ACTIONS(800), + [anon_sym_default] = ACTIONS(800), + [anon_sym_while] = ACTIONS(865), + [anon_sym_do] = ACTIONS(868), + [anon_sym_for] = ACTIONS(871), + [anon_sym_return] = ACTIONS(874), + [anon_sym_break] = ACTIONS(877), + [anon_sym_continue] = ACTIONS(880), + [anon_sym_goto] = ACTIONS(883), + [anon_sym___try] = ACTIONS(886), + [anon_sym___leave] = ACTIONS(889), + [anon_sym_DASH_DASH] = ACTIONS(892), + [anon_sym_PLUS_PLUS] = ACTIONS(892), + [anon_sym_sizeof] = ACTIONS(895), + [anon_sym___alignof__] = ACTIONS(898), + [anon_sym___alignof] = ACTIONS(898), + [anon_sym__alignof] = ACTIONS(898), + [anon_sym_alignof] = ACTIONS(898), + [anon_sym__Alignof] = ACTIONS(898), + [anon_sym_offsetof] = ACTIONS(901), + [anon_sym__Generic] = ACTIONS(904), + [anon_sym_asm] = ACTIONS(907), + [anon_sym___asm__] = ACTIONS(907), + [anon_sym___asm] = ACTIONS(907), + [sym_number_literal] = ACTIONS(910), + [anon_sym_L_SQUOTE] = ACTIONS(913), + [anon_sym_u_SQUOTE] = ACTIONS(913), + [anon_sym_U_SQUOTE] = ACTIONS(913), + [anon_sym_u8_SQUOTE] = ACTIONS(913), + [anon_sym_SQUOTE] = ACTIONS(913), + [anon_sym_L_DQUOTE] = ACTIONS(916), + [anon_sym_u_DQUOTE] = ACTIONS(916), + [anon_sym_U_DQUOTE] = ACTIONS(916), + [anon_sym_u8_DQUOTE] = ACTIONS(916), + [anon_sym_DQUOTE] = ACTIONS(916), + [sym_true] = ACTIONS(919), + [sym_false] = ACTIONS(919), + [anon_sym_NULL] = ACTIONS(922), + [anon_sym_nullptr] = ACTIONS(922), + [sym_comment] = ACTIONS(3), + }, + [50] = { + [sym_declaration] = STATE(64), + [sym_type_definition] = STATE(64), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1154), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(64), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [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(1074), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1913), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(375), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(64), + [ts_builtin_sym_end] = ACTIONS(925), + [sym_identifier] = ACTIONS(927), + [aux_sym_preproc_include_token1] = ACTIONS(795), + [aux_sym_preproc_def_token1] = ACTIONS(795), + [aux_sym_preproc_if_token1] = ACTIONS(795), + [aux_sym_preproc_ifdef_token1] = ACTIONS(795), + [aux_sym_preproc_ifdef_token2] = ACTIONS(795), + [sym_preproc_directive] = ACTIONS(795), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(929), + [anon_sym___extension__] = ACTIONS(29), + [anon_sym_typedef] = ACTIONS(31), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(795), + [anon_sym___clrcall] = ACTIONS(795), + [anon_sym___stdcall] = ACTIONS(795), + [anon_sym___fastcall] = ACTIONS(795), + [anon_sym___thiscall] = ACTIONS(795), + [anon_sym___vectorcall] = ACTIONS(795), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(61), + [anon_sym_else] = ACTIONS(795), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(795), + [anon_sym_default] = ACTIONS(795), + [anon_sym_while] = ACTIONS(69), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(931), + [anon_sym___leave] = ACTIONS(933), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [51] = { + [sym_declaration] = STATE(50), + [sym_type_definition] = STATE(50), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1154), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(50), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [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(1074), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1913), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(375), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(50), + [ts_builtin_sym_end] = ACTIONS(935), + [sym_identifier] = ACTIONS(927), + [aux_sym_preproc_include_token1] = ACTIONS(791), + [aux_sym_preproc_def_token1] = ACTIONS(791), + [aux_sym_preproc_if_token1] = ACTIONS(791), + [aux_sym_preproc_ifdef_token1] = ACTIONS(791), + [aux_sym_preproc_ifdef_token2] = ACTIONS(791), + [sym_preproc_directive] = ACTIONS(791), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(929), + [anon_sym___extension__] = ACTIONS(29), + [anon_sym_typedef] = ACTIONS(31), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(791), + [anon_sym___clrcall] = ACTIONS(791), + [anon_sym___stdcall] = ACTIONS(791), + [anon_sym___fastcall] = ACTIONS(791), + [anon_sym___thiscall] = ACTIONS(791), + [anon_sym___vectorcall] = ACTIONS(791), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(61), + [anon_sym_else] = ACTIONS(791), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(791), + [anon_sym_default] = ACTIONS(791), + [anon_sym_while] = ACTIONS(69), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(931), + [anon_sym___leave] = ACTIONS(933), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [52] = { + [sym_declaration] = STATE(55), + [sym_type_definition] = STATE(55), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1158), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(55), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(55), + [sym_labeled_statement] = STATE(55), + [sym_expression_statement] = STATE(55), + [sym_if_statement] = STATE(55), + [sym_switch_statement] = STATE(55), + [sym_while_statement] = STATE(55), + [sym_do_statement] = STATE(55), + [sym_for_statement] = STATE(55), + [sym_return_statement] = STATE(55), + [sym_break_statement] = STATE(55), + [sym_continue_statement] = STATE(55), + [sym_goto_statement] = STATE(55), + [sym_seh_try_statement] = STATE(55), + [sym_seh_leave_statement] = STATE(55), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(55), + [sym_identifier] = ACTIONS(937), + [aux_sym_preproc_include_token1] = ACTIONS(791), + [aux_sym_preproc_def_token1] = ACTIONS(791), + [aux_sym_preproc_if_token1] = ACTIONS(791), + [aux_sym_preproc_ifdef_token1] = ACTIONS(791), + [aux_sym_preproc_ifdef_token2] = ACTIONS(791), + [sym_preproc_directive] = ACTIONS(791), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(791), + [anon_sym___clrcall] = ACTIONS(791), + [anon_sym___stdcall] = ACTIONS(791), + [anon_sym___fastcall] = ACTIONS(791), + [anon_sym___thiscall] = ACTIONS(791), + [anon_sym___vectorcall] = ACTIONS(791), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(935), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_else] = ACTIONS(791), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(791), + [anon_sym_default] = ACTIONS(791), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [53] = { + [sym_declaration] = STATE(56), + [sym_type_definition] = STATE(56), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1158), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(56), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [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(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(56), + [sym_identifier] = ACTIONS(937), + [aux_sym_preproc_include_token1] = ACTIONS(793), + [aux_sym_preproc_def_token1] = ACTIONS(793), + [aux_sym_preproc_if_token1] = ACTIONS(793), + [aux_sym_preproc_ifdef_token1] = ACTIONS(793), + [aux_sym_preproc_ifdef_token2] = ACTIONS(793), + [sym_preproc_directive] = ACTIONS(793), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(793), + [anon_sym___clrcall] = ACTIONS(793), + [anon_sym___stdcall] = ACTIONS(793), + [anon_sym___fastcall] = ACTIONS(793), + [anon_sym___thiscall] = ACTIONS(793), + [anon_sym___vectorcall] = ACTIONS(793), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(939), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_else] = ACTIONS(793), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(793), + [anon_sym_default] = ACTIONS(793), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [54] = { + [sym_declaration] = STATE(53), + [sym_type_definition] = STATE(53), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1158), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(53), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [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(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(53), + [sym_identifier] = ACTIONS(937), + [aux_sym_preproc_include_token1] = ACTIONS(789), + [aux_sym_preproc_def_token1] = ACTIONS(789), + [aux_sym_preproc_if_token1] = ACTIONS(789), + [aux_sym_preproc_ifdef_token1] = ACTIONS(789), + [aux_sym_preproc_ifdef_token2] = ACTIONS(789), + [sym_preproc_directive] = ACTIONS(789), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(789), + [anon_sym___clrcall] = ACTIONS(789), + [anon_sym___stdcall] = ACTIONS(789), + [anon_sym___fastcall] = ACTIONS(789), + [anon_sym___thiscall] = ACTIONS(789), + [anon_sym___vectorcall] = ACTIONS(789), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(941), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_else] = ACTIONS(789), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(789), + [anon_sym_default] = ACTIONS(789), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [55] = { + [sym_declaration] = STATE(56), + [sym_type_definition] = STATE(56), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1158), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(56), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [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(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(56), + [sym_identifier] = ACTIONS(937), + [aux_sym_preproc_include_token1] = ACTIONS(795), + [aux_sym_preproc_def_token1] = ACTIONS(795), + [aux_sym_preproc_if_token1] = ACTIONS(795), + [aux_sym_preproc_ifdef_token1] = ACTIONS(795), + [aux_sym_preproc_ifdef_token2] = ACTIONS(795), + [sym_preproc_directive] = ACTIONS(795), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(372), + [anon_sym_typedef] = ACTIONS(374), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(795), + [anon_sym___clrcall] = ACTIONS(795), + [anon_sym___stdcall] = ACTIONS(795), + [anon_sym___fastcall] = ACTIONS(795), + [anon_sym___thiscall] = ACTIONS(795), + [anon_sym___vectorcall] = ACTIONS(795), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_RBRACE] = ACTIONS(925), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_else] = ACTIONS(795), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(795), + [anon_sym_default] = ACTIONS(795), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [56] = { + [sym_declaration] = STATE(56), + [sym_type_definition] = STATE(56), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1158), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(56), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [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(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(56), + [sym_identifier] = ACTIONS(943), + [aux_sym_preproc_include_token1] = ACTIONS(800), + [aux_sym_preproc_def_token1] = ACTIONS(800), + [aux_sym_preproc_if_token1] = ACTIONS(800), + [aux_sym_preproc_ifdef_token1] = ACTIONS(800), + [aux_sym_preproc_ifdef_token2] = ACTIONS(800), + [sym_preproc_directive] = ACTIONS(800), + [anon_sym_LPAREN2] = ACTIONS(802), + [anon_sym_BANG] = ACTIONS(805), + [anon_sym_TILDE] = ACTIONS(805), + [anon_sym_DASH] = ACTIONS(808), + [anon_sym_PLUS] = ACTIONS(808), + [anon_sym_STAR] = ACTIONS(811), + [anon_sym_AMP] = ACTIONS(811), + [anon_sym_SEMI] = ACTIONS(946), + [anon_sym___extension__] = ACTIONS(949), + [anon_sym_typedef] = ACTIONS(952), + [anon_sym_extern] = ACTIONS(823), + [anon_sym___attribute__] = ACTIONS(826), + [anon_sym___attribute] = ACTIONS(826), + [anon_sym_LBRACK_LBRACK] = ACTIONS(829), + [anon_sym___declspec] = ACTIONS(832), + [anon_sym___cdecl] = ACTIONS(800), + [anon_sym___clrcall] = ACTIONS(800), + [anon_sym___stdcall] = ACTIONS(800), + [anon_sym___fastcall] = ACTIONS(800), + [anon_sym___thiscall] = ACTIONS(800), + [anon_sym___vectorcall] = ACTIONS(800), + [anon_sym_LBRACE] = ACTIONS(955), + [anon_sym_RBRACE] = ACTIONS(958), + [anon_sym_signed] = ACTIONS(838), + [anon_sym_unsigned] = ACTIONS(838), + [anon_sym_long] = ACTIONS(838), + [anon_sym_short] = ACTIONS(838), + [anon_sym_static] = ACTIONS(823), + [anon_sym_auto] = ACTIONS(823), + [anon_sym_register] = ACTIONS(823), + [anon_sym_inline] = ACTIONS(823), + [anon_sym___inline] = ACTIONS(823), + [anon_sym___inline__] = ACTIONS(823), + [anon_sym___forceinline] = ACTIONS(823), + [anon_sym_thread_local] = ACTIONS(823), + [anon_sym___thread] = ACTIONS(823), + [anon_sym_const] = ACTIONS(841), + [anon_sym_constexpr] = ACTIONS(841), + [anon_sym_volatile] = ACTIONS(841), + [anon_sym_restrict] = ACTIONS(841), + [anon_sym___restrict__] = ACTIONS(841), + [anon_sym__Atomic] = ACTIONS(841), + [anon_sym__Noreturn] = ACTIONS(841), + [anon_sym_noreturn] = ACTIONS(841), + [anon_sym__Nonnull] = ACTIONS(841), + [anon_sym_alignas] = ACTIONS(844), + [anon_sym__Alignas] = ACTIONS(844), + [sym_primitive_type] = ACTIONS(847), + [anon_sym_enum] = ACTIONS(850), + [anon_sym_struct] = ACTIONS(853), + [anon_sym_union] = ACTIONS(856), + [anon_sym_if] = ACTIONS(960), + [anon_sym_else] = ACTIONS(800), + [anon_sym_switch] = ACTIONS(963), + [anon_sym_case] = ACTIONS(800), + [anon_sym_default] = ACTIONS(800), + [anon_sym_while] = ACTIONS(966), + [anon_sym_do] = ACTIONS(969), + [anon_sym_for] = ACTIONS(972), + [anon_sym_return] = ACTIONS(975), + [anon_sym_break] = ACTIONS(978), + [anon_sym_continue] = ACTIONS(981), + [anon_sym_goto] = ACTIONS(984), + [anon_sym___try] = ACTIONS(987), + [anon_sym___leave] = ACTIONS(990), + [anon_sym_DASH_DASH] = ACTIONS(892), + [anon_sym_PLUS_PLUS] = ACTIONS(892), + [anon_sym_sizeof] = ACTIONS(895), + [anon_sym___alignof__] = ACTIONS(898), + [anon_sym___alignof] = ACTIONS(898), + [anon_sym__alignof] = ACTIONS(898), + [anon_sym_alignof] = ACTIONS(898), + [anon_sym__Alignof] = ACTIONS(898), + [anon_sym_offsetof] = ACTIONS(901), + [anon_sym__Generic] = ACTIONS(904), + [anon_sym_asm] = ACTIONS(907), + [anon_sym___asm__] = ACTIONS(907), + [anon_sym___asm] = ACTIONS(907), + [sym_number_literal] = ACTIONS(910), + [anon_sym_L_SQUOTE] = ACTIONS(913), + [anon_sym_u_SQUOTE] = ACTIONS(913), + [anon_sym_U_SQUOTE] = ACTIONS(913), + [anon_sym_u8_SQUOTE] = ACTIONS(913), + [anon_sym_SQUOTE] = ACTIONS(913), + [anon_sym_L_DQUOTE] = ACTIONS(916), + [anon_sym_u_DQUOTE] = ACTIONS(916), + [anon_sym_U_DQUOTE] = ACTIONS(916), + [anon_sym_u8_DQUOTE] = ACTIONS(916), + [anon_sym_DQUOTE] = ACTIONS(916), + [sym_true] = ACTIONS(919), + [sym_false] = ACTIONS(919), + [anon_sym_NULL] = ACTIONS(922), + [anon_sym_nullptr] = ACTIONS(922), + [sym_comment] = ACTIONS(3), + }, + [57] = { + [sym_declaration] = STATE(60), + [sym_type_definition] = STATE(60), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1152), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(60), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(60), + [sym_labeled_statement] = STATE(60), + [sym_expression_statement] = STATE(60), + [sym_if_statement] = STATE(60), + [sym_switch_statement] = STATE(60), + [sym_while_statement] = STATE(60), + [sym_do_statement] = STATE(60), + [sym_for_statement] = STATE(60), + [sym_return_statement] = STATE(60), + [sym_break_statement] = STATE(60), + [sym_continue_statement] = STATE(60), + [sym_goto_statement] = STATE(60), + [sym_seh_try_statement] = STATE(60), + [sym_seh_leave_statement] = STATE(60), + [sym_expression] = STATE(1052), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1858), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(378), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(60), + [sym_identifier] = ACTIONS(993), + [aux_sym_preproc_include_token1] = ACTIONS(789), + [aux_sym_preproc_def_token1] = ACTIONS(789), + [aux_sym_preproc_if_token1] = ACTIONS(789), + [aux_sym_preproc_if_token2] = ACTIONS(789), + [aux_sym_preproc_ifdef_token1] = ACTIONS(789), + [aux_sym_preproc_ifdef_token2] = ACTIONS(789), + [sym_preproc_directive] = ACTIONS(789), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(498), + [anon_sym___extension__] = ACTIONS(500), + [anon_sym_typedef] = ACTIONS(502), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(789), + [anon_sym___clrcall] = ACTIONS(789), + [anon_sym___stdcall] = ACTIONS(789), + [anon_sym___fastcall] = ACTIONS(789), + [anon_sym___thiscall] = ACTIONS(789), + [anon_sym___vectorcall] = ACTIONS(789), + [anon_sym_LBRACE] = ACTIONS(506), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(508), + [anon_sym_else] = ACTIONS(789), + [anon_sym_switch] = ACTIONS(510), + [anon_sym_case] = ACTIONS(789), + [anon_sym_default] = ACTIONS(789), + [anon_sym_while] = ACTIONS(516), + [anon_sym_do] = ACTIONS(518), + [anon_sym_for] = ACTIONS(520), + [anon_sym_return] = ACTIONS(522), + [anon_sym_break] = ACTIONS(524), + [anon_sym_continue] = ACTIONS(526), + [anon_sym_goto] = ACTIONS(528), + [anon_sym___try] = ACTIONS(530), + [anon_sym___leave] = ACTIONS(532), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [58] = { + [sym_declaration] = STATE(59), + [sym_type_definition] = STATE(59), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1152), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(59), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [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(1052), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1858), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(378), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(59), + [sym_identifier] = ACTIONS(993), + [aux_sym_preproc_include_token1] = ACTIONS(791), + [aux_sym_preproc_def_token1] = ACTIONS(791), + [aux_sym_preproc_if_token1] = ACTIONS(791), + [aux_sym_preproc_if_token2] = ACTIONS(791), + [aux_sym_preproc_ifdef_token1] = ACTIONS(791), + [aux_sym_preproc_ifdef_token2] = ACTIONS(791), + [sym_preproc_directive] = ACTIONS(791), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(498), + [anon_sym___extension__] = ACTIONS(500), + [anon_sym_typedef] = ACTIONS(502), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(791), + [anon_sym___clrcall] = ACTIONS(791), + [anon_sym___stdcall] = ACTIONS(791), + [anon_sym___fastcall] = ACTIONS(791), + [anon_sym___thiscall] = ACTIONS(791), + [anon_sym___vectorcall] = ACTIONS(791), + [anon_sym_LBRACE] = ACTIONS(506), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(508), + [anon_sym_else] = ACTIONS(791), + [anon_sym_switch] = ACTIONS(510), + [anon_sym_case] = ACTIONS(791), + [anon_sym_default] = ACTIONS(791), + [anon_sym_while] = ACTIONS(516), + [anon_sym_do] = ACTIONS(518), + [anon_sym_for] = ACTIONS(520), + [anon_sym_return] = ACTIONS(522), + [anon_sym_break] = ACTIONS(524), + [anon_sym_continue] = ACTIONS(526), + [anon_sym_goto] = ACTIONS(528), + [anon_sym___try] = ACTIONS(530), + [anon_sym___leave] = ACTIONS(532), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [59] = { + [sym_declaration] = STATE(61), + [sym_type_definition] = STATE(61), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1152), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(61), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [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(1052), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1858), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(378), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(61), + [sym_identifier] = ACTIONS(993), + [aux_sym_preproc_include_token1] = ACTIONS(795), + [aux_sym_preproc_def_token1] = ACTIONS(795), + [aux_sym_preproc_if_token1] = ACTIONS(795), + [aux_sym_preproc_if_token2] = ACTIONS(795), + [aux_sym_preproc_ifdef_token1] = ACTIONS(795), + [aux_sym_preproc_ifdef_token2] = ACTIONS(795), + [sym_preproc_directive] = ACTIONS(795), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(498), + [anon_sym___extension__] = ACTIONS(500), + [anon_sym_typedef] = ACTIONS(502), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(795), + [anon_sym___clrcall] = ACTIONS(795), + [anon_sym___stdcall] = ACTIONS(795), + [anon_sym___fastcall] = ACTIONS(795), + [anon_sym___thiscall] = ACTIONS(795), + [anon_sym___vectorcall] = ACTIONS(795), + [anon_sym_LBRACE] = ACTIONS(506), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(508), + [anon_sym_else] = ACTIONS(795), + [anon_sym_switch] = ACTIONS(510), + [anon_sym_case] = ACTIONS(795), + [anon_sym_default] = ACTIONS(795), + [anon_sym_while] = ACTIONS(516), + [anon_sym_do] = ACTIONS(518), + [anon_sym_for] = ACTIONS(520), + [anon_sym_return] = ACTIONS(522), + [anon_sym_break] = ACTIONS(524), + [anon_sym_continue] = ACTIONS(526), + [anon_sym_goto] = ACTIONS(528), + [anon_sym___try] = ACTIONS(530), + [anon_sym___leave] = ACTIONS(532), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [60] = { + [sym_declaration] = STATE(61), + [sym_type_definition] = STATE(61), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1152), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(61), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [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(1052), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1858), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(378), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(61), + [sym_identifier] = ACTIONS(993), + [aux_sym_preproc_include_token1] = ACTIONS(793), + [aux_sym_preproc_def_token1] = ACTIONS(793), + [aux_sym_preproc_if_token1] = ACTIONS(793), + [aux_sym_preproc_if_token2] = ACTIONS(793), + [aux_sym_preproc_ifdef_token1] = ACTIONS(793), + [aux_sym_preproc_ifdef_token2] = ACTIONS(793), + [sym_preproc_directive] = ACTIONS(793), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(498), + [anon_sym___extension__] = ACTIONS(500), + [anon_sym_typedef] = ACTIONS(502), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(793), + [anon_sym___clrcall] = ACTIONS(793), + [anon_sym___stdcall] = ACTIONS(793), + [anon_sym___fastcall] = ACTIONS(793), + [anon_sym___thiscall] = ACTIONS(793), + [anon_sym___vectorcall] = ACTIONS(793), + [anon_sym_LBRACE] = ACTIONS(506), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(508), + [anon_sym_else] = ACTIONS(793), + [anon_sym_switch] = ACTIONS(510), + [anon_sym_case] = ACTIONS(793), + [anon_sym_default] = ACTIONS(793), + [anon_sym_while] = ACTIONS(516), + [anon_sym_do] = ACTIONS(518), + [anon_sym_for] = ACTIONS(520), + [anon_sym_return] = ACTIONS(522), + [anon_sym_break] = ACTIONS(524), + [anon_sym_continue] = ACTIONS(526), + [anon_sym_goto] = ACTIONS(528), + [anon_sym___try] = ACTIONS(530), + [anon_sym___leave] = ACTIONS(532), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [61] = { + [sym_declaration] = STATE(61), + [sym_type_definition] = STATE(61), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1152), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(61), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [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(1052), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1858), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(378), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(61), + [sym_identifier] = ACTIONS(995), + [aux_sym_preproc_include_token1] = ACTIONS(800), + [aux_sym_preproc_def_token1] = ACTIONS(800), + [aux_sym_preproc_if_token1] = ACTIONS(800), + [aux_sym_preproc_if_token2] = ACTIONS(800), + [aux_sym_preproc_ifdef_token1] = ACTIONS(800), + [aux_sym_preproc_ifdef_token2] = ACTIONS(800), + [sym_preproc_directive] = ACTIONS(800), + [anon_sym_LPAREN2] = ACTIONS(802), + [anon_sym_BANG] = ACTIONS(805), + [anon_sym_TILDE] = ACTIONS(805), + [anon_sym_DASH] = ACTIONS(808), + [anon_sym_PLUS] = ACTIONS(808), + [anon_sym_STAR] = ACTIONS(811), + [anon_sym_AMP] = ACTIONS(811), + [anon_sym_SEMI] = ACTIONS(998), + [anon_sym___extension__] = ACTIONS(1001), + [anon_sym_typedef] = ACTIONS(1004), + [anon_sym_extern] = ACTIONS(823), + [anon_sym___attribute__] = ACTIONS(826), + [anon_sym___attribute] = ACTIONS(826), + [anon_sym_LBRACK_LBRACK] = ACTIONS(829), + [anon_sym___declspec] = ACTIONS(832), + [anon_sym___cdecl] = ACTIONS(800), + [anon_sym___clrcall] = ACTIONS(800), + [anon_sym___stdcall] = ACTIONS(800), + [anon_sym___fastcall] = ACTIONS(800), + [anon_sym___thiscall] = ACTIONS(800), + [anon_sym___vectorcall] = ACTIONS(800), + [anon_sym_LBRACE] = ACTIONS(1007), + [anon_sym_signed] = ACTIONS(838), + [anon_sym_unsigned] = ACTIONS(838), + [anon_sym_long] = ACTIONS(838), + [anon_sym_short] = ACTIONS(838), + [anon_sym_static] = ACTIONS(823), + [anon_sym_auto] = ACTIONS(823), + [anon_sym_register] = ACTIONS(823), + [anon_sym_inline] = ACTIONS(823), + [anon_sym___inline] = ACTIONS(823), + [anon_sym___inline__] = ACTIONS(823), + [anon_sym___forceinline] = ACTIONS(823), + [anon_sym_thread_local] = ACTIONS(823), + [anon_sym___thread] = ACTIONS(823), + [anon_sym_const] = ACTIONS(841), + [anon_sym_constexpr] = ACTIONS(841), + [anon_sym_volatile] = ACTIONS(841), + [anon_sym_restrict] = ACTIONS(841), + [anon_sym___restrict__] = ACTIONS(841), + [anon_sym__Atomic] = ACTIONS(841), + [anon_sym__Noreturn] = ACTIONS(841), + [anon_sym_noreturn] = ACTIONS(841), + [anon_sym__Nonnull] = ACTIONS(841), + [anon_sym_alignas] = ACTIONS(844), + [anon_sym__Alignas] = ACTIONS(844), + [sym_primitive_type] = ACTIONS(847), + [anon_sym_enum] = ACTIONS(850), + [anon_sym_struct] = ACTIONS(853), + [anon_sym_union] = ACTIONS(856), + [anon_sym_if] = ACTIONS(1010), + [anon_sym_else] = ACTIONS(800), + [anon_sym_switch] = ACTIONS(1013), + [anon_sym_case] = ACTIONS(800), + [anon_sym_default] = ACTIONS(800), + [anon_sym_while] = ACTIONS(1016), + [anon_sym_do] = ACTIONS(1019), + [anon_sym_for] = ACTIONS(1022), + [anon_sym_return] = ACTIONS(1025), + [anon_sym_break] = ACTIONS(1028), + [anon_sym_continue] = ACTIONS(1031), + [anon_sym_goto] = ACTIONS(1034), + [anon_sym___try] = ACTIONS(1037), + [anon_sym___leave] = ACTIONS(1040), + [anon_sym_DASH_DASH] = ACTIONS(892), + [anon_sym_PLUS_PLUS] = ACTIONS(892), + [anon_sym_sizeof] = ACTIONS(895), + [anon_sym___alignof__] = ACTIONS(898), + [anon_sym___alignof] = ACTIONS(898), + [anon_sym__alignof] = ACTIONS(898), + [anon_sym_alignof] = ACTIONS(898), + [anon_sym__Alignof] = ACTIONS(898), + [anon_sym_offsetof] = ACTIONS(901), + [anon_sym__Generic] = ACTIONS(904), + [anon_sym_asm] = ACTIONS(907), + [anon_sym___asm__] = ACTIONS(907), + [anon_sym___asm] = ACTIONS(907), + [sym_number_literal] = ACTIONS(910), + [anon_sym_L_SQUOTE] = ACTIONS(913), + [anon_sym_u_SQUOTE] = ACTIONS(913), + [anon_sym_U_SQUOTE] = ACTIONS(913), + [anon_sym_u8_SQUOTE] = ACTIONS(913), + [anon_sym_SQUOTE] = ACTIONS(913), + [anon_sym_L_DQUOTE] = ACTIONS(916), + [anon_sym_u_DQUOTE] = ACTIONS(916), + [anon_sym_U_DQUOTE] = ACTIONS(916), + [anon_sym_u8_DQUOTE] = ACTIONS(916), + [anon_sym_DQUOTE] = ACTIONS(916), + [sym_true] = ACTIONS(919), + [sym_false] = ACTIONS(919), + [anon_sym_NULL] = ACTIONS(922), + [anon_sym_nullptr] = ACTIONS(922), + [sym_comment] = ACTIONS(3), + }, + [62] = { + [sym_declaration] = STATE(63), + [sym_type_definition] = STATE(63), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1154), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(63), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [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(1074), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1913), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(375), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(63), + [ts_builtin_sym_end] = ACTIONS(941), + [sym_identifier] = ACTIONS(927), + [aux_sym_preproc_include_token1] = ACTIONS(789), + [aux_sym_preproc_def_token1] = ACTIONS(789), + [aux_sym_preproc_if_token1] = ACTIONS(789), + [aux_sym_preproc_ifdef_token1] = ACTIONS(789), + [aux_sym_preproc_ifdef_token2] = ACTIONS(789), + [sym_preproc_directive] = ACTIONS(789), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(929), + [anon_sym___extension__] = ACTIONS(29), + [anon_sym_typedef] = ACTIONS(31), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(789), + [anon_sym___clrcall] = ACTIONS(789), + [anon_sym___stdcall] = ACTIONS(789), + [anon_sym___fastcall] = ACTIONS(789), + [anon_sym___thiscall] = ACTIONS(789), + [anon_sym___vectorcall] = ACTIONS(789), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(61), + [anon_sym_else] = ACTIONS(789), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(789), + [anon_sym_default] = ACTIONS(789), + [anon_sym_while] = ACTIONS(69), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(931), + [anon_sym___leave] = ACTIONS(933), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [63] = { + [sym_declaration] = STATE(64), + [sym_type_definition] = STATE(64), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1154), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(64), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [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(1074), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1913), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(375), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(64), + [ts_builtin_sym_end] = ACTIONS(939), + [sym_identifier] = ACTIONS(927), + [aux_sym_preproc_include_token1] = ACTIONS(793), + [aux_sym_preproc_def_token1] = ACTIONS(793), + [aux_sym_preproc_if_token1] = ACTIONS(793), + [aux_sym_preproc_ifdef_token1] = ACTIONS(793), + [aux_sym_preproc_ifdef_token2] = ACTIONS(793), + [sym_preproc_directive] = ACTIONS(793), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(929), + [anon_sym___extension__] = ACTIONS(29), + [anon_sym_typedef] = ACTIONS(31), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(793), + [anon_sym___clrcall] = ACTIONS(793), + [anon_sym___stdcall] = ACTIONS(793), + [anon_sym___fastcall] = ACTIONS(793), + [anon_sym___thiscall] = ACTIONS(793), + [anon_sym___vectorcall] = ACTIONS(793), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(61), + [anon_sym_else] = ACTIONS(793), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(793), + [anon_sym_default] = ACTIONS(793), + [anon_sym_while] = ACTIONS(69), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(931), + [anon_sym___leave] = ACTIONS(933), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [64] = { + [sym_declaration] = STATE(64), + [sym_type_definition] = STATE(64), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1154), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(64), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [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(1074), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1913), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(375), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(64), + [ts_builtin_sym_end] = ACTIONS(958), + [sym_identifier] = ACTIONS(1043), + [aux_sym_preproc_include_token1] = ACTIONS(800), + [aux_sym_preproc_def_token1] = ACTIONS(800), + [aux_sym_preproc_if_token1] = ACTIONS(800), + [aux_sym_preproc_ifdef_token1] = ACTIONS(800), + [aux_sym_preproc_ifdef_token2] = ACTIONS(800), + [sym_preproc_directive] = ACTIONS(800), + [anon_sym_LPAREN2] = ACTIONS(802), + [anon_sym_BANG] = ACTIONS(805), + [anon_sym_TILDE] = ACTIONS(805), + [anon_sym_DASH] = ACTIONS(808), + [anon_sym_PLUS] = ACTIONS(808), + [anon_sym_STAR] = ACTIONS(811), + [anon_sym_AMP] = ACTIONS(811), + [anon_sym_SEMI] = ACTIONS(1046), + [anon_sym___extension__] = ACTIONS(1049), + [anon_sym_typedef] = ACTIONS(1052), + [anon_sym_extern] = ACTIONS(823), + [anon_sym___attribute__] = ACTIONS(826), + [anon_sym___attribute] = ACTIONS(826), + [anon_sym_LBRACK_LBRACK] = ACTIONS(829), + [anon_sym___declspec] = ACTIONS(832), + [anon_sym___cdecl] = ACTIONS(800), + [anon_sym___clrcall] = ACTIONS(800), + [anon_sym___stdcall] = ACTIONS(800), + [anon_sym___fastcall] = ACTIONS(800), + [anon_sym___thiscall] = ACTIONS(800), + [anon_sym___vectorcall] = ACTIONS(800), + [anon_sym_LBRACE] = ACTIONS(1055), + [anon_sym_signed] = ACTIONS(838), + [anon_sym_unsigned] = ACTIONS(838), + [anon_sym_long] = ACTIONS(838), + [anon_sym_short] = ACTIONS(838), + [anon_sym_static] = ACTIONS(823), + [anon_sym_auto] = ACTIONS(823), + [anon_sym_register] = ACTIONS(823), + [anon_sym_inline] = ACTIONS(823), + [anon_sym___inline] = ACTIONS(823), + [anon_sym___inline__] = ACTIONS(823), + [anon_sym___forceinline] = ACTIONS(823), + [anon_sym_thread_local] = ACTIONS(823), + [anon_sym___thread] = ACTIONS(823), + [anon_sym_const] = ACTIONS(841), + [anon_sym_constexpr] = ACTIONS(841), + [anon_sym_volatile] = ACTIONS(841), + [anon_sym_restrict] = ACTIONS(841), + [anon_sym___restrict__] = ACTIONS(841), + [anon_sym__Atomic] = ACTIONS(841), + [anon_sym__Noreturn] = ACTIONS(841), + [anon_sym_noreturn] = ACTIONS(841), + [anon_sym__Nonnull] = ACTIONS(841), + [anon_sym_alignas] = ACTIONS(844), + [anon_sym__Alignas] = ACTIONS(844), + [sym_primitive_type] = ACTIONS(847), + [anon_sym_enum] = ACTIONS(850), + [anon_sym_struct] = ACTIONS(853), + [anon_sym_union] = ACTIONS(856), + [anon_sym_if] = ACTIONS(1058), + [anon_sym_else] = ACTIONS(800), + [anon_sym_switch] = ACTIONS(1061), + [anon_sym_case] = ACTIONS(800), + [anon_sym_default] = ACTIONS(800), + [anon_sym_while] = ACTIONS(1064), + [anon_sym_do] = ACTIONS(1067), + [anon_sym_for] = ACTIONS(1070), + [anon_sym_return] = ACTIONS(1073), + [anon_sym_break] = ACTIONS(1076), + [anon_sym_continue] = ACTIONS(1079), + [anon_sym_goto] = ACTIONS(1082), + [anon_sym___try] = ACTIONS(1085), + [anon_sym___leave] = ACTIONS(1088), + [anon_sym_DASH_DASH] = ACTIONS(892), + [anon_sym_PLUS_PLUS] = ACTIONS(892), + [anon_sym_sizeof] = ACTIONS(895), + [anon_sym___alignof__] = ACTIONS(898), + [anon_sym___alignof] = ACTIONS(898), + [anon_sym__alignof] = ACTIONS(898), + [anon_sym_alignof] = ACTIONS(898), + [anon_sym__Alignof] = ACTIONS(898), + [anon_sym_offsetof] = ACTIONS(901), + [anon_sym__Generic] = ACTIONS(904), + [anon_sym_asm] = ACTIONS(907), + [anon_sym___asm__] = ACTIONS(907), + [anon_sym___asm] = ACTIONS(907), + [sym_number_literal] = ACTIONS(910), + [anon_sym_L_SQUOTE] = ACTIONS(913), + [anon_sym_u_SQUOTE] = ACTIONS(913), + [anon_sym_U_SQUOTE] = ACTIONS(913), + [anon_sym_u8_SQUOTE] = ACTIONS(913), + [anon_sym_SQUOTE] = ACTIONS(913), + [anon_sym_L_DQUOTE] = ACTIONS(916), + [anon_sym_u_DQUOTE] = ACTIONS(916), + [anon_sym_U_DQUOTE] = ACTIONS(916), + [anon_sym_u8_DQUOTE] = ACTIONS(916), + [anon_sym_DQUOTE] = ACTIONS(916), + [sym_true] = ACTIONS(919), + [sym_false] = ACTIONS(919), + [anon_sym_NULL] = ACTIONS(922), + [anon_sym_nullptr] = ACTIONS(922), + [sym_comment] = ACTIONS(3), + }, + [65] = { + [sym_declaration] = STATE(192), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1158), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(192), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(937), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(1091), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [66] = { + [sym_declaration] = STATE(85), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1149), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(110), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(110), + [sym_statement] = STATE(85), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(787), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(1091), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [67] = { + [sym_declaration] = STATE(70), + [sym_type_definition] = STATE(70), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1154), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(70), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(70), + [sym_labeled_statement] = STATE(70), + [sym_expression_statement] = STATE(70), + [sym_if_statement] = STATE(70), + [sym_switch_statement] = STATE(70), + [sym_while_statement] = STATE(70), + [sym_do_statement] = STATE(70), + [sym_for_statement] = STATE(70), + [sym_return_statement] = STATE(70), + [sym_break_statement] = STATE(70), + [sym_continue_statement] = STATE(70), + [sym_goto_statement] = STATE(70), + [sym_seh_try_statement] = STATE(70), + [sym_seh_leave_statement] = STATE(70), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(361), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(70), + [sym_identifier] = ACTIONS(1093), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(29), + [anon_sym_typedef] = ACTIONS(31), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(1095), + [anon_sym_else] = ACTIONS(791), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_while] = ACTIONS(1097), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(1099), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(1101), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [68] = { + [sym_declaration] = STATE(227), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1154), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(250), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(227), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(361), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1093), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(1091), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(1095), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(1103), + [anon_sym_default] = ACTIONS(1105), + [anon_sym_while] = ACTIONS(1097), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(1099), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(1101), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [69] = { + [sym_declaration] = STATE(71), + [sym_type_definition] = STATE(71), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1154), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(71), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(71), + [sym_labeled_statement] = STATE(71), + [sym_expression_statement] = STATE(71), + [sym_if_statement] = STATE(71), + [sym_switch_statement] = STATE(71), + [sym_while_statement] = STATE(71), + [sym_do_statement] = STATE(71), + [sym_for_statement] = STATE(71), + [sym_return_statement] = STATE(71), + [sym_break_statement] = STATE(71), + [sym_continue_statement] = STATE(71), + [sym_goto_statement] = STATE(71), + [sym_seh_try_statement] = STATE(71), + [sym_seh_leave_statement] = STATE(71), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(361), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(71), + [sym_identifier] = ACTIONS(1093), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(29), + [anon_sym_typedef] = ACTIONS(31), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(1095), + [anon_sym_else] = ACTIONS(789), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_while] = ACTIONS(1097), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(1099), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(1101), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [70] = { + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1154), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym_seh_try_statement] = STATE(72), + [sym_seh_leave_statement] = STATE(72), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(361), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(72), + [sym_identifier] = ACTIONS(1093), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(29), + [anon_sym_typedef] = ACTIONS(31), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(1095), + [anon_sym_else] = ACTIONS(795), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_while] = ACTIONS(1097), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(1099), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(1101), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [71] = { + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1154), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym_seh_try_statement] = STATE(72), + [sym_seh_leave_statement] = STATE(72), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(361), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(72), + [sym_identifier] = ACTIONS(1093), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(29), + [anon_sym_typedef] = ACTIONS(31), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(1095), + [anon_sym_else] = ACTIONS(793), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_while] = ACTIONS(1097), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(1099), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(1101), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [72] = { + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1154), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym_seh_try_statement] = STATE(72), + [sym_seh_leave_statement] = STATE(72), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(361), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [aux_sym_case_statement_repeat1] = STATE(72), + [sym_identifier] = ACTIONS(1107), + [anon_sym_LPAREN2] = ACTIONS(802), + [anon_sym_BANG] = ACTIONS(805), + [anon_sym_TILDE] = ACTIONS(805), + [anon_sym_DASH] = ACTIONS(808), + [anon_sym_PLUS] = ACTIONS(808), + [anon_sym_STAR] = ACTIONS(811), + [anon_sym_AMP] = ACTIONS(811), + [anon_sym_SEMI] = ACTIONS(946), + [anon_sym___extension__] = ACTIONS(1049), + [anon_sym_typedef] = ACTIONS(1052), + [anon_sym_extern] = ACTIONS(823), + [anon_sym___attribute__] = ACTIONS(826), + [anon_sym___attribute] = ACTIONS(826), + [anon_sym_LBRACK_LBRACK] = ACTIONS(829), + [anon_sym___declspec] = ACTIONS(832), + [anon_sym_LBRACE] = ACTIONS(1055), + [anon_sym_signed] = ACTIONS(838), + [anon_sym_unsigned] = ACTIONS(838), + [anon_sym_long] = ACTIONS(838), + [anon_sym_short] = ACTIONS(838), + [anon_sym_static] = ACTIONS(823), + [anon_sym_auto] = ACTIONS(823), + [anon_sym_register] = ACTIONS(823), + [anon_sym_inline] = ACTIONS(823), + [anon_sym___inline] = ACTIONS(823), + [anon_sym___inline__] = ACTIONS(823), + [anon_sym___forceinline] = ACTIONS(823), + [anon_sym_thread_local] = ACTIONS(823), + [anon_sym___thread] = ACTIONS(823), + [anon_sym_const] = ACTIONS(841), + [anon_sym_constexpr] = ACTIONS(841), + [anon_sym_volatile] = ACTIONS(841), + [anon_sym_restrict] = ACTIONS(841), + [anon_sym___restrict__] = ACTIONS(841), + [anon_sym__Atomic] = ACTIONS(841), + [anon_sym__Noreturn] = ACTIONS(841), + [anon_sym_noreturn] = ACTIONS(841), + [anon_sym__Nonnull] = ACTIONS(841), + [anon_sym_alignas] = ACTIONS(844), + [anon_sym__Alignas] = ACTIONS(844), + [sym_primitive_type] = ACTIONS(847), + [anon_sym_enum] = ACTIONS(850), + [anon_sym_struct] = ACTIONS(853), + [anon_sym_union] = ACTIONS(856), + [anon_sym_if] = ACTIONS(1110), + [anon_sym_else] = ACTIONS(800), + [anon_sym_switch] = ACTIONS(1061), + [anon_sym_while] = ACTIONS(1113), + [anon_sym_do] = ACTIONS(1067), + [anon_sym_for] = ACTIONS(1116), + [anon_sym_return] = ACTIONS(1073), + [anon_sym_break] = ACTIONS(1076), + [anon_sym_continue] = ACTIONS(1079), + [anon_sym_goto] = ACTIONS(1082), + [anon_sym___try] = ACTIONS(1119), + [anon_sym___leave] = ACTIONS(990), + [anon_sym_DASH_DASH] = ACTIONS(892), + [anon_sym_PLUS_PLUS] = ACTIONS(892), + [anon_sym_sizeof] = ACTIONS(895), + [anon_sym___alignof__] = ACTIONS(898), + [anon_sym___alignof] = ACTIONS(898), + [anon_sym__alignof] = ACTIONS(898), + [anon_sym_alignof] = ACTIONS(898), + [anon_sym__Alignof] = ACTIONS(898), + [anon_sym_offsetof] = ACTIONS(901), + [anon_sym__Generic] = ACTIONS(904), + [anon_sym_asm] = ACTIONS(907), + [anon_sym___asm__] = ACTIONS(907), + [anon_sym___asm] = ACTIONS(907), + [sym_number_literal] = ACTIONS(910), + [anon_sym_L_SQUOTE] = ACTIONS(913), + [anon_sym_u_SQUOTE] = ACTIONS(913), + [anon_sym_U_SQUOTE] = ACTIONS(913), + [anon_sym_u8_SQUOTE] = ACTIONS(913), + [anon_sym_SQUOTE] = ACTIONS(913), + [anon_sym_L_DQUOTE] = ACTIONS(916), + [anon_sym_u_DQUOTE] = ACTIONS(916), + [anon_sym_U_DQUOTE] = ACTIONS(916), + [anon_sym_u8_DQUOTE] = ACTIONS(916), + [anon_sym_DQUOTE] = ACTIONS(916), + [sym_true] = ACTIONS(919), + [sym_false] = ACTIONS(919), + [anon_sym_NULL] = ACTIONS(922), + [anon_sym_nullptr] = ACTIONS(922), + [sym_comment] = ACTIONS(3), + }, + [73] = { + [sym_declaration] = STATE(227), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1154), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(159), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(159), + [sym_statement] = STATE(227), + [sym_labeled_statement] = STATE(159), + [sym_expression_statement] = STATE(159), + [sym_if_statement] = STATE(159), + [sym_switch_statement] = STATE(159), + [sym_case_statement] = STATE(159), + [sym_while_statement] = STATE(159), + [sym_do_statement] = STATE(159), + [sym_for_statement] = STATE(159), + [sym_return_statement] = STATE(159), + [sym_break_statement] = STATE(159), + [sym_continue_statement] = STATE(159), + [sym_goto_statement] = STATE(159), + [sym_seh_try_statement] = STATE(159), + [sym_seh_leave_statement] = STATE(159), + [sym_expression] = STATE(1074), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1913), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(375), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(927), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(929), + [anon_sym___extension__] = ACTIONS(1091), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(61), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(65), + [anon_sym_default] = ACTIONS(67), + [anon_sym_while] = ACTIONS(69), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(931), + [anon_sym___leave] = ACTIONS(933), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [74] = { + [sym_declaration] = STATE(196), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1152), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(407), + [sym_ms_declspec_modifier] = STATE(710), + [sym_compound_statement] = STATE(180), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_attributed_statement] = STATE(180), + [sym_statement] = STATE(196), + [sym_labeled_statement] = STATE(180), + [sym_expression_statement] = STATE(180), + [sym_if_statement] = STATE(180), + [sym_switch_statement] = STATE(180), + [sym_case_statement] = STATE(180), + [sym_while_statement] = STATE(180), + [sym_do_statement] = STATE(180), + [sym_for_statement] = STATE(180), + [sym_return_statement] = STATE(180), + [sym_break_statement] = STATE(180), + [sym_continue_statement] = STATE(180), + [sym_goto_statement] = STATE(180), + [sym_seh_try_statement] = STATE(180), + [sym_seh_leave_statement] = STATE(180), + [sym_expression] = STATE(1052), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1858), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_attributed_declarator_repeat1] = STATE(378), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(993), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(498), + [anon_sym___extension__] = ACTIONS(1091), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(37), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(506), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_if] = ACTIONS(508), + [anon_sym_switch] = ACTIONS(510), + [anon_sym_case] = ACTIONS(512), + [anon_sym_default] = ACTIONS(514), + [anon_sym_while] = ACTIONS(516), + [anon_sym_do] = ACTIONS(518), + [anon_sym_for] = ACTIONS(520), + [anon_sym_return] = ACTIONS(522), + [anon_sym_break] = ACTIONS(524), + [anon_sym_continue] = ACTIONS(526), + [anon_sym_goto] = ACTIONS(528), + [anon_sym___try] = ACTIONS(530), + [anon_sym___leave] = ACTIONS(532), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [75] = { + [sym_declaration] = STATE(491), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1160), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__for_statement_body] = STATE(1874), + [sym_expression] = STATE(1058), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1837), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1122), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1124), + [anon_sym___extension__] = ACTIONS(1091), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [76] = { + [sym_declaration] = STATE(491), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1160), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__for_statement_body] = STATE(1995), + [sym_expression] = STATE(1058), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1837), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1122), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1124), + [anon_sym___extension__] = ACTIONS(1091), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [77] = { + [sym_declaration] = STATE(491), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1160), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__for_statement_body] = STATE(1815), + [sym_expression] = STATE(1058), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1837), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1122), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1124), + [anon_sym___extension__] = ACTIONS(1091), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [78] = { + [sym_declaration] = STATE(491), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1160), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__for_statement_body] = STATE(1937), + [sym_expression] = STATE(1058), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1837), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1122), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1124), + [anon_sym___extension__] = ACTIONS(1091), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [79] = { + [sym_declaration] = STATE(491), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1160), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__for_statement_body] = STATE(1838), + [sym_expression] = STATE(1058), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1837), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1122), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1124), + [anon_sym___extension__] = ACTIONS(1091), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [80] = { + [sym_else_clause] = STATE(90), + [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___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__Nonnull] = 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(1132), + [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), + [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), + }, + [81] = { + [sym_identifier] = ACTIONS(1134), + [aux_sym_preproc_include_token1] = ACTIONS(1134), + [aux_sym_preproc_def_token1] = ACTIONS(1134), + [aux_sym_preproc_if_token1] = ACTIONS(1134), + [aux_sym_preproc_if_token2] = ACTIONS(1134), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1134), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1134), + [aux_sym_preproc_else_token1] = ACTIONS(1134), + [aux_sym_preproc_elif_token1] = ACTIONS(1134), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1134), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1134), + [sym_preproc_directive] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(1136), + [anon_sym_BANG] = ACTIONS(1136), + [anon_sym_TILDE] = ACTIONS(1136), + [anon_sym_DASH] = ACTIONS(1134), + [anon_sym_PLUS] = ACTIONS(1134), + [anon_sym_STAR] = ACTIONS(1136), + [anon_sym_AMP] = ACTIONS(1136), + [anon_sym_SEMI] = ACTIONS(1136), + [anon_sym___extension__] = ACTIONS(1134), + [anon_sym_typedef] = ACTIONS(1134), + [anon_sym_extern] = ACTIONS(1134), + [anon_sym___attribute__] = ACTIONS(1134), + [anon_sym___attribute] = ACTIONS(1134), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1136), + [anon_sym___declspec] = ACTIONS(1134), + [anon_sym___cdecl] = ACTIONS(1134), + [anon_sym___clrcall] = ACTIONS(1134), + [anon_sym___stdcall] = ACTIONS(1134), + [anon_sym___fastcall] = ACTIONS(1134), + [anon_sym___thiscall] = ACTIONS(1134), + [anon_sym___vectorcall] = ACTIONS(1134), + [anon_sym_LBRACE] = ACTIONS(1136), + [anon_sym_signed] = ACTIONS(1134), + [anon_sym_unsigned] = ACTIONS(1134), + [anon_sym_long] = ACTIONS(1134), + [anon_sym_short] = ACTIONS(1134), + [anon_sym_static] = ACTIONS(1134), + [anon_sym_auto] = ACTIONS(1134), + [anon_sym_register] = ACTIONS(1134), + [anon_sym_inline] = ACTIONS(1134), + [anon_sym___inline] = ACTIONS(1134), + [anon_sym___inline__] = ACTIONS(1134), + [anon_sym___forceinline] = ACTIONS(1134), + [anon_sym_thread_local] = ACTIONS(1134), + [anon_sym___thread] = ACTIONS(1134), + [anon_sym_const] = ACTIONS(1134), + [anon_sym_constexpr] = ACTIONS(1134), + [anon_sym_volatile] = ACTIONS(1134), + [anon_sym_restrict] = ACTIONS(1134), + [anon_sym___restrict__] = ACTIONS(1134), + [anon_sym__Atomic] = ACTIONS(1134), + [anon_sym__Noreturn] = ACTIONS(1134), + [anon_sym_noreturn] = ACTIONS(1134), + [anon_sym__Nonnull] = ACTIONS(1134), + [anon_sym_alignas] = ACTIONS(1134), + [anon_sym__Alignas] = ACTIONS(1134), + [sym_primitive_type] = ACTIONS(1134), + [anon_sym_enum] = ACTIONS(1134), + [anon_sym_struct] = ACTIONS(1134), + [anon_sym_union] = ACTIONS(1134), + [anon_sym_if] = ACTIONS(1134), + [anon_sym_else] = ACTIONS(1134), + [anon_sym_switch] = ACTIONS(1134), + [anon_sym_case] = ACTIONS(1134), + [anon_sym_default] = ACTIONS(1134), + [anon_sym_while] = ACTIONS(1134), + [anon_sym_do] = ACTIONS(1134), + [anon_sym_for] = ACTIONS(1134), + [anon_sym_return] = ACTIONS(1134), + [anon_sym_break] = ACTIONS(1134), + [anon_sym_continue] = ACTIONS(1134), + [anon_sym_goto] = ACTIONS(1134), + [anon_sym___try] = ACTIONS(1134), + [anon_sym___leave] = ACTIONS(1134), + [anon_sym_DASH_DASH] = ACTIONS(1136), + [anon_sym_PLUS_PLUS] = ACTIONS(1136), + [anon_sym_sizeof] = ACTIONS(1134), + [anon_sym___alignof__] = ACTIONS(1134), + [anon_sym___alignof] = ACTIONS(1134), + [anon_sym__alignof] = ACTIONS(1134), + [anon_sym_alignof] = ACTIONS(1134), + [anon_sym__Alignof] = ACTIONS(1134), + [anon_sym_offsetof] = ACTIONS(1134), + [anon_sym__Generic] = ACTIONS(1134), + [anon_sym_asm] = ACTIONS(1134), + [anon_sym___asm__] = ACTIONS(1134), + [anon_sym___asm] = ACTIONS(1134), + [sym_number_literal] = ACTIONS(1136), + [anon_sym_L_SQUOTE] = ACTIONS(1136), + [anon_sym_u_SQUOTE] = ACTIONS(1136), + [anon_sym_U_SQUOTE] = ACTIONS(1136), + [anon_sym_u8_SQUOTE] = ACTIONS(1136), + [anon_sym_SQUOTE] = ACTIONS(1136), + [anon_sym_L_DQUOTE] = ACTIONS(1136), + [anon_sym_u_DQUOTE] = ACTIONS(1136), + [anon_sym_U_DQUOTE] = ACTIONS(1136), + [anon_sym_u8_DQUOTE] = ACTIONS(1136), + [anon_sym_DQUOTE] = ACTIONS(1136), + [sym_true] = ACTIONS(1134), + [sym_false] = ACTIONS(1134), + [anon_sym_NULL] = ACTIONS(1134), + [anon_sym_nullptr] = ACTIONS(1134), + [sym_comment] = ACTIONS(3), + }, + [82] = { + [sym_identifier] = ACTIONS(1138), + [aux_sym_preproc_include_token1] = ACTIONS(1138), + [aux_sym_preproc_def_token1] = ACTIONS(1138), + [aux_sym_preproc_if_token1] = ACTIONS(1138), + [aux_sym_preproc_if_token2] = ACTIONS(1138), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1138), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1138), + [aux_sym_preproc_else_token1] = ACTIONS(1138), + [aux_sym_preproc_elif_token1] = ACTIONS(1138), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1138), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1138), + [sym_preproc_directive] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(1140), + [anon_sym_BANG] = ACTIONS(1140), + [anon_sym_TILDE] = ACTIONS(1140), + [anon_sym_DASH] = ACTIONS(1138), + [anon_sym_PLUS] = ACTIONS(1138), + [anon_sym_STAR] = ACTIONS(1140), + [anon_sym_AMP] = ACTIONS(1140), + [anon_sym_SEMI] = ACTIONS(1140), + [anon_sym___extension__] = ACTIONS(1138), + [anon_sym_typedef] = ACTIONS(1138), + [anon_sym_extern] = ACTIONS(1138), + [anon_sym___attribute__] = ACTIONS(1138), + [anon_sym___attribute] = ACTIONS(1138), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1140), + [anon_sym___declspec] = ACTIONS(1138), + [anon_sym___cdecl] = ACTIONS(1138), + [anon_sym___clrcall] = ACTIONS(1138), + [anon_sym___stdcall] = ACTIONS(1138), + [anon_sym___fastcall] = ACTIONS(1138), + [anon_sym___thiscall] = ACTIONS(1138), + [anon_sym___vectorcall] = ACTIONS(1138), + [anon_sym_LBRACE] = ACTIONS(1140), + [anon_sym_signed] = ACTIONS(1138), + [anon_sym_unsigned] = ACTIONS(1138), + [anon_sym_long] = ACTIONS(1138), + [anon_sym_short] = ACTIONS(1138), + [anon_sym_static] = ACTIONS(1138), + [anon_sym_auto] = ACTIONS(1138), + [anon_sym_register] = ACTIONS(1138), + [anon_sym_inline] = ACTIONS(1138), + [anon_sym___inline] = ACTIONS(1138), + [anon_sym___inline__] = ACTIONS(1138), + [anon_sym___forceinline] = ACTIONS(1138), + [anon_sym_thread_local] = ACTIONS(1138), + [anon_sym___thread] = ACTIONS(1138), + [anon_sym_const] = ACTIONS(1138), + [anon_sym_constexpr] = ACTIONS(1138), + [anon_sym_volatile] = ACTIONS(1138), + [anon_sym_restrict] = ACTIONS(1138), + [anon_sym___restrict__] = ACTIONS(1138), + [anon_sym__Atomic] = ACTIONS(1138), + [anon_sym__Noreturn] = ACTIONS(1138), + [anon_sym_noreturn] = ACTIONS(1138), + [anon_sym__Nonnull] = ACTIONS(1138), + [anon_sym_alignas] = ACTIONS(1138), + [anon_sym__Alignas] = ACTIONS(1138), + [sym_primitive_type] = ACTIONS(1138), + [anon_sym_enum] = ACTIONS(1138), + [anon_sym_struct] = ACTIONS(1138), + [anon_sym_union] = ACTIONS(1138), + [anon_sym_if] = ACTIONS(1138), + [anon_sym_else] = ACTIONS(1138), + [anon_sym_switch] = ACTIONS(1138), + [anon_sym_case] = ACTIONS(1138), + [anon_sym_default] = ACTIONS(1138), + [anon_sym_while] = ACTIONS(1138), + [anon_sym_do] = ACTIONS(1138), + [anon_sym_for] = ACTIONS(1138), + [anon_sym_return] = ACTIONS(1138), + [anon_sym_break] = ACTIONS(1138), + [anon_sym_continue] = ACTIONS(1138), + [anon_sym_goto] = ACTIONS(1138), + [anon_sym___try] = ACTIONS(1138), + [anon_sym___leave] = ACTIONS(1138), + [anon_sym_DASH_DASH] = ACTIONS(1140), + [anon_sym_PLUS_PLUS] = ACTIONS(1140), + [anon_sym_sizeof] = ACTIONS(1138), + [anon_sym___alignof__] = ACTIONS(1138), + [anon_sym___alignof] = ACTIONS(1138), + [anon_sym__alignof] = ACTIONS(1138), + [anon_sym_alignof] = ACTIONS(1138), + [anon_sym__Alignof] = ACTIONS(1138), + [anon_sym_offsetof] = ACTIONS(1138), + [anon_sym__Generic] = ACTIONS(1138), + [anon_sym_asm] = ACTIONS(1138), + [anon_sym___asm__] = ACTIONS(1138), + [anon_sym___asm] = ACTIONS(1138), + [sym_number_literal] = ACTIONS(1140), + [anon_sym_L_SQUOTE] = ACTIONS(1140), + [anon_sym_u_SQUOTE] = ACTIONS(1140), + [anon_sym_U_SQUOTE] = ACTIONS(1140), + [anon_sym_u8_SQUOTE] = ACTIONS(1140), + [anon_sym_SQUOTE] = ACTIONS(1140), + [anon_sym_L_DQUOTE] = ACTIONS(1140), + [anon_sym_u_DQUOTE] = ACTIONS(1140), + [anon_sym_U_DQUOTE] = ACTIONS(1140), + [anon_sym_u8_DQUOTE] = ACTIONS(1140), + [anon_sym_DQUOTE] = ACTIONS(1140), + [sym_true] = ACTIONS(1138), + [sym_false] = ACTIONS(1138), + [anon_sym_NULL] = ACTIONS(1138), + [anon_sym_nullptr] = ACTIONS(1138), + [sym_comment] = ACTIONS(3), + }, + [83] = { + [sym_identifier] = ACTIONS(1142), + [aux_sym_preproc_include_token1] = ACTIONS(1142), + [aux_sym_preproc_def_token1] = ACTIONS(1142), + [aux_sym_preproc_if_token1] = ACTIONS(1142), + [aux_sym_preproc_if_token2] = ACTIONS(1142), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1142), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1142), + [aux_sym_preproc_else_token1] = ACTIONS(1142), + [aux_sym_preproc_elif_token1] = ACTIONS(1142), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1142), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1142), + [sym_preproc_directive] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(1144), + [anon_sym_BANG] = ACTIONS(1144), + [anon_sym_TILDE] = ACTIONS(1144), + [anon_sym_DASH] = ACTIONS(1142), + [anon_sym_PLUS] = ACTIONS(1142), + [anon_sym_STAR] = ACTIONS(1144), + [anon_sym_AMP] = ACTIONS(1144), + [anon_sym_SEMI] = ACTIONS(1144), + [anon_sym___extension__] = ACTIONS(1142), + [anon_sym_typedef] = ACTIONS(1142), + [anon_sym_extern] = ACTIONS(1142), + [anon_sym___attribute__] = ACTIONS(1142), + [anon_sym___attribute] = ACTIONS(1142), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1144), + [anon_sym___declspec] = ACTIONS(1142), + [anon_sym___cdecl] = ACTIONS(1142), + [anon_sym___clrcall] = ACTIONS(1142), + [anon_sym___stdcall] = ACTIONS(1142), + [anon_sym___fastcall] = ACTIONS(1142), + [anon_sym___thiscall] = ACTIONS(1142), + [anon_sym___vectorcall] = ACTIONS(1142), + [anon_sym_LBRACE] = ACTIONS(1144), + [anon_sym_signed] = ACTIONS(1142), + [anon_sym_unsigned] = ACTIONS(1142), + [anon_sym_long] = ACTIONS(1142), + [anon_sym_short] = ACTIONS(1142), + [anon_sym_static] = ACTIONS(1142), + [anon_sym_auto] = ACTIONS(1142), + [anon_sym_register] = ACTIONS(1142), + [anon_sym_inline] = ACTIONS(1142), + [anon_sym___inline] = ACTIONS(1142), + [anon_sym___inline__] = ACTIONS(1142), + [anon_sym___forceinline] = ACTIONS(1142), + [anon_sym_thread_local] = ACTIONS(1142), + [anon_sym___thread] = ACTIONS(1142), + [anon_sym_const] = ACTIONS(1142), + [anon_sym_constexpr] = ACTIONS(1142), + [anon_sym_volatile] = ACTIONS(1142), + [anon_sym_restrict] = ACTIONS(1142), + [anon_sym___restrict__] = ACTIONS(1142), + [anon_sym__Atomic] = ACTIONS(1142), + [anon_sym__Noreturn] = ACTIONS(1142), + [anon_sym_noreturn] = ACTIONS(1142), + [anon_sym__Nonnull] = ACTIONS(1142), + [anon_sym_alignas] = ACTIONS(1142), + [anon_sym__Alignas] = ACTIONS(1142), + [sym_primitive_type] = ACTIONS(1142), + [anon_sym_enum] = ACTIONS(1142), + [anon_sym_struct] = ACTIONS(1142), + [anon_sym_union] = ACTIONS(1142), + [anon_sym_if] = ACTIONS(1142), + [anon_sym_else] = ACTIONS(1142), + [anon_sym_switch] = ACTIONS(1142), + [anon_sym_case] = ACTIONS(1142), + [anon_sym_default] = ACTIONS(1142), + [anon_sym_while] = ACTIONS(1142), + [anon_sym_do] = ACTIONS(1142), + [anon_sym_for] = ACTIONS(1142), + [anon_sym_return] = ACTIONS(1142), + [anon_sym_break] = ACTIONS(1142), + [anon_sym_continue] = ACTIONS(1142), + [anon_sym_goto] = ACTIONS(1142), + [anon_sym___try] = ACTIONS(1142), + [anon_sym___leave] = ACTIONS(1142), + [anon_sym_DASH_DASH] = ACTIONS(1144), + [anon_sym_PLUS_PLUS] = ACTIONS(1144), + [anon_sym_sizeof] = ACTIONS(1142), + [anon_sym___alignof__] = ACTIONS(1142), + [anon_sym___alignof] = ACTIONS(1142), + [anon_sym__alignof] = ACTIONS(1142), + [anon_sym_alignof] = ACTIONS(1142), + [anon_sym__Alignof] = ACTIONS(1142), + [anon_sym_offsetof] = ACTIONS(1142), + [anon_sym__Generic] = ACTIONS(1142), + [anon_sym_asm] = ACTIONS(1142), + [anon_sym___asm__] = ACTIONS(1142), + [anon_sym___asm] = ACTIONS(1142), + [sym_number_literal] = ACTIONS(1144), + [anon_sym_L_SQUOTE] = ACTIONS(1144), + [anon_sym_u_SQUOTE] = ACTIONS(1144), + [anon_sym_U_SQUOTE] = ACTIONS(1144), + [anon_sym_u8_SQUOTE] = ACTIONS(1144), + [anon_sym_SQUOTE] = ACTIONS(1144), + [anon_sym_L_DQUOTE] = ACTIONS(1144), + [anon_sym_u_DQUOTE] = ACTIONS(1144), + [anon_sym_U_DQUOTE] = ACTIONS(1144), + [anon_sym_u8_DQUOTE] = ACTIONS(1144), + [anon_sym_DQUOTE] = ACTIONS(1144), + [sym_true] = ACTIONS(1142), + [sym_false] = ACTIONS(1142), + [anon_sym_NULL] = ACTIONS(1142), + [anon_sym_nullptr] = ACTIONS(1142), + [sym_comment] = ACTIONS(3), + }, + [84] = { + [sym_identifier] = ACTIONS(1146), + [aux_sym_preproc_include_token1] = ACTIONS(1146), + [aux_sym_preproc_def_token1] = ACTIONS(1146), + [aux_sym_preproc_if_token1] = ACTIONS(1146), + [aux_sym_preproc_if_token2] = ACTIONS(1146), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1146), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1146), + [aux_sym_preproc_else_token1] = ACTIONS(1146), + [aux_sym_preproc_elif_token1] = ACTIONS(1146), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1146), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1146), + [sym_preproc_directive] = ACTIONS(1146), + [anon_sym_LPAREN2] = ACTIONS(1148), + [anon_sym_BANG] = ACTIONS(1148), + [anon_sym_TILDE] = ACTIONS(1148), + [anon_sym_DASH] = ACTIONS(1146), + [anon_sym_PLUS] = ACTIONS(1146), + [anon_sym_STAR] = ACTIONS(1148), + [anon_sym_AMP] = ACTIONS(1148), + [anon_sym_SEMI] = ACTIONS(1148), + [anon_sym___extension__] = ACTIONS(1146), + [anon_sym_typedef] = ACTIONS(1146), + [anon_sym_extern] = ACTIONS(1146), + [anon_sym___attribute__] = ACTIONS(1146), + [anon_sym___attribute] = ACTIONS(1146), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1148), + [anon_sym___declspec] = ACTIONS(1146), + [anon_sym___cdecl] = ACTIONS(1146), + [anon_sym___clrcall] = ACTIONS(1146), + [anon_sym___stdcall] = ACTIONS(1146), + [anon_sym___fastcall] = ACTIONS(1146), + [anon_sym___thiscall] = ACTIONS(1146), + [anon_sym___vectorcall] = ACTIONS(1146), + [anon_sym_LBRACE] = ACTIONS(1148), + [anon_sym_signed] = ACTIONS(1146), + [anon_sym_unsigned] = ACTIONS(1146), + [anon_sym_long] = ACTIONS(1146), + [anon_sym_short] = ACTIONS(1146), + [anon_sym_static] = ACTIONS(1146), + [anon_sym_auto] = ACTIONS(1146), + [anon_sym_register] = ACTIONS(1146), + [anon_sym_inline] = ACTIONS(1146), + [anon_sym___inline] = ACTIONS(1146), + [anon_sym___inline__] = ACTIONS(1146), + [anon_sym___forceinline] = ACTIONS(1146), + [anon_sym_thread_local] = ACTIONS(1146), + [anon_sym___thread] = ACTIONS(1146), + [anon_sym_const] = ACTIONS(1146), + [anon_sym_constexpr] = ACTIONS(1146), + [anon_sym_volatile] = ACTIONS(1146), + [anon_sym_restrict] = ACTIONS(1146), + [anon_sym___restrict__] = ACTIONS(1146), + [anon_sym__Atomic] = ACTIONS(1146), + [anon_sym__Noreturn] = ACTIONS(1146), + [anon_sym_noreturn] = ACTIONS(1146), + [anon_sym__Nonnull] = ACTIONS(1146), + [anon_sym_alignas] = ACTIONS(1146), + [anon_sym__Alignas] = ACTIONS(1146), + [sym_primitive_type] = ACTIONS(1146), + [anon_sym_enum] = ACTIONS(1146), + [anon_sym_struct] = ACTIONS(1146), + [anon_sym_union] = ACTIONS(1146), + [anon_sym_if] = ACTIONS(1146), + [anon_sym_else] = ACTIONS(1146), + [anon_sym_switch] = ACTIONS(1146), + [anon_sym_case] = ACTIONS(1146), + [anon_sym_default] = ACTIONS(1146), + [anon_sym_while] = ACTIONS(1146), + [anon_sym_do] = ACTIONS(1146), + [anon_sym_for] = ACTIONS(1146), + [anon_sym_return] = ACTIONS(1146), + [anon_sym_break] = ACTIONS(1146), + [anon_sym_continue] = ACTIONS(1146), + [anon_sym_goto] = ACTIONS(1146), + [anon_sym___try] = ACTIONS(1146), + [anon_sym___leave] = ACTIONS(1146), + [anon_sym_DASH_DASH] = ACTIONS(1148), + [anon_sym_PLUS_PLUS] = ACTIONS(1148), + [anon_sym_sizeof] = ACTIONS(1146), + [anon_sym___alignof__] = ACTIONS(1146), + [anon_sym___alignof] = ACTIONS(1146), + [anon_sym__alignof] = ACTIONS(1146), + [anon_sym_alignof] = ACTIONS(1146), + [anon_sym__Alignof] = ACTIONS(1146), + [anon_sym_offsetof] = ACTIONS(1146), + [anon_sym__Generic] = ACTIONS(1146), + [anon_sym_asm] = ACTIONS(1146), + [anon_sym___asm__] = ACTIONS(1146), + [anon_sym___asm] = ACTIONS(1146), + [sym_number_literal] = ACTIONS(1148), + [anon_sym_L_SQUOTE] = ACTIONS(1148), + [anon_sym_u_SQUOTE] = ACTIONS(1148), + [anon_sym_U_SQUOTE] = ACTIONS(1148), + [anon_sym_u8_SQUOTE] = ACTIONS(1148), + [anon_sym_SQUOTE] = ACTIONS(1148), + [anon_sym_L_DQUOTE] = ACTIONS(1148), + [anon_sym_u_DQUOTE] = ACTIONS(1148), + [anon_sym_U_DQUOTE] = ACTIONS(1148), + [anon_sym_u8_DQUOTE] = ACTIONS(1148), + [anon_sym_DQUOTE] = ACTIONS(1148), + [sym_true] = ACTIONS(1146), + [sym_false] = ACTIONS(1146), + [anon_sym_NULL] = ACTIONS(1146), + [anon_sym_nullptr] = ACTIONS(1146), + [sym_comment] = ACTIONS(3), + }, + [85] = { + [sym_identifier] = ACTIONS(1150), + [aux_sym_preproc_include_token1] = ACTIONS(1150), + [aux_sym_preproc_def_token1] = ACTIONS(1150), + [aux_sym_preproc_if_token1] = ACTIONS(1150), + [aux_sym_preproc_if_token2] = ACTIONS(1150), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1150), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1150), + [aux_sym_preproc_else_token1] = ACTIONS(1150), + [aux_sym_preproc_elif_token1] = ACTIONS(1150), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1150), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1150), + [sym_preproc_directive] = ACTIONS(1150), + [anon_sym_LPAREN2] = ACTIONS(1152), + [anon_sym_BANG] = ACTIONS(1152), + [anon_sym_TILDE] = ACTIONS(1152), + [anon_sym_DASH] = ACTIONS(1150), + [anon_sym_PLUS] = ACTIONS(1150), + [anon_sym_STAR] = ACTIONS(1152), + [anon_sym_AMP] = ACTIONS(1152), + [anon_sym_SEMI] = ACTIONS(1152), + [anon_sym___extension__] = ACTIONS(1150), + [anon_sym_typedef] = ACTIONS(1150), + [anon_sym_extern] = ACTIONS(1150), + [anon_sym___attribute__] = ACTIONS(1150), + [anon_sym___attribute] = ACTIONS(1150), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1152), + [anon_sym___declspec] = ACTIONS(1150), + [anon_sym___cdecl] = ACTIONS(1150), + [anon_sym___clrcall] = ACTIONS(1150), + [anon_sym___stdcall] = ACTIONS(1150), + [anon_sym___fastcall] = ACTIONS(1150), + [anon_sym___thiscall] = ACTIONS(1150), + [anon_sym___vectorcall] = ACTIONS(1150), + [anon_sym_LBRACE] = ACTIONS(1152), + [anon_sym_signed] = ACTIONS(1150), + [anon_sym_unsigned] = ACTIONS(1150), + [anon_sym_long] = ACTIONS(1150), + [anon_sym_short] = ACTIONS(1150), + [anon_sym_static] = ACTIONS(1150), + [anon_sym_auto] = ACTIONS(1150), + [anon_sym_register] = ACTIONS(1150), + [anon_sym_inline] = ACTIONS(1150), + [anon_sym___inline] = ACTIONS(1150), + [anon_sym___inline__] = ACTIONS(1150), + [anon_sym___forceinline] = ACTIONS(1150), + [anon_sym_thread_local] = ACTIONS(1150), + [anon_sym___thread] = ACTIONS(1150), + [anon_sym_const] = ACTIONS(1150), + [anon_sym_constexpr] = ACTIONS(1150), + [anon_sym_volatile] = ACTIONS(1150), + [anon_sym_restrict] = ACTIONS(1150), + [anon_sym___restrict__] = ACTIONS(1150), + [anon_sym__Atomic] = ACTIONS(1150), + [anon_sym__Noreturn] = ACTIONS(1150), + [anon_sym_noreturn] = ACTIONS(1150), + [anon_sym__Nonnull] = ACTIONS(1150), + [anon_sym_alignas] = ACTIONS(1150), + [anon_sym__Alignas] = ACTIONS(1150), + [sym_primitive_type] = ACTIONS(1150), + [anon_sym_enum] = ACTIONS(1150), + [anon_sym_struct] = ACTIONS(1150), + [anon_sym_union] = ACTIONS(1150), + [anon_sym_if] = ACTIONS(1150), + [anon_sym_else] = ACTIONS(1150), + [anon_sym_switch] = ACTIONS(1150), + [anon_sym_case] = ACTIONS(1150), + [anon_sym_default] = ACTIONS(1150), + [anon_sym_while] = ACTIONS(1150), + [anon_sym_do] = ACTIONS(1150), + [anon_sym_for] = ACTIONS(1150), + [anon_sym_return] = ACTIONS(1150), + [anon_sym_break] = ACTIONS(1150), + [anon_sym_continue] = ACTIONS(1150), + [anon_sym_goto] = ACTIONS(1150), + [anon_sym___try] = ACTIONS(1150), + [anon_sym___leave] = ACTIONS(1150), + [anon_sym_DASH_DASH] = ACTIONS(1152), + [anon_sym_PLUS_PLUS] = ACTIONS(1152), + [anon_sym_sizeof] = ACTIONS(1150), + [anon_sym___alignof__] = ACTIONS(1150), + [anon_sym___alignof] = ACTIONS(1150), + [anon_sym__alignof] = ACTIONS(1150), + [anon_sym_alignof] = ACTIONS(1150), + [anon_sym__Alignof] = ACTIONS(1150), + [anon_sym_offsetof] = ACTIONS(1150), + [anon_sym__Generic] = ACTIONS(1150), + [anon_sym_asm] = ACTIONS(1150), + [anon_sym___asm__] = ACTIONS(1150), + [anon_sym___asm] = ACTIONS(1150), + [sym_number_literal] = ACTIONS(1152), + [anon_sym_L_SQUOTE] = ACTIONS(1152), + [anon_sym_u_SQUOTE] = ACTIONS(1152), + [anon_sym_U_SQUOTE] = ACTIONS(1152), + [anon_sym_u8_SQUOTE] = ACTIONS(1152), + [anon_sym_SQUOTE] = ACTIONS(1152), + [anon_sym_L_DQUOTE] = ACTIONS(1152), + [anon_sym_u_DQUOTE] = ACTIONS(1152), + [anon_sym_U_DQUOTE] = ACTIONS(1152), + [anon_sym_u8_DQUOTE] = ACTIONS(1152), + [anon_sym_DQUOTE] = ACTIONS(1152), + [sym_true] = ACTIONS(1150), + [sym_false] = ACTIONS(1150), + [anon_sym_NULL] = ACTIONS(1150), + [anon_sym_nullptr] = ACTIONS(1150), + [sym_comment] = ACTIONS(3), + }, + [86] = { + [sym_identifier] = ACTIONS(1154), + [aux_sym_preproc_include_token1] = ACTIONS(1154), + [aux_sym_preproc_def_token1] = ACTIONS(1154), + [aux_sym_preproc_if_token1] = ACTIONS(1154), + [aux_sym_preproc_if_token2] = ACTIONS(1154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1154), + [aux_sym_preproc_else_token1] = ACTIONS(1154), + [aux_sym_preproc_elif_token1] = ACTIONS(1154), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1154), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1154), + [sym_preproc_directive] = ACTIONS(1154), + [anon_sym_LPAREN2] = ACTIONS(1156), + [anon_sym_BANG] = ACTIONS(1156), + [anon_sym_TILDE] = ACTIONS(1156), + [anon_sym_DASH] = ACTIONS(1154), + [anon_sym_PLUS] = ACTIONS(1154), + [anon_sym_STAR] = ACTIONS(1156), + [anon_sym_AMP] = ACTIONS(1156), + [anon_sym_SEMI] = ACTIONS(1156), + [anon_sym___extension__] = ACTIONS(1154), + [anon_sym_typedef] = ACTIONS(1154), + [anon_sym_extern] = ACTIONS(1154), + [anon_sym___attribute__] = ACTIONS(1154), + [anon_sym___attribute] = ACTIONS(1154), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1156), + [anon_sym___declspec] = ACTIONS(1154), + [anon_sym___cdecl] = ACTIONS(1154), + [anon_sym___clrcall] = ACTIONS(1154), + [anon_sym___stdcall] = ACTIONS(1154), + [anon_sym___fastcall] = ACTIONS(1154), + [anon_sym___thiscall] = ACTIONS(1154), + [anon_sym___vectorcall] = ACTIONS(1154), + [anon_sym_LBRACE] = ACTIONS(1156), + [anon_sym_signed] = ACTIONS(1154), + [anon_sym_unsigned] = ACTIONS(1154), + [anon_sym_long] = ACTIONS(1154), + [anon_sym_short] = ACTIONS(1154), + [anon_sym_static] = ACTIONS(1154), + [anon_sym_auto] = ACTIONS(1154), + [anon_sym_register] = ACTIONS(1154), + [anon_sym_inline] = ACTIONS(1154), + [anon_sym___inline] = ACTIONS(1154), + [anon_sym___inline__] = ACTIONS(1154), + [anon_sym___forceinline] = ACTIONS(1154), + [anon_sym_thread_local] = ACTIONS(1154), + [anon_sym___thread] = ACTIONS(1154), + [anon_sym_const] = ACTIONS(1154), + [anon_sym_constexpr] = ACTIONS(1154), + [anon_sym_volatile] = ACTIONS(1154), + [anon_sym_restrict] = ACTIONS(1154), + [anon_sym___restrict__] = ACTIONS(1154), + [anon_sym__Atomic] = ACTIONS(1154), + [anon_sym__Noreturn] = ACTIONS(1154), + [anon_sym_noreturn] = ACTIONS(1154), + [anon_sym__Nonnull] = ACTIONS(1154), + [anon_sym_alignas] = ACTIONS(1154), + [anon_sym__Alignas] = ACTIONS(1154), + [sym_primitive_type] = ACTIONS(1154), + [anon_sym_enum] = ACTIONS(1154), + [anon_sym_struct] = ACTIONS(1154), + [anon_sym_union] = ACTIONS(1154), + [anon_sym_if] = ACTIONS(1154), + [anon_sym_else] = ACTIONS(1154), + [anon_sym_switch] = ACTIONS(1154), + [anon_sym_case] = ACTIONS(1154), + [anon_sym_default] = ACTIONS(1154), + [anon_sym_while] = ACTIONS(1154), + [anon_sym_do] = ACTIONS(1154), + [anon_sym_for] = ACTIONS(1154), + [anon_sym_return] = ACTIONS(1154), + [anon_sym_break] = ACTIONS(1154), + [anon_sym_continue] = ACTIONS(1154), + [anon_sym_goto] = ACTIONS(1154), + [anon_sym___try] = ACTIONS(1154), + [anon_sym___leave] = ACTIONS(1154), + [anon_sym_DASH_DASH] = ACTIONS(1156), + [anon_sym_PLUS_PLUS] = ACTIONS(1156), + [anon_sym_sizeof] = ACTIONS(1154), + [anon_sym___alignof__] = ACTIONS(1154), + [anon_sym___alignof] = ACTIONS(1154), + [anon_sym__alignof] = ACTIONS(1154), + [anon_sym_alignof] = ACTIONS(1154), + [anon_sym__Alignof] = ACTIONS(1154), + [anon_sym_offsetof] = ACTIONS(1154), + [anon_sym__Generic] = ACTIONS(1154), + [anon_sym_asm] = ACTIONS(1154), + [anon_sym___asm__] = ACTIONS(1154), + [anon_sym___asm] = ACTIONS(1154), + [sym_number_literal] = ACTIONS(1156), + [anon_sym_L_SQUOTE] = ACTIONS(1156), + [anon_sym_u_SQUOTE] = ACTIONS(1156), + [anon_sym_U_SQUOTE] = ACTIONS(1156), + [anon_sym_u8_SQUOTE] = ACTIONS(1156), + [anon_sym_SQUOTE] = ACTIONS(1156), + [anon_sym_L_DQUOTE] = ACTIONS(1156), + [anon_sym_u_DQUOTE] = ACTIONS(1156), + [anon_sym_U_DQUOTE] = ACTIONS(1156), + [anon_sym_u8_DQUOTE] = ACTIONS(1156), + [anon_sym_DQUOTE] = ACTIONS(1156), + [sym_true] = ACTIONS(1154), + [sym_false] = ACTIONS(1154), + [anon_sym_NULL] = ACTIONS(1154), + [anon_sym_nullptr] = ACTIONS(1154), + [sym_comment] = ACTIONS(3), + }, + [87] = { + [sym_identifier] = ACTIONS(1154), + [aux_sym_preproc_include_token1] = ACTIONS(1154), + [aux_sym_preproc_def_token1] = ACTIONS(1154), + [aux_sym_preproc_if_token1] = ACTIONS(1154), + [aux_sym_preproc_if_token2] = ACTIONS(1154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1154), + [aux_sym_preproc_else_token1] = ACTIONS(1154), + [aux_sym_preproc_elif_token1] = ACTIONS(1154), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1154), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1154), + [sym_preproc_directive] = ACTIONS(1154), + [anon_sym_LPAREN2] = ACTIONS(1156), + [anon_sym_BANG] = ACTIONS(1156), + [anon_sym_TILDE] = ACTIONS(1156), + [anon_sym_DASH] = ACTIONS(1154), + [anon_sym_PLUS] = ACTIONS(1154), + [anon_sym_STAR] = ACTIONS(1156), + [anon_sym_AMP] = ACTIONS(1156), + [anon_sym_SEMI] = ACTIONS(1156), + [anon_sym___extension__] = ACTIONS(1154), + [anon_sym_typedef] = ACTIONS(1154), + [anon_sym_extern] = ACTIONS(1154), + [anon_sym___attribute__] = ACTIONS(1154), + [anon_sym___attribute] = ACTIONS(1154), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1156), + [anon_sym___declspec] = ACTIONS(1154), + [anon_sym___cdecl] = ACTIONS(1154), + [anon_sym___clrcall] = ACTIONS(1154), + [anon_sym___stdcall] = ACTIONS(1154), + [anon_sym___fastcall] = ACTIONS(1154), + [anon_sym___thiscall] = ACTIONS(1154), + [anon_sym___vectorcall] = ACTIONS(1154), + [anon_sym_LBRACE] = ACTIONS(1156), + [anon_sym_signed] = ACTIONS(1154), + [anon_sym_unsigned] = ACTIONS(1154), + [anon_sym_long] = ACTIONS(1154), + [anon_sym_short] = ACTIONS(1154), + [anon_sym_static] = ACTIONS(1154), + [anon_sym_auto] = ACTIONS(1154), + [anon_sym_register] = ACTIONS(1154), + [anon_sym_inline] = ACTIONS(1154), + [anon_sym___inline] = ACTIONS(1154), + [anon_sym___inline__] = ACTIONS(1154), + [anon_sym___forceinline] = ACTIONS(1154), + [anon_sym_thread_local] = ACTIONS(1154), + [anon_sym___thread] = ACTIONS(1154), + [anon_sym_const] = ACTIONS(1154), + [anon_sym_constexpr] = ACTIONS(1154), + [anon_sym_volatile] = ACTIONS(1154), + [anon_sym_restrict] = ACTIONS(1154), + [anon_sym___restrict__] = ACTIONS(1154), + [anon_sym__Atomic] = ACTIONS(1154), + [anon_sym__Noreturn] = ACTIONS(1154), + [anon_sym_noreturn] = ACTIONS(1154), + [anon_sym__Nonnull] = ACTIONS(1154), + [anon_sym_alignas] = ACTIONS(1154), + [anon_sym__Alignas] = ACTIONS(1154), + [sym_primitive_type] = ACTIONS(1154), + [anon_sym_enum] = ACTIONS(1154), + [anon_sym_struct] = ACTIONS(1154), + [anon_sym_union] = ACTIONS(1154), + [anon_sym_if] = ACTIONS(1154), + [anon_sym_else] = ACTIONS(1154), + [anon_sym_switch] = ACTIONS(1154), + [anon_sym_case] = ACTIONS(1154), + [anon_sym_default] = ACTIONS(1154), + [anon_sym_while] = ACTIONS(1154), + [anon_sym_do] = ACTIONS(1154), + [anon_sym_for] = ACTIONS(1154), + [anon_sym_return] = ACTIONS(1154), + [anon_sym_break] = ACTIONS(1154), + [anon_sym_continue] = ACTIONS(1154), + [anon_sym_goto] = ACTIONS(1154), + [anon_sym___try] = ACTIONS(1154), + [anon_sym___leave] = ACTIONS(1154), + [anon_sym_DASH_DASH] = ACTIONS(1156), + [anon_sym_PLUS_PLUS] = ACTIONS(1156), + [anon_sym_sizeof] = ACTIONS(1154), + [anon_sym___alignof__] = ACTIONS(1154), + [anon_sym___alignof] = ACTIONS(1154), + [anon_sym__alignof] = ACTIONS(1154), + [anon_sym_alignof] = ACTIONS(1154), + [anon_sym__Alignof] = ACTIONS(1154), + [anon_sym_offsetof] = ACTIONS(1154), + [anon_sym__Generic] = ACTIONS(1154), + [anon_sym_asm] = ACTIONS(1154), + [anon_sym___asm__] = ACTIONS(1154), + [anon_sym___asm] = ACTIONS(1154), + [sym_number_literal] = ACTIONS(1156), + [anon_sym_L_SQUOTE] = ACTIONS(1156), + [anon_sym_u_SQUOTE] = ACTIONS(1156), + [anon_sym_U_SQUOTE] = ACTIONS(1156), + [anon_sym_u8_SQUOTE] = ACTIONS(1156), + [anon_sym_SQUOTE] = ACTIONS(1156), + [anon_sym_L_DQUOTE] = ACTIONS(1156), + [anon_sym_u_DQUOTE] = ACTIONS(1156), + [anon_sym_U_DQUOTE] = ACTIONS(1156), + [anon_sym_u8_DQUOTE] = ACTIONS(1156), + [anon_sym_DQUOTE] = ACTIONS(1156), + [sym_true] = ACTIONS(1154), + [sym_false] = ACTIONS(1154), + [anon_sym_NULL] = ACTIONS(1154), + [anon_sym_nullptr] = ACTIONS(1154), + [sym_comment] = ACTIONS(3), + }, + [88] = { + [sym_identifier] = ACTIONS(1158), + [aux_sym_preproc_include_token1] = ACTIONS(1158), + [aux_sym_preproc_def_token1] = ACTIONS(1158), + [aux_sym_preproc_if_token1] = ACTIONS(1158), + [aux_sym_preproc_if_token2] = ACTIONS(1158), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1158), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1158), + [aux_sym_preproc_else_token1] = ACTIONS(1158), + [aux_sym_preproc_elif_token1] = ACTIONS(1158), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1158), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1158), + [sym_preproc_directive] = ACTIONS(1158), + [anon_sym_LPAREN2] = ACTIONS(1160), + [anon_sym_BANG] = ACTIONS(1160), + [anon_sym_TILDE] = ACTIONS(1160), + [anon_sym_DASH] = ACTIONS(1158), + [anon_sym_PLUS] = ACTIONS(1158), + [anon_sym_STAR] = ACTIONS(1160), + [anon_sym_AMP] = ACTIONS(1160), + [anon_sym_SEMI] = ACTIONS(1160), + [anon_sym___extension__] = ACTIONS(1158), + [anon_sym_typedef] = ACTIONS(1158), + [anon_sym_extern] = ACTIONS(1158), + [anon_sym___attribute__] = ACTIONS(1158), + [anon_sym___attribute] = ACTIONS(1158), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1160), + [anon_sym___declspec] = ACTIONS(1158), + [anon_sym___cdecl] = ACTIONS(1158), + [anon_sym___clrcall] = ACTIONS(1158), + [anon_sym___stdcall] = ACTIONS(1158), + [anon_sym___fastcall] = ACTIONS(1158), + [anon_sym___thiscall] = ACTIONS(1158), + [anon_sym___vectorcall] = ACTIONS(1158), + [anon_sym_LBRACE] = ACTIONS(1160), + [anon_sym_signed] = ACTIONS(1158), + [anon_sym_unsigned] = ACTIONS(1158), + [anon_sym_long] = ACTIONS(1158), + [anon_sym_short] = ACTIONS(1158), + [anon_sym_static] = ACTIONS(1158), + [anon_sym_auto] = ACTIONS(1158), + [anon_sym_register] = ACTIONS(1158), + [anon_sym_inline] = ACTIONS(1158), + [anon_sym___inline] = ACTIONS(1158), + [anon_sym___inline__] = ACTIONS(1158), + [anon_sym___forceinline] = ACTIONS(1158), + [anon_sym_thread_local] = ACTIONS(1158), + [anon_sym___thread] = ACTIONS(1158), + [anon_sym_const] = ACTIONS(1158), + [anon_sym_constexpr] = ACTIONS(1158), + [anon_sym_volatile] = ACTIONS(1158), + [anon_sym_restrict] = ACTIONS(1158), + [anon_sym___restrict__] = ACTIONS(1158), + [anon_sym__Atomic] = ACTIONS(1158), + [anon_sym__Noreturn] = ACTIONS(1158), + [anon_sym_noreturn] = ACTIONS(1158), + [anon_sym__Nonnull] = ACTIONS(1158), + [anon_sym_alignas] = ACTIONS(1158), + [anon_sym__Alignas] = ACTIONS(1158), + [sym_primitive_type] = ACTIONS(1158), + [anon_sym_enum] = ACTIONS(1158), + [anon_sym_struct] = ACTIONS(1158), + [anon_sym_union] = ACTIONS(1158), + [anon_sym_if] = ACTIONS(1158), + [anon_sym_else] = ACTIONS(1158), + [anon_sym_switch] = ACTIONS(1158), + [anon_sym_case] = ACTIONS(1158), + [anon_sym_default] = ACTIONS(1158), + [anon_sym_while] = ACTIONS(1158), + [anon_sym_do] = ACTIONS(1158), + [anon_sym_for] = ACTIONS(1158), + [anon_sym_return] = ACTIONS(1158), + [anon_sym_break] = ACTIONS(1158), + [anon_sym_continue] = ACTIONS(1158), + [anon_sym_goto] = ACTIONS(1158), + [anon_sym___try] = ACTIONS(1158), + [anon_sym___leave] = ACTIONS(1158), + [anon_sym_DASH_DASH] = ACTIONS(1160), + [anon_sym_PLUS_PLUS] = ACTIONS(1160), + [anon_sym_sizeof] = ACTIONS(1158), + [anon_sym___alignof__] = ACTIONS(1158), + [anon_sym___alignof] = ACTIONS(1158), + [anon_sym__alignof] = ACTIONS(1158), + [anon_sym_alignof] = ACTIONS(1158), + [anon_sym__Alignof] = ACTIONS(1158), + [anon_sym_offsetof] = ACTIONS(1158), + [anon_sym__Generic] = ACTIONS(1158), + [anon_sym_asm] = ACTIONS(1158), + [anon_sym___asm__] = ACTIONS(1158), + [anon_sym___asm] = ACTIONS(1158), + [sym_number_literal] = ACTIONS(1160), + [anon_sym_L_SQUOTE] = ACTIONS(1160), + [anon_sym_u_SQUOTE] = ACTIONS(1160), + [anon_sym_U_SQUOTE] = ACTIONS(1160), + [anon_sym_u8_SQUOTE] = ACTIONS(1160), + [anon_sym_SQUOTE] = ACTIONS(1160), + [anon_sym_L_DQUOTE] = ACTIONS(1160), + [anon_sym_u_DQUOTE] = ACTIONS(1160), + [anon_sym_U_DQUOTE] = ACTIONS(1160), + [anon_sym_u8_DQUOTE] = ACTIONS(1160), + [anon_sym_DQUOTE] = ACTIONS(1160), + [sym_true] = ACTIONS(1158), + [sym_false] = ACTIONS(1158), + [anon_sym_NULL] = ACTIONS(1158), + [anon_sym_nullptr] = ACTIONS(1158), + [sym_comment] = ACTIONS(3), + }, + [89] = { + [sym_identifier] = ACTIONS(1162), + [aux_sym_preproc_include_token1] = ACTIONS(1162), + [aux_sym_preproc_def_token1] = ACTIONS(1162), + [aux_sym_preproc_if_token1] = ACTIONS(1162), + [aux_sym_preproc_if_token2] = ACTIONS(1162), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1162), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1162), + [aux_sym_preproc_else_token1] = ACTIONS(1162), + [aux_sym_preproc_elif_token1] = ACTIONS(1162), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1162), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1162), + [sym_preproc_directive] = ACTIONS(1162), + [anon_sym_LPAREN2] = ACTIONS(1164), + [anon_sym_BANG] = ACTIONS(1164), + [anon_sym_TILDE] = ACTIONS(1164), + [anon_sym_DASH] = ACTIONS(1162), + [anon_sym_PLUS] = ACTIONS(1162), + [anon_sym_STAR] = ACTIONS(1164), + [anon_sym_AMP] = ACTIONS(1164), + [anon_sym_SEMI] = ACTIONS(1164), + [anon_sym___extension__] = ACTIONS(1162), + [anon_sym_typedef] = ACTIONS(1162), + [anon_sym_extern] = ACTIONS(1162), + [anon_sym___attribute__] = ACTIONS(1162), + [anon_sym___attribute] = ACTIONS(1162), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1164), + [anon_sym___declspec] = ACTIONS(1162), + [anon_sym___cdecl] = ACTIONS(1162), + [anon_sym___clrcall] = ACTIONS(1162), + [anon_sym___stdcall] = ACTIONS(1162), + [anon_sym___fastcall] = ACTIONS(1162), + [anon_sym___thiscall] = ACTIONS(1162), + [anon_sym___vectorcall] = ACTIONS(1162), + [anon_sym_LBRACE] = ACTIONS(1164), + [anon_sym_signed] = ACTIONS(1162), + [anon_sym_unsigned] = ACTIONS(1162), + [anon_sym_long] = ACTIONS(1162), + [anon_sym_short] = ACTIONS(1162), + [anon_sym_static] = ACTIONS(1162), + [anon_sym_auto] = ACTIONS(1162), + [anon_sym_register] = ACTIONS(1162), + [anon_sym_inline] = ACTIONS(1162), + [anon_sym___inline] = ACTIONS(1162), + [anon_sym___inline__] = ACTIONS(1162), + [anon_sym___forceinline] = ACTIONS(1162), + [anon_sym_thread_local] = ACTIONS(1162), + [anon_sym___thread] = ACTIONS(1162), + [anon_sym_const] = ACTIONS(1162), + [anon_sym_constexpr] = ACTIONS(1162), + [anon_sym_volatile] = ACTIONS(1162), + [anon_sym_restrict] = ACTIONS(1162), + [anon_sym___restrict__] = ACTIONS(1162), + [anon_sym__Atomic] = ACTIONS(1162), + [anon_sym__Noreturn] = ACTIONS(1162), + [anon_sym_noreturn] = ACTIONS(1162), + [anon_sym__Nonnull] = ACTIONS(1162), + [anon_sym_alignas] = ACTIONS(1162), + [anon_sym__Alignas] = ACTIONS(1162), + [sym_primitive_type] = ACTIONS(1162), + [anon_sym_enum] = ACTIONS(1162), + [anon_sym_struct] = ACTIONS(1162), + [anon_sym_union] = ACTIONS(1162), + [anon_sym_if] = ACTIONS(1162), + [anon_sym_else] = ACTIONS(1162), + [anon_sym_switch] = ACTIONS(1162), + [anon_sym_case] = ACTIONS(1162), + [anon_sym_default] = ACTIONS(1162), + [anon_sym_while] = ACTIONS(1162), + [anon_sym_do] = ACTIONS(1162), + [anon_sym_for] = ACTIONS(1162), + [anon_sym_return] = ACTIONS(1162), + [anon_sym_break] = ACTIONS(1162), + [anon_sym_continue] = ACTIONS(1162), + [anon_sym_goto] = ACTIONS(1162), + [anon_sym___try] = ACTIONS(1162), + [anon_sym___leave] = ACTIONS(1162), + [anon_sym_DASH_DASH] = ACTIONS(1164), + [anon_sym_PLUS_PLUS] = ACTIONS(1164), + [anon_sym_sizeof] = ACTIONS(1162), + [anon_sym___alignof__] = ACTIONS(1162), + [anon_sym___alignof] = ACTIONS(1162), + [anon_sym__alignof] = ACTIONS(1162), + [anon_sym_alignof] = ACTIONS(1162), + [anon_sym__Alignof] = ACTIONS(1162), + [anon_sym_offsetof] = ACTIONS(1162), + [anon_sym__Generic] = ACTIONS(1162), + [anon_sym_asm] = ACTIONS(1162), + [anon_sym___asm__] = ACTIONS(1162), + [anon_sym___asm] = ACTIONS(1162), + [sym_number_literal] = ACTIONS(1164), + [anon_sym_L_SQUOTE] = ACTIONS(1164), + [anon_sym_u_SQUOTE] = ACTIONS(1164), + [anon_sym_U_SQUOTE] = ACTIONS(1164), + [anon_sym_u8_SQUOTE] = ACTIONS(1164), + [anon_sym_SQUOTE] = ACTIONS(1164), + [anon_sym_L_DQUOTE] = ACTIONS(1164), + [anon_sym_u_DQUOTE] = ACTIONS(1164), + [anon_sym_U_DQUOTE] = ACTIONS(1164), + [anon_sym_u8_DQUOTE] = ACTIONS(1164), + [anon_sym_DQUOTE] = ACTIONS(1164), + [sym_true] = ACTIONS(1162), + [sym_false] = ACTIONS(1162), + [anon_sym_NULL] = ACTIONS(1162), + [anon_sym_nullptr] = ACTIONS(1162), + [sym_comment] = ACTIONS(3), + }, + [90] = { + [sym_identifier] = ACTIONS(1166), + [aux_sym_preproc_include_token1] = ACTIONS(1166), + [aux_sym_preproc_def_token1] = ACTIONS(1166), + [aux_sym_preproc_if_token1] = ACTIONS(1166), + [aux_sym_preproc_if_token2] = ACTIONS(1166), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1166), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1166), + [aux_sym_preproc_else_token1] = ACTIONS(1166), + [aux_sym_preproc_elif_token1] = ACTIONS(1166), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1166), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1166), + [sym_preproc_directive] = ACTIONS(1166), + [anon_sym_LPAREN2] = ACTIONS(1168), + [anon_sym_BANG] = ACTIONS(1168), + [anon_sym_TILDE] = ACTIONS(1168), + [anon_sym_DASH] = ACTIONS(1166), + [anon_sym_PLUS] = ACTIONS(1166), + [anon_sym_STAR] = ACTIONS(1168), + [anon_sym_AMP] = ACTIONS(1168), + [anon_sym_SEMI] = ACTIONS(1168), + [anon_sym___extension__] = ACTIONS(1166), + [anon_sym_typedef] = ACTIONS(1166), + [anon_sym_extern] = ACTIONS(1166), + [anon_sym___attribute__] = ACTIONS(1166), + [anon_sym___attribute] = ACTIONS(1166), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1168), + [anon_sym___declspec] = ACTIONS(1166), + [anon_sym___cdecl] = ACTIONS(1166), + [anon_sym___clrcall] = ACTIONS(1166), + [anon_sym___stdcall] = ACTIONS(1166), + [anon_sym___fastcall] = ACTIONS(1166), + [anon_sym___thiscall] = ACTIONS(1166), + [anon_sym___vectorcall] = ACTIONS(1166), + [anon_sym_LBRACE] = ACTIONS(1168), + [anon_sym_signed] = ACTIONS(1166), + [anon_sym_unsigned] = ACTIONS(1166), + [anon_sym_long] = ACTIONS(1166), + [anon_sym_short] = ACTIONS(1166), + [anon_sym_static] = ACTIONS(1166), + [anon_sym_auto] = ACTIONS(1166), + [anon_sym_register] = ACTIONS(1166), + [anon_sym_inline] = ACTIONS(1166), + [anon_sym___inline] = ACTIONS(1166), + [anon_sym___inline__] = ACTIONS(1166), + [anon_sym___forceinline] = ACTIONS(1166), + [anon_sym_thread_local] = ACTIONS(1166), + [anon_sym___thread] = ACTIONS(1166), + [anon_sym_const] = ACTIONS(1166), + [anon_sym_constexpr] = ACTIONS(1166), + [anon_sym_volatile] = ACTIONS(1166), + [anon_sym_restrict] = ACTIONS(1166), + [anon_sym___restrict__] = ACTIONS(1166), + [anon_sym__Atomic] = ACTIONS(1166), + [anon_sym__Noreturn] = ACTIONS(1166), + [anon_sym_noreturn] = ACTIONS(1166), + [anon_sym__Nonnull] = ACTIONS(1166), + [anon_sym_alignas] = ACTIONS(1166), + [anon_sym__Alignas] = ACTIONS(1166), + [sym_primitive_type] = ACTIONS(1166), + [anon_sym_enum] = ACTIONS(1166), + [anon_sym_struct] = ACTIONS(1166), + [anon_sym_union] = ACTIONS(1166), + [anon_sym_if] = ACTIONS(1166), + [anon_sym_else] = ACTIONS(1166), + [anon_sym_switch] = ACTIONS(1166), + [anon_sym_case] = ACTIONS(1166), + [anon_sym_default] = ACTIONS(1166), + [anon_sym_while] = ACTIONS(1166), + [anon_sym_do] = ACTIONS(1166), + [anon_sym_for] = ACTIONS(1166), + [anon_sym_return] = ACTIONS(1166), + [anon_sym_break] = ACTIONS(1166), + [anon_sym_continue] = ACTIONS(1166), + [anon_sym_goto] = ACTIONS(1166), + [anon_sym___try] = ACTIONS(1166), + [anon_sym___leave] = ACTIONS(1166), + [anon_sym_DASH_DASH] = ACTIONS(1168), + [anon_sym_PLUS_PLUS] = ACTIONS(1168), + [anon_sym_sizeof] = ACTIONS(1166), + [anon_sym___alignof__] = ACTIONS(1166), + [anon_sym___alignof] = ACTIONS(1166), + [anon_sym__alignof] = ACTIONS(1166), + [anon_sym_alignof] = ACTIONS(1166), + [anon_sym__Alignof] = ACTIONS(1166), + [anon_sym_offsetof] = ACTIONS(1166), + [anon_sym__Generic] = ACTIONS(1166), + [anon_sym_asm] = ACTIONS(1166), + [anon_sym___asm__] = ACTIONS(1166), + [anon_sym___asm] = ACTIONS(1166), + [sym_number_literal] = ACTIONS(1168), + [anon_sym_L_SQUOTE] = ACTIONS(1168), + [anon_sym_u_SQUOTE] = ACTIONS(1168), + [anon_sym_U_SQUOTE] = ACTIONS(1168), + [anon_sym_u8_SQUOTE] = ACTIONS(1168), + [anon_sym_SQUOTE] = ACTIONS(1168), + [anon_sym_L_DQUOTE] = ACTIONS(1168), + [anon_sym_u_DQUOTE] = ACTIONS(1168), + [anon_sym_U_DQUOTE] = ACTIONS(1168), + [anon_sym_u8_DQUOTE] = ACTIONS(1168), + [anon_sym_DQUOTE] = ACTIONS(1168), + [sym_true] = ACTIONS(1166), + [sym_false] = ACTIONS(1166), + [anon_sym_NULL] = ACTIONS(1166), + [anon_sym_nullptr] = ACTIONS(1166), + [sym_comment] = ACTIONS(3), + }, + [91] = { + [sym_identifier] = ACTIONS(1170), + [aux_sym_preproc_include_token1] = ACTIONS(1170), + [aux_sym_preproc_def_token1] = ACTIONS(1170), + [aux_sym_preproc_if_token1] = ACTIONS(1170), + [aux_sym_preproc_if_token2] = ACTIONS(1170), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1170), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1170), + [aux_sym_preproc_else_token1] = ACTIONS(1170), + [aux_sym_preproc_elif_token1] = ACTIONS(1170), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1170), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1170), + [sym_preproc_directive] = ACTIONS(1170), + [anon_sym_LPAREN2] = ACTIONS(1172), + [anon_sym_BANG] = ACTIONS(1172), + [anon_sym_TILDE] = ACTIONS(1172), + [anon_sym_DASH] = ACTIONS(1170), + [anon_sym_PLUS] = ACTIONS(1170), + [anon_sym_STAR] = ACTIONS(1172), + [anon_sym_AMP] = ACTIONS(1172), + [anon_sym_SEMI] = ACTIONS(1172), + [anon_sym___extension__] = ACTIONS(1170), + [anon_sym_typedef] = ACTIONS(1170), + [anon_sym_extern] = ACTIONS(1170), + [anon_sym___attribute__] = ACTIONS(1170), + [anon_sym___attribute] = ACTIONS(1170), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1172), + [anon_sym___declspec] = ACTIONS(1170), + [anon_sym___cdecl] = ACTIONS(1170), + [anon_sym___clrcall] = ACTIONS(1170), + [anon_sym___stdcall] = ACTIONS(1170), + [anon_sym___fastcall] = ACTIONS(1170), + [anon_sym___thiscall] = ACTIONS(1170), + [anon_sym___vectorcall] = ACTIONS(1170), + [anon_sym_LBRACE] = ACTIONS(1172), + [anon_sym_signed] = ACTIONS(1170), + [anon_sym_unsigned] = ACTIONS(1170), + [anon_sym_long] = ACTIONS(1170), + [anon_sym_short] = ACTIONS(1170), + [anon_sym_static] = ACTIONS(1170), + [anon_sym_auto] = ACTIONS(1170), + [anon_sym_register] = ACTIONS(1170), + [anon_sym_inline] = ACTIONS(1170), + [anon_sym___inline] = ACTIONS(1170), + [anon_sym___inline__] = ACTIONS(1170), + [anon_sym___forceinline] = ACTIONS(1170), + [anon_sym_thread_local] = ACTIONS(1170), + [anon_sym___thread] = ACTIONS(1170), + [anon_sym_const] = ACTIONS(1170), + [anon_sym_constexpr] = ACTIONS(1170), + [anon_sym_volatile] = ACTIONS(1170), + [anon_sym_restrict] = ACTIONS(1170), + [anon_sym___restrict__] = ACTIONS(1170), + [anon_sym__Atomic] = ACTIONS(1170), + [anon_sym__Noreturn] = ACTIONS(1170), + [anon_sym_noreturn] = ACTIONS(1170), + [anon_sym__Nonnull] = ACTIONS(1170), + [anon_sym_alignas] = ACTIONS(1170), + [anon_sym__Alignas] = ACTIONS(1170), + [sym_primitive_type] = ACTIONS(1170), + [anon_sym_enum] = ACTIONS(1170), + [anon_sym_struct] = ACTIONS(1170), + [anon_sym_union] = ACTIONS(1170), + [anon_sym_if] = ACTIONS(1170), + [anon_sym_else] = ACTIONS(1170), + [anon_sym_switch] = ACTIONS(1170), + [anon_sym_case] = ACTIONS(1170), + [anon_sym_default] = ACTIONS(1170), + [anon_sym_while] = ACTIONS(1170), + [anon_sym_do] = ACTIONS(1170), + [anon_sym_for] = ACTIONS(1170), + [anon_sym_return] = ACTIONS(1170), + [anon_sym_break] = ACTIONS(1170), + [anon_sym_continue] = ACTIONS(1170), + [anon_sym_goto] = ACTIONS(1170), + [anon_sym___try] = ACTIONS(1170), + [anon_sym___leave] = ACTIONS(1170), + [anon_sym_DASH_DASH] = ACTIONS(1172), + [anon_sym_PLUS_PLUS] = ACTIONS(1172), + [anon_sym_sizeof] = ACTIONS(1170), + [anon_sym___alignof__] = ACTIONS(1170), + [anon_sym___alignof] = ACTIONS(1170), + [anon_sym__alignof] = ACTIONS(1170), + [anon_sym_alignof] = ACTIONS(1170), + [anon_sym__Alignof] = ACTIONS(1170), + [anon_sym_offsetof] = ACTIONS(1170), + [anon_sym__Generic] = ACTIONS(1170), + [anon_sym_asm] = ACTIONS(1170), + [anon_sym___asm__] = ACTIONS(1170), + [anon_sym___asm] = ACTIONS(1170), + [sym_number_literal] = ACTIONS(1172), + [anon_sym_L_SQUOTE] = ACTIONS(1172), + [anon_sym_u_SQUOTE] = ACTIONS(1172), + [anon_sym_U_SQUOTE] = ACTIONS(1172), + [anon_sym_u8_SQUOTE] = ACTIONS(1172), + [anon_sym_SQUOTE] = ACTIONS(1172), + [anon_sym_L_DQUOTE] = ACTIONS(1172), + [anon_sym_u_DQUOTE] = ACTIONS(1172), + [anon_sym_U_DQUOTE] = ACTIONS(1172), + [anon_sym_u8_DQUOTE] = ACTIONS(1172), + [anon_sym_DQUOTE] = ACTIONS(1172), + [sym_true] = ACTIONS(1170), + [sym_false] = ACTIONS(1170), + [anon_sym_NULL] = ACTIONS(1170), + [anon_sym_nullptr] = ACTIONS(1170), + [sym_comment] = ACTIONS(3), + }, + [92] = { + [sym_identifier] = ACTIONS(1170), + [aux_sym_preproc_include_token1] = ACTIONS(1170), + [aux_sym_preproc_def_token1] = ACTIONS(1170), + [aux_sym_preproc_if_token1] = ACTIONS(1170), + [aux_sym_preproc_if_token2] = ACTIONS(1170), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1170), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1170), + [aux_sym_preproc_else_token1] = ACTIONS(1170), + [aux_sym_preproc_elif_token1] = ACTIONS(1170), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1170), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1170), + [sym_preproc_directive] = ACTIONS(1170), + [anon_sym_LPAREN2] = ACTIONS(1172), + [anon_sym_BANG] = ACTIONS(1172), + [anon_sym_TILDE] = ACTIONS(1172), + [anon_sym_DASH] = ACTIONS(1170), + [anon_sym_PLUS] = ACTIONS(1170), + [anon_sym_STAR] = ACTIONS(1172), + [anon_sym_AMP] = ACTIONS(1172), + [anon_sym_SEMI] = ACTIONS(1172), + [anon_sym___extension__] = ACTIONS(1170), + [anon_sym_typedef] = ACTIONS(1170), + [anon_sym_extern] = ACTIONS(1170), + [anon_sym___attribute__] = ACTIONS(1170), + [anon_sym___attribute] = ACTIONS(1170), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1172), + [anon_sym___declspec] = ACTIONS(1170), + [anon_sym___cdecl] = ACTIONS(1170), + [anon_sym___clrcall] = ACTIONS(1170), + [anon_sym___stdcall] = ACTIONS(1170), + [anon_sym___fastcall] = ACTIONS(1170), + [anon_sym___thiscall] = ACTIONS(1170), + [anon_sym___vectorcall] = ACTIONS(1170), + [anon_sym_LBRACE] = ACTIONS(1172), + [anon_sym_signed] = ACTIONS(1170), + [anon_sym_unsigned] = ACTIONS(1170), + [anon_sym_long] = ACTIONS(1170), + [anon_sym_short] = ACTIONS(1170), + [anon_sym_static] = ACTIONS(1170), + [anon_sym_auto] = ACTIONS(1170), + [anon_sym_register] = ACTIONS(1170), + [anon_sym_inline] = ACTIONS(1170), + [anon_sym___inline] = ACTIONS(1170), + [anon_sym___inline__] = ACTIONS(1170), + [anon_sym___forceinline] = ACTIONS(1170), + [anon_sym_thread_local] = ACTIONS(1170), + [anon_sym___thread] = ACTIONS(1170), + [anon_sym_const] = ACTIONS(1170), + [anon_sym_constexpr] = ACTIONS(1170), + [anon_sym_volatile] = ACTIONS(1170), + [anon_sym_restrict] = ACTIONS(1170), + [anon_sym___restrict__] = ACTIONS(1170), + [anon_sym__Atomic] = ACTIONS(1170), + [anon_sym__Noreturn] = ACTIONS(1170), + [anon_sym_noreturn] = ACTIONS(1170), + [anon_sym__Nonnull] = ACTIONS(1170), + [anon_sym_alignas] = ACTIONS(1170), + [anon_sym__Alignas] = ACTIONS(1170), + [sym_primitive_type] = ACTIONS(1170), + [anon_sym_enum] = ACTIONS(1170), + [anon_sym_struct] = ACTIONS(1170), + [anon_sym_union] = ACTIONS(1170), + [anon_sym_if] = ACTIONS(1170), + [anon_sym_else] = ACTIONS(1170), + [anon_sym_switch] = ACTIONS(1170), + [anon_sym_case] = ACTIONS(1170), + [anon_sym_default] = ACTIONS(1170), + [anon_sym_while] = ACTIONS(1170), + [anon_sym_do] = ACTIONS(1170), + [anon_sym_for] = ACTIONS(1170), + [anon_sym_return] = ACTIONS(1170), + [anon_sym_break] = ACTIONS(1170), + [anon_sym_continue] = ACTIONS(1170), + [anon_sym_goto] = ACTIONS(1170), + [anon_sym___try] = ACTIONS(1170), + [anon_sym___leave] = ACTIONS(1170), + [anon_sym_DASH_DASH] = ACTIONS(1172), + [anon_sym_PLUS_PLUS] = ACTIONS(1172), + [anon_sym_sizeof] = ACTIONS(1170), + [anon_sym___alignof__] = ACTIONS(1170), + [anon_sym___alignof] = ACTIONS(1170), + [anon_sym__alignof] = ACTIONS(1170), + [anon_sym_alignof] = ACTIONS(1170), + [anon_sym__Alignof] = ACTIONS(1170), + [anon_sym_offsetof] = ACTIONS(1170), + [anon_sym__Generic] = ACTIONS(1170), + [anon_sym_asm] = ACTIONS(1170), + [anon_sym___asm__] = ACTIONS(1170), + [anon_sym___asm] = ACTIONS(1170), + [sym_number_literal] = ACTIONS(1172), + [anon_sym_L_SQUOTE] = ACTIONS(1172), + [anon_sym_u_SQUOTE] = ACTIONS(1172), + [anon_sym_U_SQUOTE] = ACTIONS(1172), + [anon_sym_u8_SQUOTE] = ACTIONS(1172), + [anon_sym_SQUOTE] = ACTIONS(1172), + [anon_sym_L_DQUOTE] = ACTIONS(1172), + [anon_sym_u_DQUOTE] = ACTIONS(1172), + [anon_sym_U_DQUOTE] = ACTIONS(1172), + [anon_sym_u8_DQUOTE] = ACTIONS(1172), + [anon_sym_DQUOTE] = ACTIONS(1172), + [sym_true] = ACTIONS(1170), + [sym_false] = ACTIONS(1170), + [anon_sym_NULL] = ACTIONS(1170), + [anon_sym_nullptr] = ACTIONS(1170), + [sym_comment] = ACTIONS(3), + }, + [93] = { + [sym_identifier] = ACTIONS(1174), + [aux_sym_preproc_include_token1] = ACTIONS(1174), + [aux_sym_preproc_def_token1] = ACTIONS(1174), + [aux_sym_preproc_if_token1] = ACTIONS(1174), + [aux_sym_preproc_if_token2] = ACTIONS(1174), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1174), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1174), + [aux_sym_preproc_else_token1] = ACTIONS(1174), + [aux_sym_preproc_elif_token1] = ACTIONS(1174), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1174), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1174), + [sym_preproc_directive] = ACTIONS(1174), + [anon_sym_LPAREN2] = ACTIONS(1176), + [anon_sym_BANG] = ACTIONS(1176), + [anon_sym_TILDE] = ACTIONS(1176), + [anon_sym_DASH] = ACTIONS(1174), + [anon_sym_PLUS] = ACTIONS(1174), + [anon_sym_STAR] = ACTIONS(1176), + [anon_sym_AMP] = ACTIONS(1176), + [anon_sym_SEMI] = ACTIONS(1176), + [anon_sym___extension__] = ACTIONS(1174), + [anon_sym_typedef] = ACTIONS(1174), + [anon_sym_extern] = ACTIONS(1174), + [anon_sym___attribute__] = ACTIONS(1174), + [anon_sym___attribute] = ACTIONS(1174), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1176), + [anon_sym___declspec] = ACTIONS(1174), + [anon_sym___cdecl] = ACTIONS(1174), + [anon_sym___clrcall] = ACTIONS(1174), + [anon_sym___stdcall] = ACTIONS(1174), + [anon_sym___fastcall] = ACTIONS(1174), + [anon_sym___thiscall] = ACTIONS(1174), + [anon_sym___vectorcall] = ACTIONS(1174), + [anon_sym_LBRACE] = ACTIONS(1176), + [anon_sym_signed] = ACTIONS(1174), + [anon_sym_unsigned] = ACTIONS(1174), + [anon_sym_long] = ACTIONS(1174), + [anon_sym_short] = ACTIONS(1174), + [anon_sym_static] = ACTIONS(1174), + [anon_sym_auto] = ACTIONS(1174), + [anon_sym_register] = ACTIONS(1174), + [anon_sym_inline] = ACTIONS(1174), + [anon_sym___inline] = ACTIONS(1174), + [anon_sym___inline__] = ACTIONS(1174), + [anon_sym___forceinline] = ACTIONS(1174), + [anon_sym_thread_local] = ACTIONS(1174), + [anon_sym___thread] = ACTIONS(1174), + [anon_sym_const] = ACTIONS(1174), + [anon_sym_constexpr] = ACTIONS(1174), + [anon_sym_volatile] = ACTIONS(1174), + [anon_sym_restrict] = ACTIONS(1174), + [anon_sym___restrict__] = ACTIONS(1174), + [anon_sym__Atomic] = ACTIONS(1174), + [anon_sym__Noreturn] = ACTIONS(1174), + [anon_sym_noreturn] = ACTIONS(1174), + [anon_sym__Nonnull] = ACTIONS(1174), + [anon_sym_alignas] = ACTIONS(1174), + [anon_sym__Alignas] = ACTIONS(1174), + [sym_primitive_type] = ACTIONS(1174), + [anon_sym_enum] = ACTIONS(1174), + [anon_sym_struct] = ACTIONS(1174), + [anon_sym_union] = ACTIONS(1174), + [anon_sym_if] = ACTIONS(1174), + [anon_sym_else] = ACTIONS(1174), + [anon_sym_switch] = ACTIONS(1174), + [anon_sym_case] = ACTIONS(1174), + [anon_sym_default] = ACTIONS(1174), + [anon_sym_while] = ACTIONS(1174), + [anon_sym_do] = ACTIONS(1174), + [anon_sym_for] = ACTIONS(1174), + [anon_sym_return] = ACTIONS(1174), + [anon_sym_break] = ACTIONS(1174), + [anon_sym_continue] = ACTIONS(1174), + [anon_sym_goto] = ACTIONS(1174), + [anon_sym___try] = ACTIONS(1174), + [anon_sym___leave] = ACTIONS(1174), + [anon_sym_DASH_DASH] = ACTIONS(1176), + [anon_sym_PLUS_PLUS] = ACTIONS(1176), + [anon_sym_sizeof] = ACTIONS(1174), + [anon_sym___alignof__] = ACTIONS(1174), + [anon_sym___alignof] = ACTIONS(1174), + [anon_sym__alignof] = ACTIONS(1174), + [anon_sym_alignof] = ACTIONS(1174), + [anon_sym__Alignof] = ACTIONS(1174), + [anon_sym_offsetof] = ACTIONS(1174), + [anon_sym__Generic] = ACTIONS(1174), + [anon_sym_asm] = ACTIONS(1174), + [anon_sym___asm__] = ACTIONS(1174), + [anon_sym___asm] = ACTIONS(1174), + [sym_number_literal] = ACTIONS(1176), + [anon_sym_L_SQUOTE] = ACTIONS(1176), + [anon_sym_u_SQUOTE] = ACTIONS(1176), + [anon_sym_U_SQUOTE] = ACTIONS(1176), + [anon_sym_u8_SQUOTE] = ACTIONS(1176), + [anon_sym_SQUOTE] = ACTIONS(1176), + [anon_sym_L_DQUOTE] = ACTIONS(1176), + [anon_sym_u_DQUOTE] = ACTIONS(1176), + [anon_sym_U_DQUOTE] = ACTIONS(1176), + [anon_sym_u8_DQUOTE] = ACTIONS(1176), + [anon_sym_DQUOTE] = ACTIONS(1176), + [sym_true] = ACTIONS(1174), + [sym_false] = ACTIONS(1174), + [anon_sym_NULL] = ACTIONS(1174), + [anon_sym_nullptr] = ACTIONS(1174), + [sym_comment] = ACTIONS(3), + }, + [94] = { + [sym_identifier] = ACTIONS(1174), + [aux_sym_preproc_include_token1] = ACTIONS(1174), + [aux_sym_preproc_def_token1] = ACTIONS(1174), + [aux_sym_preproc_if_token1] = ACTIONS(1174), + [aux_sym_preproc_if_token2] = ACTIONS(1174), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1174), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1174), + [aux_sym_preproc_else_token1] = ACTIONS(1174), + [aux_sym_preproc_elif_token1] = ACTIONS(1174), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1174), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1174), + [sym_preproc_directive] = ACTIONS(1174), + [anon_sym_LPAREN2] = ACTIONS(1176), + [anon_sym_BANG] = ACTIONS(1176), + [anon_sym_TILDE] = ACTIONS(1176), + [anon_sym_DASH] = ACTIONS(1174), + [anon_sym_PLUS] = ACTIONS(1174), + [anon_sym_STAR] = ACTIONS(1176), + [anon_sym_AMP] = ACTIONS(1176), + [anon_sym_SEMI] = ACTIONS(1176), + [anon_sym___extension__] = ACTIONS(1174), + [anon_sym_typedef] = ACTIONS(1174), + [anon_sym_extern] = ACTIONS(1174), + [anon_sym___attribute__] = ACTIONS(1174), + [anon_sym___attribute] = ACTIONS(1174), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1176), + [anon_sym___declspec] = ACTIONS(1174), + [anon_sym___cdecl] = ACTIONS(1174), + [anon_sym___clrcall] = ACTIONS(1174), + [anon_sym___stdcall] = ACTIONS(1174), + [anon_sym___fastcall] = ACTIONS(1174), + [anon_sym___thiscall] = ACTIONS(1174), + [anon_sym___vectorcall] = ACTIONS(1174), + [anon_sym_LBRACE] = ACTIONS(1176), + [anon_sym_signed] = ACTIONS(1174), + [anon_sym_unsigned] = ACTIONS(1174), + [anon_sym_long] = ACTIONS(1174), + [anon_sym_short] = ACTIONS(1174), + [anon_sym_static] = ACTIONS(1174), + [anon_sym_auto] = ACTIONS(1174), + [anon_sym_register] = ACTIONS(1174), + [anon_sym_inline] = ACTIONS(1174), + [anon_sym___inline] = ACTIONS(1174), + [anon_sym___inline__] = ACTIONS(1174), + [anon_sym___forceinline] = ACTIONS(1174), + [anon_sym_thread_local] = ACTIONS(1174), + [anon_sym___thread] = ACTIONS(1174), + [anon_sym_const] = ACTIONS(1174), + [anon_sym_constexpr] = ACTIONS(1174), + [anon_sym_volatile] = ACTIONS(1174), + [anon_sym_restrict] = ACTIONS(1174), + [anon_sym___restrict__] = ACTIONS(1174), + [anon_sym__Atomic] = ACTIONS(1174), + [anon_sym__Noreturn] = ACTIONS(1174), + [anon_sym_noreturn] = ACTIONS(1174), + [anon_sym__Nonnull] = ACTIONS(1174), + [anon_sym_alignas] = ACTIONS(1174), + [anon_sym__Alignas] = ACTIONS(1174), + [sym_primitive_type] = ACTIONS(1174), + [anon_sym_enum] = ACTIONS(1174), + [anon_sym_struct] = ACTIONS(1174), + [anon_sym_union] = ACTIONS(1174), + [anon_sym_if] = ACTIONS(1174), + [anon_sym_else] = ACTIONS(1174), + [anon_sym_switch] = ACTIONS(1174), + [anon_sym_case] = ACTIONS(1174), + [anon_sym_default] = ACTIONS(1174), + [anon_sym_while] = ACTIONS(1174), + [anon_sym_do] = ACTIONS(1174), + [anon_sym_for] = ACTIONS(1174), + [anon_sym_return] = ACTIONS(1174), + [anon_sym_break] = ACTIONS(1174), + [anon_sym_continue] = ACTIONS(1174), + [anon_sym_goto] = ACTIONS(1174), + [anon_sym___try] = ACTIONS(1174), + [anon_sym___leave] = ACTIONS(1174), + [anon_sym_DASH_DASH] = ACTIONS(1176), + [anon_sym_PLUS_PLUS] = ACTIONS(1176), + [anon_sym_sizeof] = ACTIONS(1174), + [anon_sym___alignof__] = ACTIONS(1174), + [anon_sym___alignof] = ACTIONS(1174), + [anon_sym__alignof] = ACTIONS(1174), + [anon_sym_alignof] = ACTIONS(1174), + [anon_sym__Alignof] = ACTIONS(1174), + [anon_sym_offsetof] = ACTIONS(1174), + [anon_sym__Generic] = ACTIONS(1174), + [anon_sym_asm] = ACTIONS(1174), + [anon_sym___asm__] = ACTIONS(1174), + [anon_sym___asm] = ACTIONS(1174), + [sym_number_literal] = ACTIONS(1176), + [anon_sym_L_SQUOTE] = ACTIONS(1176), + [anon_sym_u_SQUOTE] = ACTIONS(1176), + [anon_sym_U_SQUOTE] = ACTIONS(1176), + [anon_sym_u8_SQUOTE] = ACTIONS(1176), + [anon_sym_SQUOTE] = ACTIONS(1176), + [anon_sym_L_DQUOTE] = ACTIONS(1176), + [anon_sym_u_DQUOTE] = ACTIONS(1176), + [anon_sym_U_DQUOTE] = ACTIONS(1176), + [anon_sym_u8_DQUOTE] = ACTIONS(1176), + [anon_sym_DQUOTE] = ACTIONS(1176), + [sym_true] = ACTIONS(1174), + [sym_false] = ACTIONS(1174), + [anon_sym_NULL] = ACTIONS(1174), + [anon_sym_nullptr] = ACTIONS(1174), + [sym_comment] = ACTIONS(3), + }, + [95] = { + [sym_identifier] = ACTIONS(1178), + [aux_sym_preproc_include_token1] = ACTIONS(1178), + [aux_sym_preproc_def_token1] = ACTIONS(1178), + [aux_sym_preproc_if_token1] = ACTIONS(1178), + [aux_sym_preproc_if_token2] = ACTIONS(1178), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1178), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1178), + [aux_sym_preproc_else_token1] = ACTIONS(1178), + [aux_sym_preproc_elif_token1] = ACTIONS(1178), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1178), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1178), + [sym_preproc_directive] = ACTIONS(1178), + [anon_sym_LPAREN2] = ACTIONS(1180), + [anon_sym_BANG] = ACTIONS(1180), + [anon_sym_TILDE] = ACTIONS(1180), + [anon_sym_DASH] = ACTIONS(1178), + [anon_sym_PLUS] = ACTIONS(1178), + [anon_sym_STAR] = ACTIONS(1180), + [anon_sym_AMP] = ACTIONS(1180), + [anon_sym_SEMI] = ACTIONS(1180), + [anon_sym___extension__] = ACTIONS(1178), + [anon_sym_typedef] = ACTIONS(1178), + [anon_sym_extern] = ACTIONS(1178), + [anon_sym___attribute__] = ACTIONS(1178), + [anon_sym___attribute] = ACTIONS(1178), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1180), + [anon_sym___declspec] = ACTIONS(1178), + [anon_sym___cdecl] = ACTIONS(1178), + [anon_sym___clrcall] = ACTIONS(1178), + [anon_sym___stdcall] = ACTIONS(1178), + [anon_sym___fastcall] = ACTIONS(1178), + [anon_sym___thiscall] = ACTIONS(1178), + [anon_sym___vectorcall] = ACTIONS(1178), + [anon_sym_LBRACE] = ACTIONS(1180), + [anon_sym_signed] = ACTIONS(1178), + [anon_sym_unsigned] = ACTIONS(1178), + [anon_sym_long] = ACTIONS(1178), + [anon_sym_short] = ACTIONS(1178), + [anon_sym_static] = ACTIONS(1178), + [anon_sym_auto] = ACTIONS(1178), + [anon_sym_register] = ACTIONS(1178), + [anon_sym_inline] = ACTIONS(1178), + [anon_sym___inline] = ACTIONS(1178), + [anon_sym___inline__] = ACTIONS(1178), + [anon_sym___forceinline] = ACTIONS(1178), + [anon_sym_thread_local] = ACTIONS(1178), + [anon_sym___thread] = ACTIONS(1178), + [anon_sym_const] = ACTIONS(1178), + [anon_sym_constexpr] = ACTIONS(1178), + [anon_sym_volatile] = ACTIONS(1178), + [anon_sym_restrict] = ACTIONS(1178), + [anon_sym___restrict__] = ACTIONS(1178), + [anon_sym__Atomic] = ACTIONS(1178), + [anon_sym__Noreturn] = ACTIONS(1178), + [anon_sym_noreturn] = ACTIONS(1178), + [anon_sym__Nonnull] = ACTIONS(1178), + [anon_sym_alignas] = ACTIONS(1178), + [anon_sym__Alignas] = ACTIONS(1178), + [sym_primitive_type] = ACTIONS(1178), + [anon_sym_enum] = ACTIONS(1178), + [anon_sym_struct] = ACTIONS(1178), + [anon_sym_union] = ACTIONS(1178), + [anon_sym_if] = ACTIONS(1178), + [anon_sym_else] = ACTIONS(1178), + [anon_sym_switch] = ACTIONS(1178), + [anon_sym_case] = ACTIONS(1178), + [anon_sym_default] = ACTIONS(1178), + [anon_sym_while] = ACTIONS(1178), + [anon_sym_do] = ACTIONS(1178), + [anon_sym_for] = ACTIONS(1178), + [anon_sym_return] = ACTIONS(1178), + [anon_sym_break] = ACTIONS(1178), + [anon_sym_continue] = ACTIONS(1178), + [anon_sym_goto] = ACTIONS(1178), + [anon_sym___try] = ACTIONS(1178), + [anon_sym___leave] = ACTIONS(1178), + [anon_sym_DASH_DASH] = ACTIONS(1180), + [anon_sym_PLUS_PLUS] = ACTIONS(1180), + [anon_sym_sizeof] = ACTIONS(1178), + [anon_sym___alignof__] = ACTIONS(1178), + [anon_sym___alignof] = ACTIONS(1178), + [anon_sym__alignof] = ACTIONS(1178), + [anon_sym_alignof] = ACTIONS(1178), + [anon_sym__Alignof] = ACTIONS(1178), + [anon_sym_offsetof] = ACTIONS(1178), + [anon_sym__Generic] = ACTIONS(1178), + [anon_sym_asm] = ACTIONS(1178), + [anon_sym___asm__] = ACTIONS(1178), + [anon_sym___asm] = ACTIONS(1178), + [sym_number_literal] = ACTIONS(1180), + [anon_sym_L_SQUOTE] = ACTIONS(1180), + [anon_sym_u_SQUOTE] = ACTIONS(1180), + [anon_sym_U_SQUOTE] = ACTIONS(1180), + [anon_sym_u8_SQUOTE] = ACTIONS(1180), + [anon_sym_SQUOTE] = ACTIONS(1180), + [anon_sym_L_DQUOTE] = ACTIONS(1180), + [anon_sym_u_DQUOTE] = ACTIONS(1180), + [anon_sym_U_DQUOTE] = ACTIONS(1180), + [anon_sym_u8_DQUOTE] = ACTIONS(1180), + [anon_sym_DQUOTE] = ACTIONS(1180), + [sym_true] = ACTIONS(1178), + [sym_false] = ACTIONS(1178), + [anon_sym_NULL] = ACTIONS(1178), + [anon_sym_nullptr] = ACTIONS(1178), + [sym_comment] = ACTIONS(3), + }, + [96] = { + [sym_identifier] = ACTIONS(1182), + [aux_sym_preproc_include_token1] = ACTIONS(1182), + [aux_sym_preproc_def_token1] = ACTIONS(1182), + [aux_sym_preproc_if_token1] = ACTIONS(1182), + [aux_sym_preproc_if_token2] = ACTIONS(1182), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1182), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1182), + [aux_sym_preproc_else_token1] = ACTIONS(1182), + [aux_sym_preproc_elif_token1] = ACTIONS(1182), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1182), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1182), + [sym_preproc_directive] = ACTIONS(1182), + [anon_sym_LPAREN2] = ACTIONS(1184), + [anon_sym_BANG] = ACTIONS(1184), + [anon_sym_TILDE] = ACTIONS(1184), + [anon_sym_DASH] = ACTIONS(1182), + [anon_sym_PLUS] = ACTIONS(1182), + [anon_sym_STAR] = ACTIONS(1184), + [anon_sym_AMP] = ACTIONS(1184), + [anon_sym_SEMI] = ACTIONS(1184), + [anon_sym___extension__] = ACTIONS(1182), + [anon_sym_typedef] = ACTIONS(1182), + [anon_sym_extern] = ACTIONS(1182), + [anon_sym___attribute__] = ACTIONS(1182), + [anon_sym___attribute] = ACTIONS(1182), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1184), + [anon_sym___declspec] = ACTIONS(1182), + [anon_sym___cdecl] = ACTIONS(1182), + [anon_sym___clrcall] = ACTIONS(1182), + [anon_sym___stdcall] = ACTIONS(1182), + [anon_sym___fastcall] = ACTIONS(1182), + [anon_sym___thiscall] = ACTIONS(1182), + [anon_sym___vectorcall] = ACTIONS(1182), + [anon_sym_LBRACE] = ACTIONS(1184), + [anon_sym_signed] = ACTIONS(1182), + [anon_sym_unsigned] = ACTIONS(1182), + [anon_sym_long] = ACTIONS(1182), + [anon_sym_short] = ACTIONS(1182), + [anon_sym_static] = ACTIONS(1182), + [anon_sym_auto] = ACTIONS(1182), + [anon_sym_register] = ACTIONS(1182), + [anon_sym_inline] = ACTIONS(1182), + [anon_sym___inline] = ACTIONS(1182), + [anon_sym___inline__] = ACTIONS(1182), + [anon_sym___forceinline] = ACTIONS(1182), + [anon_sym_thread_local] = ACTIONS(1182), + [anon_sym___thread] = ACTIONS(1182), + [anon_sym_const] = ACTIONS(1182), + [anon_sym_constexpr] = ACTIONS(1182), + [anon_sym_volatile] = ACTIONS(1182), + [anon_sym_restrict] = ACTIONS(1182), + [anon_sym___restrict__] = ACTIONS(1182), + [anon_sym__Atomic] = ACTIONS(1182), + [anon_sym__Noreturn] = ACTIONS(1182), + [anon_sym_noreturn] = ACTIONS(1182), + [anon_sym__Nonnull] = ACTIONS(1182), + [anon_sym_alignas] = ACTIONS(1182), + [anon_sym__Alignas] = ACTIONS(1182), + [sym_primitive_type] = ACTIONS(1182), + [anon_sym_enum] = ACTIONS(1182), + [anon_sym_struct] = ACTIONS(1182), + [anon_sym_union] = ACTIONS(1182), + [anon_sym_if] = ACTIONS(1182), + [anon_sym_else] = ACTIONS(1182), + [anon_sym_switch] = ACTIONS(1182), + [anon_sym_case] = ACTIONS(1182), + [anon_sym_default] = ACTIONS(1182), + [anon_sym_while] = ACTIONS(1182), + [anon_sym_do] = ACTIONS(1182), + [anon_sym_for] = ACTIONS(1182), + [anon_sym_return] = ACTIONS(1182), + [anon_sym_break] = ACTIONS(1182), + [anon_sym_continue] = ACTIONS(1182), + [anon_sym_goto] = ACTIONS(1182), + [anon_sym___try] = ACTIONS(1182), + [anon_sym___leave] = ACTIONS(1182), + [anon_sym_DASH_DASH] = ACTIONS(1184), + [anon_sym_PLUS_PLUS] = ACTIONS(1184), + [anon_sym_sizeof] = ACTIONS(1182), + [anon_sym___alignof__] = ACTIONS(1182), + [anon_sym___alignof] = ACTIONS(1182), + [anon_sym__alignof] = ACTIONS(1182), + [anon_sym_alignof] = ACTIONS(1182), + [anon_sym__Alignof] = ACTIONS(1182), + [anon_sym_offsetof] = ACTIONS(1182), + [anon_sym__Generic] = ACTIONS(1182), + [anon_sym_asm] = ACTIONS(1182), + [anon_sym___asm__] = ACTIONS(1182), + [anon_sym___asm] = ACTIONS(1182), + [sym_number_literal] = ACTIONS(1184), + [anon_sym_L_SQUOTE] = ACTIONS(1184), + [anon_sym_u_SQUOTE] = ACTIONS(1184), + [anon_sym_U_SQUOTE] = ACTIONS(1184), + [anon_sym_u8_SQUOTE] = ACTIONS(1184), + [anon_sym_SQUOTE] = ACTIONS(1184), + [anon_sym_L_DQUOTE] = ACTIONS(1184), + [anon_sym_u_DQUOTE] = ACTIONS(1184), + [anon_sym_U_DQUOTE] = ACTIONS(1184), + [anon_sym_u8_DQUOTE] = ACTIONS(1184), + [anon_sym_DQUOTE] = ACTIONS(1184), + [sym_true] = ACTIONS(1182), + [sym_false] = ACTIONS(1182), + [anon_sym_NULL] = ACTIONS(1182), + [anon_sym_nullptr] = ACTIONS(1182), + [sym_comment] = ACTIONS(3), + }, + [97] = { + [sym_identifier] = ACTIONS(1186), + [aux_sym_preproc_include_token1] = ACTIONS(1186), + [aux_sym_preproc_def_token1] = ACTIONS(1186), + [aux_sym_preproc_if_token1] = ACTIONS(1186), + [aux_sym_preproc_if_token2] = ACTIONS(1186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1186), + [aux_sym_preproc_else_token1] = ACTIONS(1186), + [aux_sym_preproc_elif_token1] = ACTIONS(1186), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1186), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1186), + [sym_preproc_directive] = ACTIONS(1186), + [anon_sym_LPAREN2] = ACTIONS(1188), + [anon_sym_BANG] = ACTIONS(1188), + [anon_sym_TILDE] = ACTIONS(1188), + [anon_sym_DASH] = ACTIONS(1186), + [anon_sym_PLUS] = ACTIONS(1186), + [anon_sym_STAR] = ACTIONS(1188), + [anon_sym_AMP] = ACTIONS(1188), + [anon_sym_SEMI] = ACTIONS(1188), + [anon_sym___extension__] = ACTIONS(1186), + [anon_sym_typedef] = ACTIONS(1186), + [anon_sym_extern] = ACTIONS(1186), + [anon_sym___attribute__] = ACTIONS(1186), + [anon_sym___attribute] = ACTIONS(1186), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1188), + [anon_sym___declspec] = ACTIONS(1186), + [anon_sym___cdecl] = ACTIONS(1186), + [anon_sym___clrcall] = ACTIONS(1186), + [anon_sym___stdcall] = ACTIONS(1186), + [anon_sym___fastcall] = ACTIONS(1186), + [anon_sym___thiscall] = ACTIONS(1186), + [anon_sym___vectorcall] = ACTIONS(1186), + [anon_sym_LBRACE] = ACTIONS(1188), + [anon_sym_signed] = ACTIONS(1186), + [anon_sym_unsigned] = ACTIONS(1186), + [anon_sym_long] = ACTIONS(1186), + [anon_sym_short] = ACTIONS(1186), + [anon_sym_static] = ACTIONS(1186), + [anon_sym_auto] = ACTIONS(1186), + [anon_sym_register] = ACTIONS(1186), + [anon_sym_inline] = ACTIONS(1186), + [anon_sym___inline] = ACTIONS(1186), + [anon_sym___inline__] = ACTIONS(1186), + [anon_sym___forceinline] = ACTIONS(1186), + [anon_sym_thread_local] = ACTIONS(1186), + [anon_sym___thread] = ACTIONS(1186), + [anon_sym_const] = ACTIONS(1186), + [anon_sym_constexpr] = ACTIONS(1186), + [anon_sym_volatile] = ACTIONS(1186), + [anon_sym_restrict] = ACTIONS(1186), + [anon_sym___restrict__] = ACTIONS(1186), + [anon_sym__Atomic] = ACTIONS(1186), + [anon_sym__Noreturn] = ACTIONS(1186), + [anon_sym_noreturn] = ACTIONS(1186), + [anon_sym__Nonnull] = ACTIONS(1186), + [anon_sym_alignas] = ACTIONS(1186), + [anon_sym__Alignas] = ACTIONS(1186), + [sym_primitive_type] = ACTIONS(1186), + [anon_sym_enum] = ACTIONS(1186), + [anon_sym_struct] = ACTIONS(1186), + [anon_sym_union] = ACTIONS(1186), + [anon_sym_if] = ACTIONS(1186), + [anon_sym_else] = ACTIONS(1186), + [anon_sym_switch] = ACTIONS(1186), + [anon_sym_case] = ACTIONS(1186), + [anon_sym_default] = ACTIONS(1186), + [anon_sym_while] = ACTIONS(1186), + [anon_sym_do] = ACTIONS(1186), + [anon_sym_for] = ACTIONS(1186), + [anon_sym_return] = ACTIONS(1186), + [anon_sym_break] = ACTIONS(1186), + [anon_sym_continue] = ACTIONS(1186), + [anon_sym_goto] = ACTIONS(1186), + [anon_sym___try] = ACTIONS(1186), + [anon_sym___leave] = ACTIONS(1186), + [anon_sym_DASH_DASH] = ACTIONS(1188), + [anon_sym_PLUS_PLUS] = ACTIONS(1188), + [anon_sym_sizeof] = ACTIONS(1186), + [anon_sym___alignof__] = ACTIONS(1186), + [anon_sym___alignof] = ACTIONS(1186), + [anon_sym__alignof] = ACTIONS(1186), + [anon_sym_alignof] = ACTIONS(1186), + [anon_sym__Alignof] = ACTIONS(1186), + [anon_sym_offsetof] = ACTIONS(1186), + [anon_sym__Generic] = ACTIONS(1186), + [anon_sym_asm] = ACTIONS(1186), + [anon_sym___asm__] = ACTIONS(1186), + [anon_sym___asm] = ACTIONS(1186), + [sym_number_literal] = ACTIONS(1188), + [anon_sym_L_SQUOTE] = ACTIONS(1188), + [anon_sym_u_SQUOTE] = ACTIONS(1188), + [anon_sym_U_SQUOTE] = ACTIONS(1188), + [anon_sym_u8_SQUOTE] = ACTIONS(1188), + [anon_sym_SQUOTE] = ACTIONS(1188), + [anon_sym_L_DQUOTE] = ACTIONS(1188), + [anon_sym_u_DQUOTE] = ACTIONS(1188), + [anon_sym_U_DQUOTE] = ACTIONS(1188), + [anon_sym_u8_DQUOTE] = ACTIONS(1188), + [anon_sym_DQUOTE] = ACTIONS(1188), + [sym_true] = ACTIONS(1186), + [sym_false] = ACTIONS(1186), + [anon_sym_NULL] = ACTIONS(1186), + [anon_sym_nullptr] = ACTIONS(1186), + [sym_comment] = ACTIONS(3), + }, + [98] = { + [sym_identifier] = ACTIONS(1190), + [aux_sym_preproc_include_token1] = ACTIONS(1190), + [aux_sym_preproc_def_token1] = ACTIONS(1190), + [aux_sym_preproc_if_token1] = ACTIONS(1190), + [aux_sym_preproc_if_token2] = ACTIONS(1190), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1190), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1190), + [aux_sym_preproc_else_token1] = ACTIONS(1190), + [aux_sym_preproc_elif_token1] = ACTIONS(1190), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1190), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1190), + [sym_preproc_directive] = ACTIONS(1190), + [anon_sym_LPAREN2] = ACTIONS(1192), + [anon_sym_BANG] = ACTIONS(1192), + [anon_sym_TILDE] = ACTIONS(1192), + [anon_sym_DASH] = ACTIONS(1190), + [anon_sym_PLUS] = ACTIONS(1190), + [anon_sym_STAR] = ACTIONS(1192), + [anon_sym_AMP] = ACTIONS(1192), + [anon_sym_SEMI] = ACTIONS(1192), + [anon_sym___extension__] = ACTIONS(1190), + [anon_sym_typedef] = ACTIONS(1190), + [anon_sym_extern] = ACTIONS(1190), + [anon_sym___attribute__] = ACTIONS(1190), + [anon_sym___attribute] = ACTIONS(1190), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1192), + [anon_sym___declspec] = ACTIONS(1190), + [anon_sym___cdecl] = ACTIONS(1190), + [anon_sym___clrcall] = ACTIONS(1190), + [anon_sym___stdcall] = ACTIONS(1190), + [anon_sym___fastcall] = ACTIONS(1190), + [anon_sym___thiscall] = ACTIONS(1190), + [anon_sym___vectorcall] = ACTIONS(1190), + [anon_sym_LBRACE] = ACTIONS(1192), + [anon_sym_signed] = ACTIONS(1190), + [anon_sym_unsigned] = ACTIONS(1190), + [anon_sym_long] = ACTIONS(1190), + [anon_sym_short] = ACTIONS(1190), + [anon_sym_static] = ACTIONS(1190), + [anon_sym_auto] = ACTIONS(1190), + [anon_sym_register] = ACTIONS(1190), + [anon_sym_inline] = ACTIONS(1190), + [anon_sym___inline] = ACTIONS(1190), + [anon_sym___inline__] = ACTIONS(1190), + [anon_sym___forceinline] = ACTIONS(1190), + [anon_sym_thread_local] = ACTIONS(1190), + [anon_sym___thread] = ACTIONS(1190), + [anon_sym_const] = ACTIONS(1190), + [anon_sym_constexpr] = ACTIONS(1190), + [anon_sym_volatile] = ACTIONS(1190), + [anon_sym_restrict] = ACTIONS(1190), + [anon_sym___restrict__] = ACTIONS(1190), + [anon_sym__Atomic] = ACTIONS(1190), + [anon_sym__Noreturn] = ACTIONS(1190), + [anon_sym_noreturn] = ACTIONS(1190), + [anon_sym__Nonnull] = ACTIONS(1190), + [anon_sym_alignas] = ACTIONS(1190), + [anon_sym__Alignas] = ACTIONS(1190), + [sym_primitive_type] = ACTIONS(1190), + [anon_sym_enum] = ACTIONS(1190), + [anon_sym_struct] = ACTIONS(1190), + [anon_sym_union] = ACTIONS(1190), + [anon_sym_if] = ACTIONS(1190), + [anon_sym_else] = ACTIONS(1190), + [anon_sym_switch] = ACTIONS(1190), + [anon_sym_case] = ACTIONS(1190), + [anon_sym_default] = ACTIONS(1190), + [anon_sym_while] = ACTIONS(1190), + [anon_sym_do] = ACTIONS(1190), + [anon_sym_for] = ACTIONS(1190), + [anon_sym_return] = ACTIONS(1190), + [anon_sym_break] = ACTIONS(1190), + [anon_sym_continue] = ACTIONS(1190), + [anon_sym_goto] = ACTIONS(1190), + [anon_sym___try] = ACTIONS(1190), + [anon_sym___leave] = ACTIONS(1190), + [anon_sym_DASH_DASH] = ACTIONS(1192), + [anon_sym_PLUS_PLUS] = ACTIONS(1192), + [anon_sym_sizeof] = ACTIONS(1190), + [anon_sym___alignof__] = ACTIONS(1190), + [anon_sym___alignof] = ACTIONS(1190), + [anon_sym__alignof] = ACTIONS(1190), + [anon_sym_alignof] = ACTIONS(1190), + [anon_sym__Alignof] = ACTIONS(1190), + [anon_sym_offsetof] = ACTIONS(1190), + [anon_sym__Generic] = ACTIONS(1190), + [anon_sym_asm] = ACTIONS(1190), + [anon_sym___asm__] = ACTIONS(1190), + [anon_sym___asm] = ACTIONS(1190), + [sym_number_literal] = ACTIONS(1192), + [anon_sym_L_SQUOTE] = ACTIONS(1192), + [anon_sym_u_SQUOTE] = ACTIONS(1192), + [anon_sym_U_SQUOTE] = ACTIONS(1192), + [anon_sym_u8_SQUOTE] = ACTIONS(1192), + [anon_sym_SQUOTE] = ACTIONS(1192), + [anon_sym_L_DQUOTE] = ACTIONS(1192), + [anon_sym_u_DQUOTE] = ACTIONS(1192), + [anon_sym_U_DQUOTE] = ACTIONS(1192), + [anon_sym_u8_DQUOTE] = ACTIONS(1192), + [anon_sym_DQUOTE] = ACTIONS(1192), + [sym_true] = ACTIONS(1190), + [sym_false] = ACTIONS(1190), + [anon_sym_NULL] = ACTIONS(1190), + [anon_sym_nullptr] = ACTIONS(1190), + [sym_comment] = ACTIONS(3), + }, + [99] = { + [sym_identifier] = ACTIONS(1194), + [aux_sym_preproc_include_token1] = ACTIONS(1194), + [aux_sym_preproc_def_token1] = ACTIONS(1194), + [aux_sym_preproc_if_token1] = ACTIONS(1194), + [aux_sym_preproc_if_token2] = ACTIONS(1194), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1194), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1194), + [aux_sym_preproc_else_token1] = ACTIONS(1194), + [aux_sym_preproc_elif_token1] = ACTIONS(1194), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1194), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1194), + [sym_preproc_directive] = ACTIONS(1194), + [anon_sym_LPAREN2] = ACTIONS(1196), + [anon_sym_BANG] = ACTIONS(1196), + [anon_sym_TILDE] = ACTIONS(1196), + [anon_sym_DASH] = ACTIONS(1194), + [anon_sym_PLUS] = ACTIONS(1194), + [anon_sym_STAR] = ACTIONS(1196), + [anon_sym_AMP] = ACTIONS(1196), + [anon_sym_SEMI] = ACTIONS(1196), + [anon_sym___extension__] = ACTIONS(1194), + [anon_sym_typedef] = ACTIONS(1194), + [anon_sym_extern] = ACTIONS(1194), + [anon_sym___attribute__] = ACTIONS(1194), + [anon_sym___attribute] = ACTIONS(1194), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1196), + [anon_sym___declspec] = ACTIONS(1194), + [anon_sym___cdecl] = ACTIONS(1194), + [anon_sym___clrcall] = ACTIONS(1194), + [anon_sym___stdcall] = ACTIONS(1194), + [anon_sym___fastcall] = ACTIONS(1194), + [anon_sym___thiscall] = ACTIONS(1194), + [anon_sym___vectorcall] = ACTIONS(1194), + [anon_sym_LBRACE] = ACTIONS(1196), + [anon_sym_signed] = ACTIONS(1194), + [anon_sym_unsigned] = ACTIONS(1194), + [anon_sym_long] = ACTIONS(1194), + [anon_sym_short] = ACTIONS(1194), + [anon_sym_static] = ACTIONS(1194), + [anon_sym_auto] = ACTIONS(1194), + [anon_sym_register] = ACTIONS(1194), + [anon_sym_inline] = ACTIONS(1194), + [anon_sym___inline] = ACTIONS(1194), + [anon_sym___inline__] = ACTIONS(1194), + [anon_sym___forceinline] = ACTIONS(1194), + [anon_sym_thread_local] = ACTIONS(1194), + [anon_sym___thread] = ACTIONS(1194), + [anon_sym_const] = ACTIONS(1194), + [anon_sym_constexpr] = ACTIONS(1194), + [anon_sym_volatile] = ACTIONS(1194), + [anon_sym_restrict] = ACTIONS(1194), + [anon_sym___restrict__] = ACTIONS(1194), + [anon_sym__Atomic] = ACTIONS(1194), + [anon_sym__Noreturn] = ACTIONS(1194), + [anon_sym_noreturn] = ACTIONS(1194), + [anon_sym__Nonnull] = ACTIONS(1194), + [anon_sym_alignas] = ACTIONS(1194), + [anon_sym__Alignas] = ACTIONS(1194), + [sym_primitive_type] = ACTIONS(1194), + [anon_sym_enum] = ACTIONS(1194), + [anon_sym_struct] = ACTIONS(1194), + [anon_sym_union] = ACTIONS(1194), + [anon_sym_if] = ACTIONS(1194), + [anon_sym_else] = ACTIONS(1194), + [anon_sym_switch] = ACTIONS(1194), + [anon_sym_case] = ACTIONS(1194), + [anon_sym_default] = ACTIONS(1194), + [anon_sym_while] = ACTIONS(1194), + [anon_sym_do] = ACTIONS(1194), + [anon_sym_for] = ACTIONS(1194), + [anon_sym_return] = ACTIONS(1194), + [anon_sym_break] = ACTIONS(1194), + [anon_sym_continue] = ACTIONS(1194), + [anon_sym_goto] = ACTIONS(1194), + [anon_sym___try] = ACTIONS(1194), + [anon_sym___leave] = ACTIONS(1194), + [anon_sym_DASH_DASH] = ACTIONS(1196), + [anon_sym_PLUS_PLUS] = ACTIONS(1196), + [anon_sym_sizeof] = ACTIONS(1194), + [anon_sym___alignof__] = ACTIONS(1194), + [anon_sym___alignof] = ACTIONS(1194), + [anon_sym__alignof] = ACTIONS(1194), + [anon_sym_alignof] = ACTIONS(1194), + [anon_sym__Alignof] = ACTIONS(1194), + [anon_sym_offsetof] = ACTIONS(1194), + [anon_sym__Generic] = ACTIONS(1194), + [anon_sym_asm] = ACTIONS(1194), + [anon_sym___asm__] = ACTIONS(1194), + [anon_sym___asm] = ACTIONS(1194), + [sym_number_literal] = ACTIONS(1196), + [anon_sym_L_SQUOTE] = ACTIONS(1196), + [anon_sym_u_SQUOTE] = ACTIONS(1196), + [anon_sym_U_SQUOTE] = ACTIONS(1196), + [anon_sym_u8_SQUOTE] = ACTIONS(1196), + [anon_sym_SQUOTE] = ACTIONS(1196), + [anon_sym_L_DQUOTE] = ACTIONS(1196), + [anon_sym_u_DQUOTE] = ACTIONS(1196), + [anon_sym_U_DQUOTE] = ACTIONS(1196), + [anon_sym_u8_DQUOTE] = ACTIONS(1196), + [anon_sym_DQUOTE] = ACTIONS(1196), + [sym_true] = ACTIONS(1194), + [sym_false] = ACTIONS(1194), + [anon_sym_NULL] = ACTIONS(1194), + [anon_sym_nullptr] = ACTIONS(1194), + [sym_comment] = ACTIONS(3), + }, + [100] = { + [sym_identifier] = ACTIONS(1198), + [aux_sym_preproc_include_token1] = ACTIONS(1198), + [aux_sym_preproc_def_token1] = ACTIONS(1198), + [aux_sym_preproc_if_token1] = ACTIONS(1198), + [aux_sym_preproc_if_token2] = ACTIONS(1198), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1198), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1198), + [aux_sym_preproc_else_token1] = ACTIONS(1198), + [aux_sym_preproc_elif_token1] = ACTIONS(1198), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1198), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1198), + [sym_preproc_directive] = ACTIONS(1198), + [anon_sym_LPAREN2] = ACTIONS(1200), + [anon_sym_BANG] = ACTIONS(1200), + [anon_sym_TILDE] = ACTIONS(1200), + [anon_sym_DASH] = ACTIONS(1198), + [anon_sym_PLUS] = ACTIONS(1198), + [anon_sym_STAR] = ACTIONS(1200), + [anon_sym_AMP] = ACTIONS(1200), + [anon_sym_SEMI] = ACTIONS(1200), + [anon_sym___extension__] = ACTIONS(1198), + [anon_sym_typedef] = ACTIONS(1198), + [anon_sym_extern] = ACTIONS(1198), + [anon_sym___attribute__] = ACTIONS(1198), + [anon_sym___attribute] = ACTIONS(1198), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1200), + [anon_sym___declspec] = ACTIONS(1198), + [anon_sym___cdecl] = ACTIONS(1198), + [anon_sym___clrcall] = ACTIONS(1198), + [anon_sym___stdcall] = ACTIONS(1198), + [anon_sym___fastcall] = ACTIONS(1198), + [anon_sym___thiscall] = ACTIONS(1198), + [anon_sym___vectorcall] = ACTIONS(1198), + [anon_sym_LBRACE] = ACTIONS(1200), + [anon_sym_signed] = ACTIONS(1198), + [anon_sym_unsigned] = ACTIONS(1198), + [anon_sym_long] = ACTIONS(1198), + [anon_sym_short] = ACTIONS(1198), + [anon_sym_static] = ACTIONS(1198), + [anon_sym_auto] = ACTIONS(1198), + [anon_sym_register] = ACTIONS(1198), + [anon_sym_inline] = ACTIONS(1198), + [anon_sym___inline] = ACTIONS(1198), + [anon_sym___inline__] = ACTIONS(1198), + [anon_sym___forceinline] = ACTIONS(1198), + [anon_sym_thread_local] = ACTIONS(1198), + [anon_sym___thread] = ACTIONS(1198), + [anon_sym_const] = ACTIONS(1198), + [anon_sym_constexpr] = ACTIONS(1198), + [anon_sym_volatile] = ACTIONS(1198), + [anon_sym_restrict] = ACTIONS(1198), + [anon_sym___restrict__] = ACTIONS(1198), + [anon_sym__Atomic] = ACTIONS(1198), + [anon_sym__Noreturn] = ACTIONS(1198), + [anon_sym_noreturn] = ACTIONS(1198), + [anon_sym__Nonnull] = ACTIONS(1198), + [anon_sym_alignas] = ACTIONS(1198), + [anon_sym__Alignas] = ACTIONS(1198), + [sym_primitive_type] = ACTIONS(1198), + [anon_sym_enum] = ACTIONS(1198), + [anon_sym_struct] = ACTIONS(1198), + [anon_sym_union] = ACTIONS(1198), + [anon_sym_if] = ACTIONS(1198), + [anon_sym_else] = ACTIONS(1198), + [anon_sym_switch] = ACTIONS(1198), + [anon_sym_case] = ACTIONS(1198), + [anon_sym_default] = ACTIONS(1198), + [anon_sym_while] = ACTIONS(1198), + [anon_sym_do] = ACTIONS(1198), + [anon_sym_for] = ACTIONS(1198), + [anon_sym_return] = ACTIONS(1198), + [anon_sym_break] = ACTIONS(1198), + [anon_sym_continue] = ACTIONS(1198), + [anon_sym_goto] = ACTIONS(1198), + [anon_sym___try] = ACTIONS(1198), + [anon_sym___leave] = ACTIONS(1198), + [anon_sym_DASH_DASH] = ACTIONS(1200), + [anon_sym_PLUS_PLUS] = ACTIONS(1200), + [anon_sym_sizeof] = ACTIONS(1198), + [anon_sym___alignof__] = ACTIONS(1198), + [anon_sym___alignof] = ACTIONS(1198), + [anon_sym__alignof] = ACTIONS(1198), + [anon_sym_alignof] = ACTIONS(1198), + [anon_sym__Alignof] = ACTIONS(1198), + [anon_sym_offsetof] = ACTIONS(1198), + [anon_sym__Generic] = ACTIONS(1198), + [anon_sym_asm] = ACTIONS(1198), + [anon_sym___asm__] = ACTIONS(1198), + [anon_sym___asm] = ACTIONS(1198), + [sym_number_literal] = ACTIONS(1200), + [anon_sym_L_SQUOTE] = ACTIONS(1200), + [anon_sym_u_SQUOTE] = ACTIONS(1200), + [anon_sym_U_SQUOTE] = ACTIONS(1200), + [anon_sym_u8_SQUOTE] = ACTIONS(1200), + [anon_sym_SQUOTE] = ACTIONS(1200), + [anon_sym_L_DQUOTE] = ACTIONS(1200), + [anon_sym_u_DQUOTE] = ACTIONS(1200), + [anon_sym_U_DQUOTE] = ACTIONS(1200), + [anon_sym_u8_DQUOTE] = ACTIONS(1200), + [anon_sym_DQUOTE] = ACTIONS(1200), + [sym_true] = ACTIONS(1198), + [sym_false] = ACTIONS(1198), + [anon_sym_NULL] = ACTIONS(1198), + [anon_sym_nullptr] = ACTIONS(1198), + [sym_comment] = ACTIONS(3), + }, + [101] = { + [sym_identifier] = ACTIONS(1202), + [aux_sym_preproc_include_token1] = ACTIONS(1202), + [aux_sym_preproc_def_token1] = ACTIONS(1202), + [aux_sym_preproc_if_token1] = ACTIONS(1202), + [aux_sym_preproc_if_token2] = ACTIONS(1202), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1202), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1202), + [aux_sym_preproc_else_token1] = ACTIONS(1202), + [aux_sym_preproc_elif_token1] = ACTIONS(1202), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1202), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1202), + [sym_preproc_directive] = ACTIONS(1202), + [anon_sym_LPAREN2] = ACTIONS(1204), + [anon_sym_BANG] = ACTIONS(1204), + [anon_sym_TILDE] = ACTIONS(1204), + [anon_sym_DASH] = ACTIONS(1202), + [anon_sym_PLUS] = ACTIONS(1202), + [anon_sym_STAR] = ACTIONS(1204), + [anon_sym_AMP] = ACTIONS(1204), + [anon_sym_SEMI] = ACTIONS(1204), + [anon_sym___extension__] = ACTIONS(1202), + [anon_sym_typedef] = ACTIONS(1202), + [anon_sym_extern] = ACTIONS(1202), + [anon_sym___attribute__] = ACTIONS(1202), + [anon_sym___attribute] = ACTIONS(1202), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1204), + [anon_sym___declspec] = ACTIONS(1202), + [anon_sym___cdecl] = ACTIONS(1202), + [anon_sym___clrcall] = ACTIONS(1202), + [anon_sym___stdcall] = ACTIONS(1202), + [anon_sym___fastcall] = ACTIONS(1202), + [anon_sym___thiscall] = ACTIONS(1202), + [anon_sym___vectorcall] = ACTIONS(1202), + [anon_sym_LBRACE] = ACTIONS(1204), + [anon_sym_signed] = ACTIONS(1202), + [anon_sym_unsigned] = ACTIONS(1202), + [anon_sym_long] = ACTIONS(1202), + [anon_sym_short] = ACTIONS(1202), + [anon_sym_static] = ACTIONS(1202), + [anon_sym_auto] = ACTIONS(1202), + [anon_sym_register] = ACTIONS(1202), + [anon_sym_inline] = ACTIONS(1202), + [anon_sym___inline] = ACTIONS(1202), + [anon_sym___inline__] = ACTIONS(1202), + [anon_sym___forceinline] = ACTIONS(1202), + [anon_sym_thread_local] = ACTIONS(1202), + [anon_sym___thread] = ACTIONS(1202), + [anon_sym_const] = ACTIONS(1202), + [anon_sym_constexpr] = ACTIONS(1202), + [anon_sym_volatile] = ACTIONS(1202), + [anon_sym_restrict] = ACTIONS(1202), + [anon_sym___restrict__] = ACTIONS(1202), + [anon_sym__Atomic] = ACTIONS(1202), + [anon_sym__Noreturn] = ACTIONS(1202), + [anon_sym_noreturn] = ACTIONS(1202), + [anon_sym__Nonnull] = ACTIONS(1202), + [anon_sym_alignas] = ACTIONS(1202), + [anon_sym__Alignas] = ACTIONS(1202), + [sym_primitive_type] = ACTIONS(1202), + [anon_sym_enum] = ACTIONS(1202), + [anon_sym_struct] = ACTIONS(1202), + [anon_sym_union] = ACTIONS(1202), + [anon_sym_if] = ACTIONS(1202), + [anon_sym_else] = ACTIONS(1202), + [anon_sym_switch] = ACTIONS(1202), + [anon_sym_case] = ACTIONS(1202), + [anon_sym_default] = ACTIONS(1202), + [anon_sym_while] = ACTIONS(1202), + [anon_sym_do] = ACTIONS(1202), + [anon_sym_for] = ACTIONS(1202), + [anon_sym_return] = ACTIONS(1202), + [anon_sym_break] = ACTIONS(1202), + [anon_sym_continue] = ACTIONS(1202), + [anon_sym_goto] = ACTIONS(1202), + [anon_sym___try] = ACTIONS(1202), + [anon_sym___leave] = ACTIONS(1202), + [anon_sym_DASH_DASH] = ACTIONS(1204), + [anon_sym_PLUS_PLUS] = ACTIONS(1204), + [anon_sym_sizeof] = ACTIONS(1202), + [anon_sym___alignof__] = ACTIONS(1202), + [anon_sym___alignof] = ACTIONS(1202), + [anon_sym__alignof] = ACTIONS(1202), + [anon_sym_alignof] = ACTIONS(1202), + [anon_sym__Alignof] = ACTIONS(1202), + [anon_sym_offsetof] = ACTIONS(1202), + [anon_sym__Generic] = ACTIONS(1202), + [anon_sym_asm] = ACTIONS(1202), + [anon_sym___asm__] = ACTIONS(1202), + [anon_sym___asm] = ACTIONS(1202), + [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(1202), + [sym_false] = ACTIONS(1202), + [anon_sym_NULL] = ACTIONS(1202), + [anon_sym_nullptr] = ACTIONS(1202), + [sym_comment] = ACTIONS(3), + }, + [102] = { + [sym_identifier] = ACTIONS(1202), + [aux_sym_preproc_include_token1] = ACTIONS(1202), + [aux_sym_preproc_def_token1] = ACTIONS(1202), + [aux_sym_preproc_if_token1] = ACTIONS(1202), + [aux_sym_preproc_if_token2] = ACTIONS(1202), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1202), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1202), + [aux_sym_preproc_else_token1] = ACTIONS(1202), + [aux_sym_preproc_elif_token1] = ACTIONS(1202), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1202), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1202), + [sym_preproc_directive] = ACTIONS(1202), + [anon_sym_LPAREN2] = ACTIONS(1204), + [anon_sym_BANG] = ACTIONS(1204), + [anon_sym_TILDE] = ACTIONS(1204), + [anon_sym_DASH] = ACTIONS(1202), + [anon_sym_PLUS] = ACTIONS(1202), + [anon_sym_STAR] = ACTIONS(1204), + [anon_sym_AMP] = ACTIONS(1204), + [anon_sym_SEMI] = ACTIONS(1204), + [anon_sym___extension__] = ACTIONS(1202), + [anon_sym_typedef] = ACTIONS(1202), + [anon_sym_extern] = ACTIONS(1202), + [anon_sym___attribute__] = ACTIONS(1202), + [anon_sym___attribute] = ACTIONS(1202), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1204), + [anon_sym___declspec] = ACTIONS(1202), + [anon_sym___cdecl] = ACTIONS(1202), + [anon_sym___clrcall] = ACTIONS(1202), + [anon_sym___stdcall] = ACTIONS(1202), + [anon_sym___fastcall] = ACTIONS(1202), + [anon_sym___thiscall] = ACTIONS(1202), + [anon_sym___vectorcall] = ACTIONS(1202), + [anon_sym_LBRACE] = ACTIONS(1204), + [anon_sym_signed] = ACTIONS(1202), + [anon_sym_unsigned] = ACTIONS(1202), + [anon_sym_long] = ACTIONS(1202), + [anon_sym_short] = ACTIONS(1202), + [anon_sym_static] = ACTIONS(1202), + [anon_sym_auto] = ACTIONS(1202), + [anon_sym_register] = ACTIONS(1202), + [anon_sym_inline] = ACTIONS(1202), + [anon_sym___inline] = ACTIONS(1202), + [anon_sym___inline__] = ACTIONS(1202), + [anon_sym___forceinline] = ACTIONS(1202), + [anon_sym_thread_local] = ACTIONS(1202), + [anon_sym___thread] = ACTIONS(1202), + [anon_sym_const] = ACTIONS(1202), + [anon_sym_constexpr] = ACTIONS(1202), + [anon_sym_volatile] = ACTIONS(1202), + [anon_sym_restrict] = ACTIONS(1202), + [anon_sym___restrict__] = ACTIONS(1202), + [anon_sym__Atomic] = ACTIONS(1202), + [anon_sym__Noreturn] = ACTIONS(1202), + [anon_sym_noreturn] = ACTIONS(1202), + [anon_sym__Nonnull] = ACTIONS(1202), + [anon_sym_alignas] = ACTIONS(1202), + [anon_sym__Alignas] = ACTIONS(1202), + [sym_primitive_type] = ACTIONS(1202), + [anon_sym_enum] = ACTIONS(1202), + [anon_sym_struct] = ACTIONS(1202), + [anon_sym_union] = ACTIONS(1202), + [anon_sym_if] = ACTIONS(1202), + [anon_sym_else] = ACTIONS(1202), + [anon_sym_switch] = ACTIONS(1202), + [anon_sym_case] = ACTIONS(1202), + [anon_sym_default] = ACTIONS(1202), + [anon_sym_while] = ACTIONS(1202), + [anon_sym_do] = ACTIONS(1202), + [anon_sym_for] = ACTIONS(1202), + [anon_sym_return] = ACTIONS(1202), + [anon_sym_break] = ACTIONS(1202), + [anon_sym_continue] = ACTIONS(1202), + [anon_sym_goto] = ACTIONS(1202), + [anon_sym___try] = ACTIONS(1202), + [anon_sym___leave] = ACTIONS(1202), + [anon_sym_DASH_DASH] = ACTIONS(1204), + [anon_sym_PLUS_PLUS] = ACTIONS(1204), + [anon_sym_sizeof] = ACTIONS(1202), + [anon_sym___alignof__] = ACTIONS(1202), + [anon_sym___alignof] = ACTIONS(1202), + [anon_sym__alignof] = ACTIONS(1202), + [anon_sym_alignof] = ACTIONS(1202), + [anon_sym__Alignof] = ACTIONS(1202), + [anon_sym_offsetof] = ACTIONS(1202), + [anon_sym__Generic] = ACTIONS(1202), + [anon_sym_asm] = ACTIONS(1202), + [anon_sym___asm__] = ACTIONS(1202), + [anon_sym___asm] = ACTIONS(1202), + [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(1202), + [sym_false] = ACTIONS(1202), + [anon_sym_NULL] = ACTIONS(1202), + [anon_sym_nullptr] = ACTIONS(1202), + [sym_comment] = ACTIONS(3), + }, + [103] = { + [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(1208), + [anon_sym_BANG] = ACTIONS(1208), + [anon_sym_TILDE] = ACTIONS(1208), + [anon_sym_DASH] = ACTIONS(1206), + [anon_sym_PLUS] = ACTIONS(1206), + [anon_sym_STAR] = ACTIONS(1208), + [anon_sym_AMP] = ACTIONS(1208), + [anon_sym_SEMI] = ACTIONS(1208), + [anon_sym___extension__] = ACTIONS(1206), + [anon_sym_typedef] = ACTIONS(1206), + [anon_sym_extern] = ACTIONS(1206), + [anon_sym___attribute__] = ACTIONS(1206), + [anon_sym___attribute] = ACTIONS(1206), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1208), + [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(1208), + [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__Nonnull] = 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(1208), + [anon_sym_PLUS_PLUS] = ACTIONS(1208), + [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), + [anon_sym___asm] = ACTIONS(1206), + [sym_number_literal] = ACTIONS(1208), + [anon_sym_L_SQUOTE] = ACTIONS(1208), + [anon_sym_u_SQUOTE] = ACTIONS(1208), + [anon_sym_U_SQUOTE] = ACTIONS(1208), + [anon_sym_u8_SQUOTE] = ACTIONS(1208), + [anon_sym_SQUOTE] = ACTIONS(1208), + [anon_sym_L_DQUOTE] = ACTIONS(1208), + [anon_sym_u_DQUOTE] = ACTIONS(1208), + [anon_sym_U_DQUOTE] = ACTIONS(1208), + [anon_sym_u8_DQUOTE] = ACTIONS(1208), + [anon_sym_DQUOTE] = ACTIONS(1208), + [sym_true] = ACTIONS(1206), + [sym_false] = ACTIONS(1206), + [anon_sym_NULL] = ACTIONS(1206), + [anon_sym_nullptr] = ACTIONS(1206), + [sym_comment] = ACTIONS(3), + }, + [104] = { + [sym_identifier] = ACTIONS(1210), + [aux_sym_preproc_include_token1] = ACTIONS(1210), + [aux_sym_preproc_def_token1] = ACTIONS(1210), + [aux_sym_preproc_if_token1] = ACTIONS(1210), + [aux_sym_preproc_if_token2] = ACTIONS(1210), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1210), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1210), + [aux_sym_preproc_else_token1] = ACTIONS(1210), + [aux_sym_preproc_elif_token1] = ACTIONS(1210), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1210), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1210), + [sym_preproc_directive] = ACTIONS(1210), + [anon_sym_LPAREN2] = ACTIONS(1212), + [anon_sym_BANG] = ACTIONS(1212), + [anon_sym_TILDE] = ACTIONS(1212), + [anon_sym_DASH] = ACTIONS(1210), + [anon_sym_PLUS] = ACTIONS(1210), + [anon_sym_STAR] = ACTIONS(1212), + [anon_sym_AMP] = ACTIONS(1212), + [anon_sym_SEMI] = ACTIONS(1212), + [anon_sym___extension__] = ACTIONS(1210), + [anon_sym_typedef] = ACTIONS(1210), + [anon_sym_extern] = ACTIONS(1210), + [anon_sym___attribute__] = ACTIONS(1210), + [anon_sym___attribute] = ACTIONS(1210), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1212), + [anon_sym___declspec] = ACTIONS(1210), + [anon_sym___cdecl] = ACTIONS(1210), + [anon_sym___clrcall] = ACTIONS(1210), + [anon_sym___stdcall] = ACTIONS(1210), + [anon_sym___fastcall] = ACTIONS(1210), + [anon_sym___thiscall] = ACTIONS(1210), + [anon_sym___vectorcall] = ACTIONS(1210), + [anon_sym_LBRACE] = ACTIONS(1212), + [anon_sym_signed] = ACTIONS(1210), + [anon_sym_unsigned] = ACTIONS(1210), + [anon_sym_long] = ACTIONS(1210), + [anon_sym_short] = ACTIONS(1210), + [anon_sym_static] = ACTIONS(1210), + [anon_sym_auto] = ACTIONS(1210), + [anon_sym_register] = ACTIONS(1210), + [anon_sym_inline] = ACTIONS(1210), + [anon_sym___inline] = ACTIONS(1210), + [anon_sym___inline__] = ACTIONS(1210), + [anon_sym___forceinline] = ACTIONS(1210), + [anon_sym_thread_local] = ACTIONS(1210), + [anon_sym___thread] = ACTIONS(1210), + [anon_sym_const] = ACTIONS(1210), + [anon_sym_constexpr] = ACTIONS(1210), + [anon_sym_volatile] = ACTIONS(1210), + [anon_sym_restrict] = ACTIONS(1210), + [anon_sym___restrict__] = ACTIONS(1210), + [anon_sym__Atomic] = ACTIONS(1210), + [anon_sym__Noreturn] = ACTIONS(1210), + [anon_sym_noreturn] = ACTIONS(1210), + [anon_sym__Nonnull] = ACTIONS(1210), + [anon_sym_alignas] = ACTIONS(1210), + [anon_sym__Alignas] = ACTIONS(1210), + [sym_primitive_type] = ACTIONS(1210), + [anon_sym_enum] = ACTIONS(1210), + [anon_sym_struct] = ACTIONS(1210), + [anon_sym_union] = ACTIONS(1210), + [anon_sym_if] = ACTIONS(1210), + [anon_sym_else] = ACTIONS(1210), + [anon_sym_switch] = ACTIONS(1210), + [anon_sym_case] = ACTIONS(1210), + [anon_sym_default] = ACTIONS(1210), + [anon_sym_while] = ACTIONS(1210), + [anon_sym_do] = ACTIONS(1210), + [anon_sym_for] = ACTIONS(1210), + [anon_sym_return] = ACTIONS(1210), + [anon_sym_break] = ACTIONS(1210), + [anon_sym_continue] = ACTIONS(1210), + [anon_sym_goto] = ACTIONS(1210), + [anon_sym___try] = ACTIONS(1210), + [anon_sym___leave] = ACTIONS(1210), + [anon_sym_DASH_DASH] = ACTIONS(1212), + [anon_sym_PLUS_PLUS] = ACTIONS(1212), + [anon_sym_sizeof] = ACTIONS(1210), + [anon_sym___alignof__] = ACTIONS(1210), + [anon_sym___alignof] = ACTIONS(1210), + [anon_sym__alignof] = ACTIONS(1210), + [anon_sym_alignof] = ACTIONS(1210), + [anon_sym__Alignof] = ACTIONS(1210), + [anon_sym_offsetof] = ACTIONS(1210), + [anon_sym__Generic] = ACTIONS(1210), + [anon_sym_asm] = ACTIONS(1210), + [anon_sym___asm__] = ACTIONS(1210), + [anon_sym___asm] = ACTIONS(1210), + [sym_number_literal] = ACTIONS(1212), + [anon_sym_L_SQUOTE] = ACTIONS(1212), + [anon_sym_u_SQUOTE] = ACTIONS(1212), + [anon_sym_U_SQUOTE] = ACTIONS(1212), + [anon_sym_u8_SQUOTE] = ACTIONS(1212), + [anon_sym_SQUOTE] = ACTIONS(1212), + [anon_sym_L_DQUOTE] = ACTIONS(1212), + [anon_sym_u_DQUOTE] = ACTIONS(1212), + [anon_sym_U_DQUOTE] = ACTIONS(1212), + [anon_sym_u8_DQUOTE] = ACTIONS(1212), + [anon_sym_DQUOTE] = ACTIONS(1212), + [sym_true] = ACTIONS(1210), + [sym_false] = ACTIONS(1210), + [anon_sym_NULL] = ACTIONS(1210), + [anon_sym_nullptr] = ACTIONS(1210), + [sym_comment] = ACTIONS(3), + }, + [105] = { + [sym_identifier] = ACTIONS(1214), + [aux_sym_preproc_include_token1] = ACTIONS(1214), + [aux_sym_preproc_def_token1] = ACTIONS(1214), + [aux_sym_preproc_if_token1] = ACTIONS(1214), + [aux_sym_preproc_if_token2] = ACTIONS(1214), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1214), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1214), + [aux_sym_preproc_else_token1] = ACTIONS(1214), + [aux_sym_preproc_elif_token1] = ACTIONS(1214), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1214), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1214), + [sym_preproc_directive] = ACTIONS(1214), + [anon_sym_LPAREN2] = ACTIONS(1216), + [anon_sym_BANG] = ACTIONS(1216), + [anon_sym_TILDE] = ACTIONS(1216), + [anon_sym_DASH] = ACTIONS(1214), + [anon_sym_PLUS] = ACTIONS(1214), + [anon_sym_STAR] = ACTIONS(1216), + [anon_sym_AMP] = ACTIONS(1216), + [anon_sym_SEMI] = ACTIONS(1216), + [anon_sym___extension__] = ACTIONS(1214), + [anon_sym_typedef] = ACTIONS(1214), + [anon_sym_extern] = ACTIONS(1214), + [anon_sym___attribute__] = ACTIONS(1214), + [anon_sym___attribute] = ACTIONS(1214), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1216), + [anon_sym___declspec] = ACTIONS(1214), + [anon_sym___cdecl] = ACTIONS(1214), + [anon_sym___clrcall] = ACTIONS(1214), + [anon_sym___stdcall] = ACTIONS(1214), + [anon_sym___fastcall] = ACTIONS(1214), + [anon_sym___thiscall] = ACTIONS(1214), + [anon_sym___vectorcall] = ACTIONS(1214), + [anon_sym_LBRACE] = ACTIONS(1216), + [anon_sym_signed] = ACTIONS(1214), + [anon_sym_unsigned] = ACTIONS(1214), + [anon_sym_long] = ACTIONS(1214), + [anon_sym_short] = ACTIONS(1214), + [anon_sym_static] = ACTIONS(1214), + [anon_sym_auto] = ACTIONS(1214), + [anon_sym_register] = ACTIONS(1214), + [anon_sym_inline] = ACTIONS(1214), + [anon_sym___inline] = ACTIONS(1214), + [anon_sym___inline__] = ACTIONS(1214), + [anon_sym___forceinline] = ACTIONS(1214), + [anon_sym_thread_local] = ACTIONS(1214), + [anon_sym___thread] = ACTIONS(1214), + [anon_sym_const] = ACTIONS(1214), + [anon_sym_constexpr] = ACTIONS(1214), + [anon_sym_volatile] = ACTIONS(1214), + [anon_sym_restrict] = ACTIONS(1214), + [anon_sym___restrict__] = ACTIONS(1214), + [anon_sym__Atomic] = ACTIONS(1214), + [anon_sym__Noreturn] = ACTIONS(1214), + [anon_sym_noreturn] = ACTIONS(1214), + [anon_sym__Nonnull] = ACTIONS(1214), + [anon_sym_alignas] = ACTIONS(1214), + [anon_sym__Alignas] = ACTIONS(1214), + [sym_primitive_type] = ACTIONS(1214), + [anon_sym_enum] = ACTIONS(1214), + [anon_sym_struct] = ACTIONS(1214), + [anon_sym_union] = ACTIONS(1214), + [anon_sym_if] = ACTIONS(1214), + [anon_sym_else] = ACTIONS(1214), + [anon_sym_switch] = ACTIONS(1214), + [anon_sym_case] = ACTIONS(1214), + [anon_sym_default] = ACTIONS(1214), + [anon_sym_while] = ACTIONS(1214), + [anon_sym_do] = ACTIONS(1214), + [anon_sym_for] = ACTIONS(1214), + [anon_sym_return] = ACTIONS(1214), + [anon_sym_break] = ACTIONS(1214), + [anon_sym_continue] = ACTIONS(1214), + [anon_sym_goto] = ACTIONS(1214), + [anon_sym___try] = ACTIONS(1214), + [anon_sym___leave] = ACTIONS(1214), + [anon_sym_DASH_DASH] = ACTIONS(1216), + [anon_sym_PLUS_PLUS] = ACTIONS(1216), + [anon_sym_sizeof] = ACTIONS(1214), + [anon_sym___alignof__] = ACTIONS(1214), + [anon_sym___alignof] = ACTIONS(1214), + [anon_sym__alignof] = ACTIONS(1214), + [anon_sym_alignof] = ACTIONS(1214), + [anon_sym__Alignof] = ACTIONS(1214), + [anon_sym_offsetof] = ACTIONS(1214), + [anon_sym__Generic] = ACTIONS(1214), + [anon_sym_asm] = ACTIONS(1214), + [anon_sym___asm__] = ACTIONS(1214), + [anon_sym___asm] = ACTIONS(1214), + [sym_number_literal] = ACTIONS(1216), + [anon_sym_L_SQUOTE] = ACTIONS(1216), + [anon_sym_u_SQUOTE] = ACTIONS(1216), + [anon_sym_U_SQUOTE] = ACTIONS(1216), + [anon_sym_u8_SQUOTE] = ACTIONS(1216), + [anon_sym_SQUOTE] = ACTIONS(1216), + [anon_sym_L_DQUOTE] = ACTIONS(1216), + [anon_sym_u_DQUOTE] = ACTIONS(1216), + [anon_sym_U_DQUOTE] = ACTIONS(1216), + [anon_sym_u8_DQUOTE] = ACTIONS(1216), + [anon_sym_DQUOTE] = ACTIONS(1216), + [sym_true] = ACTIONS(1214), + [sym_false] = ACTIONS(1214), + [anon_sym_NULL] = ACTIONS(1214), + [anon_sym_nullptr] = ACTIONS(1214), + [sym_comment] = ACTIONS(3), + }, + [106] = { + [sym_identifier] = ACTIONS(1218), + [aux_sym_preproc_include_token1] = ACTIONS(1218), + [aux_sym_preproc_def_token1] = ACTIONS(1218), + [aux_sym_preproc_if_token1] = ACTIONS(1218), + [aux_sym_preproc_if_token2] = ACTIONS(1218), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1218), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1218), + [aux_sym_preproc_else_token1] = ACTIONS(1218), + [aux_sym_preproc_elif_token1] = ACTIONS(1218), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1218), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1218), + [sym_preproc_directive] = ACTIONS(1218), + [anon_sym_LPAREN2] = ACTIONS(1220), + [anon_sym_BANG] = ACTIONS(1220), + [anon_sym_TILDE] = ACTIONS(1220), + [anon_sym_DASH] = ACTIONS(1218), + [anon_sym_PLUS] = ACTIONS(1218), + [anon_sym_STAR] = ACTIONS(1220), + [anon_sym_AMP] = ACTIONS(1220), + [anon_sym_SEMI] = ACTIONS(1220), + [anon_sym___extension__] = ACTIONS(1218), + [anon_sym_typedef] = ACTIONS(1218), + [anon_sym_extern] = ACTIONS(1218), + [anon_sym___attribute__] = ACTIONS(1218), + [anon_sym___attribute] = ACTIONS(1218), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1220), + [anon_sym___declspec] = ACTIONS(1218), + [anon_sym___cdecl] = ACTIONS(1218), + [anon_sym___clrcall] = ACTIONS(1218), + [anon_sym___stdcall] = ACTIONS(1218), + [anon_sym___fastcall] = ACTIONS(1218), + [anon_sym___thiscall] = ACTIONS(1218), + [anon_sym___vectorcall] = ACTIONS(1218), + [anon_sym_LBRACE] = ACTIONS(1220), + [anon_sym_signed] = ACTIONS(1218), + [anon_sym_unsigned] = ACTIONS(1218), + [anon_sym_long] = ACTIONS(1218), + [anon_sym_short] = ACTIONS(1218), + [anon_sym_static] = ACTIONS(1218), + [anon_sym_auto] = ACTIONS(1218), + [anon_sym_register] = ACTIONS(1218), + [anon_sym_inline] = ACTIONS(1218), + [anon_sym___inline] = ACTIONS(1218), + [anon_sym___inline__] = ACTIONS(1218), + [anon_sym___forceinline] = ACTIONS(1218), + [anon_sym_thread_local] = ACTIONS(1218), + [anon_sym___thread] = ACTIONS(1218), + [anon_sym_const] = ACTIONS(1218), + [anon_sym_constexpr] = ACTIONS(1218), + [anon_sym_volatile] = ACTIONS(1218), + [anon_sym_restrict] = ACTIONS(1218), + [anon_sym___restrict__] = ACTIONS(1218), + [anon_sym__Atomic] = ACTIONS(1218), + [anon_sym__Noreturn] = ACTIONS(1218), + [anon_sym_noreturn] = ACTIONS(1218), + [anon_sym__Nonnull] = ACTIONS(1218), + [anon_sym_alignas] = ACTIONS(1218), + [anon_sym__Alignas] = ACTIONS(1218), + [sym_primitive_type] = ACTIONS(1218), + [anon_sym_enum] = ACTIONS(1218), + [anon_sym_struct] = ACTIONS(1218), + [anon_sym_union] = ACTIONS(1218), + [anon_sym_if] = ACTIONS(1218), + [anon_sym_else] = ACTIONS(1218), + [anon_sym_switch] = ACTIONS(1218), + [anon_sym_case] = ACTIONS(1218), + [anon_sym_default] = ACTIONS(1218), + [anon_sym_while] = ACTIONS(1218), + [anon_sym_do] = ACTIONS(1218), + [anon_sym_for] = ACTIONS(1218), + [anon_sym_return] = ACTIONS(1218), + [anon_sym_break] = ACTIONS(1218), + [anon_sym_continue] = ACTIONS(1218), + [anon_sym_goto] = ACTIONS(1218), + [anon_sym___try] = ACTIONS(1218), + [anon_sym___leave] = ACTIONS(1218), + [anon_sym_DASH_DASH] = ACTIONS(1220), + [anon_sym_PLUS_PLUS] = ACTIONS(1220), + [anon_sym_sizeof] = ACTIONS(1218), + [anon_sym___alignof__] = ACTIONS(1218), + [anon_sym___alignof] = ACTIONS(1218), + [anon_sym__alignof] = ACTIONS(1218), + [anon_sym_alignof] = ACTIONS(1218), + [anon_sym__Alignof] = ACTIONS(1218), + [anon_sym_offsetof] = ACTIONS(1218), + [anon_sym__Generic] = ACTIONS(1218), + [anon_sym_asm] = ACTIONS(1218), + [anon_sym___asm__] = ACTIONS(1218), + [anon_sym___asm] = ACTIONS(1218), + [sym_number_literal] = ACTIONS(1220), + [anon_sym_L_SQUOTE] = ACTIONS(1220), + [anon_sym_u_SQUOTE] = ACTIONS(1220), + [anon_sym_U_SQUOTE] = ACTIONS(1220), + [anon_sym_u8_SQUOTE] = ACTIONS(1220), + [anon_sym_SQUOTE] = ACTIONS(1220), + [anon_sym_L_DQUOTE] = ACTIONS(1220), + [anon_sym_u_DQUOTE] = ACTIONS(1220), + [anon_sym_U_DQUOTE] = ACTIONS(1220), + [anon_sym_u8_DQUOTE] = ACTIONS(1220), + [anon_sym_DQUOTE] = ACTIONS(1220), + [sym_true] = ACTIONS(1218), + [sym_false] = ACTIONS(1218), + [anon_sym_NULL] = ACTIONS(1218), + [anon_sym_nullptr] = ACTIONS(1218), + [sym_comment] = ACTIONS(3), + }, + [107] = { + [sym_identifier] = ACTIONS(1222), + [aux_sym_preproc_include_token1] = ACTIONS(1222), + [aux_sym_preproc_def_token1] = ACTIONS(1222), + [aux_sym_preproc_if_token1] = ACTIONS(1222), + [aux_sym_preproc_if_token2] = ACTIONS(1222), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1222), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1222), + [aux_sym_preproc_else_token1] = ACTIONS(1222), + [aux_sym_preproc_elif_token1] = ACTIONS(1222), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1222), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1222), + [sym_preproc_directive] = ACTIONS(1222), + [anon_sym_LPAREN2] = ACTIONS(1224), + [anon_sym_BANG] = ACTIONS(1224), + [anon_sym_TILDE] = ACTIONS(1224), + [anon_sym_DASH] = ACTIONS(1222), + [anon_sym_PLUS] = ACTIONS(1222), + [anon_sym_STAR] = ACTIONS(1224), + [anon_sym_AMP] = ACTIONS(1224), + [anon_sym_SEMI] = ACTIONS(1224), + [anon_sym___extension__] = ACTIONS(1222), + [anon_sym_typedef] = ACTIONS(1222), + [anon_sym_extern] = ACTIONS(1222), + [anon_sym___attribute__] = ACTIONS(1222), + [anon_sym___attribute] = ACTIONS(1222), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1224), + [anon_sym___declspec] = ACTIONS(1222), + [anon_sym___cdecl] = ACTIONS(1222), + [anon_sym___clrcall] = ACTIONS(1222), + [anon_sym___stdcall] = ACTIONS(1222), + [anon_sym___fastcall] = ACTIONS(1222), + [anon_sym___thiscall] = ACTIONS(1222), + [anon_sym___vectorcall] = ACTIONS(1222), + [anon_sym_LBRACE] = ACTIONS(1224), + [anon_sym_signed] = ACTIONS(1222), + [anon_sym_unsigned] = ACTIONS(1222), + [anon_sym_long] = ACTIONS(1222), + [anon_sym_short] = ACTIONS(1222), + [anon_sym_static] = ACTIONS(1222), + [anon_sym_auto] = ACTIONS(1222), + [anon_sym_register] = ACTIONS(1222), + [anon_sym_inline] = ACTIONS(1222), + [anon_sym___inline] = ACTIONS(1222), + [anon_sym___inline__] = ACTIONS(1222), + [anon_sym___forceinline] = ACTIONS(1222), + [anon_sym_thread_local] = ACTIONS(1222), + [anon_sym___thread] = ACTIONS(1222), + [anon_sym_const] = ACTIONS(1222), + [anon_sym_constexpr] = ACTIONS(1222), + [anon_sym_volatile] = ACTIONS(1222), + [anon_sym_restrict] = ACTIONS(1222), + [anon_sym___restrict__] = ACTIONS(1222), + [anon_sym__Atomic] = ACTIONS(1222), + [anon_sym__Noreturn] = ACTIONS(1222), + [anon_sym_noreturn] = ACTIONS(1222), + [anon_sym__Nonnull] = ACTIONS(1222), + [anon_sym_alignas] = ACTIONS(1222), + [anon_sym__Alignas] = ACTIONS(1222), + [sym_primitive_type] = ACTIONS(1222), + [anon_sym_enum] = ACTIONS(1222), + [anon_sym_struct] = ACTIONS(1222), + [anon_sym_union] = ACTIONS(1222), + [anon_sym_if] = ACTIONS(1222), + [anon_sym_else] = ACTIONS(1222), + [anon_sym_switch] = ACTIONS(1222), + [anon_sym_case] = ACTIONS(1222), + [anon_sym_default] = ACTIONS(1222), + [anon_sym_while] = ACTIONS(1222), + [anon_sym_do] = ACTIONS(1222), + [anon_sym_for] = ACTIONS(1222), + [anon_sym_return] = ACTIONS(1222), + [anon_sym_break] = ACTIONS(1222), + [anon_sym_continue] = ACTIONS(1222), + [anon_sym_goto] = ACTIONS(1222), + [anon_sym___try] = ACTIONS(1222), + [anon_sym___leave] = ACTIONS(1222), + [anon_sym_DASH_DASH] = ACTIONS(1224), + [anon_sym_PLUS_PLUS] = ACTIONS(1224), + [anon_sym_sizeof] = ACTIONS(1222), + [anon_sym___alignof__] = ACTIONS(1222), + [anon_sym___alignof] = ACTIONS(1222), + [anon_sym__alignof] = ACTIONS(1222), + [anon_sym_alignof] = ACTIONS(1222), + [anon_sym__Alignof] = ACTIONS(1222), + [anon_sym_offsetof] = ACTIONS(1222), + [anon_sym__Generic] = ACTIONS(1222), + [anon_sym_asm] = ACTIONS(1222), + [anon_sym___asm__] = ACTIONS(1222), + [anon_sym___asm] = ACTIONS(1222), + [sym_number_literal] = ACTIONS(1224), + [anon_sym_L_SQUOTE] = ACTIONS(1224), + [anon_sym_u_SQUOTE] = ACTIONS(1224), + [anon_sym_U_SQUOTE] = ACTIONS(1224), + [anon_sym_u8_SQUOTE] = ACTIONS(1224), + [anon_sym_SQUOTE] = ACTIONS(1224), + [anon_sym_L_DQUOTE] = ACTIONS(1224), + [anon_sym_u_DQUOTE] = ACTIONS(1224), + [anon_sym_U_DQUOTE] = ACTIONS(1224), + [anon_sym_u8_DQUOTE] = ACTIONS(1224), + [anon_sym_DQUOTE] = ACTIONS(1224), + [sym_true] = ACTIONS(1222), + [sym_false] = ACTIONS(1222), + [anon_sym_NULL] = ACTIONS(1222), + [anon_sym_nullptr] = ACTIONS(1222), + [sym_comment] = ACTIONS(3), + }, + [108] = { + [sym_identifier] = ACTIONS(1226), + [aux_sym_preproc_include_token1] = ACTIONS(1226), + [aux_sym_preproc_def_token1] = ACTIONS(1226), + [aux_sym_preproc_if_token1] = ACTIONS(1226), + [aux_sym_preproc_if_token2] = ACTIONS(1226), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1226), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1226), + [aux_sym_preproc_else_token1] = ACTIONS(1226), + [aux_sym_preproc_elif_token1] = ACTIONS(1226), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1226), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1226), + [sym_preproc_directive] = ACTIONS(1226), + [anon_sym_LPAREN2] = ACTIONS(1228), + [anon_sym_BANG] = ACTIONS(1228), + [anon_sym_TILDE] = ACTIONS(1228), + [anon_sym_DASH] = ACTIONS(1226), + [anon_sym_PLUS] = ACTIONS(1226), + [anon_sym_STAR] = ACTIONS(1228), + [anon_sym_AMP] = ACTIONS(1228), + [anon_sym_SEMI] = ACTIONS(1228), + [anon_sym___extension__] = ACTIONS(1226), + [anon_sym_typedef] = ACTIONS(1226), + [anon_sym_extern] = ACTIONS(1226), + [anon_sym___attribute__] = ACTIONS(1226), + [anon_sym___attribute] = ACTIONS(1226), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1228), + [anon_sym___declspec] = ACTIONS(1226), + [anon_sym___cdecl] = ACTIONS(1226), + [anon_sym___clrcall] = ACTIONS(1226), + [anon_sym___stdcall] = ACTIONS(1226), + [anon_sym___fastcall] = ACTIONS(1226), + [anon_sym___thiscall] = ACTIONS(1226), + [anon_sym___vectorcall] = ACTIONS(1226), + [anon_sym_LBRACE] = ACTIONS(1228), + [anon_sym_signed] = ACTIONS(1226), + [anon_sym_unsigned] = ACTIONS(1226), + [anon_sym_long] = ACTIONS(1226), + [anon_sym_short] = ACTIONS(1226), + [anon_sym_static] = ACTIONS(1226), + [anon_sym_auto] = ACTIONS(1226), + [anon_sym_register] = ACTIONS(1226), + [anon_sym_inline] = ACTIONS(1226), + [anon_sym___inline] = ACTIONS(1226), + [anon_sym___inline__] = ACTIONS(1226), + [anon_sym___forceinline] = ACTIONS(1226), + [anon_sym_thread_local] = ACTIONS(1226), + [anon_sym___thread] = ACTIONS(1226), + [anon_sym_const] = ACTIONS(1226), + [anon_sym_constexpr] = ACTIONS(1226), + [anon_sym_volatile] = ACTIONS(1226), + [anon_sym_restrict] = ACTIONS(1226), + [anon_sym___restrict__] = ACTIONS(1226), + [anon_sym__Atomic] = ACTIONS(1226), + [anon_sym__Noreturn] = ACTIONS(1226), + [anon_sym_noreturn] = ACTIONS(1226), + [anon_sym__Nonnull] = ACTIONS(1226), + [anon_sym_alignas] = ACTIONS(1226), + [anon_sym__Alignas] = ACTIONS(1226), + [sym_primitive_type] = ACTIONS(1226), + [anon_sym_enum] = ACTIONS(1226), + [anon_sym_struct] = ACTIONS(1226), + [anon_sym_union] = ACTIONS(1226), + [anon_sym_if] = ACTIONS(1226), + [anon_sym_else] = ACTIONS(1226), + [anon_sym_switch] = ACTIONS(1226), + [anon_sym_case] = ACTIONS(1226), + [anon_sym_default] = ACTIONS(1226), + [anon_sym_while] = ACTIONS(1226), + [anon_sym_do] = ACTIONS(1226), + [anon_sym_for] = ACTIONS(1226), + [anon_sym_return] = ACTIONS(1226), + [anon_sym_break] = ACTIONS(1226), + [anon_sym_continue] = ACTIONS(1226), + [anon_sym_goto] = ACTIONS(1226), + [anon_sym___try] = ACTIONS(1226), + [anon_sym___leave] = ACTIONS(1226), + [anon_sym_DASH_DASH] = ACTIONS(1228), + [anon_sym_PLUS_PLUS] = ACTIONS(1228), + [anon_sym_sizeof] = ACTIONS(1226), + [anon_sym___alignof__] = ACTIONS(1226), + [anon_sym___alignof] = ACTIONS(1226), + [anon_sym__alignof] = ACTIONS(1226), + [anon_sym_alignof] = ACTIONS(1226), + [anon_sym__Alignof] = ACTIONS(1226), + [anon_sym_offsetof] = ACTIONS(1226), + [anon_sym__Generic] = ACTIONS(1226), + [anon_sym_asm] = ACTIONS(1226), + [anon_sym___asm__] = ACTIONS(1226), + [anon_sym___asm] = ACTIONS(1226), + [sym_number_literal] = ACTIONS(1228), + [anon_sym_L_SQUOTE] = ACTIONS(1228), + [anon_sym_u_SQUOTE] = ACTIONS(1228), + [anon_sym_U_SQUOTE] = ACTIONS(1228), + [anon_sym_u8_SQUOTE] = ACTIONS(1228), + [anon_sym_SQUOTE] = ACTIONS(1228), + [anon_sym_L_DQUOTE] = ACTIONS(1228), + [anon_sym_u_DQUOTE] = ACTIONS(1228), + [anon_sym_U_DQUOTE] = ACTIONS(1228), + [anon_sym_u8_DQUOTE] = ACTIONS(1228), + [anon_sym_DQUOTE] = ACTIONS(1228), + [sym_true] = ACTIONS(1226), + [sym_false] = ACTIONS(1226), + [anon_sym_NULL] = ACTIONS(1226), + [anon_sym_nullptr] = ACTIONS(1226), + [sym_comment] = ACTIONS(3), + }, + [109] = { + [sym_identifier] = ACTIONS(1230), + [aux_sym_preproc_include_token1] = ACTIONS(1230), + [aux_sym_preproc_def_token1] = ACTIONS(1230), + [aux_sym_preproc_if_token1] = ACTIONS(1230), + [aux_sym_preproc_if_token2] = ACTIONS(1230), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1230), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1230), + [aux_sym_preproc_else_token1] = ACTIONS(1230), + [aux_sym_preproc_elif_token1] = ACTIONS(1230), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1230), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1230), + [sym_preproc_directive] = ACTIONS(1230), + [anon_sym_LPAREN2] = ACTIONS(1232), + [anon_sym_BANG] = ACTIONS(1232), + [anon_sym_TILDE] = ACTIONS(1232), + [anon_sym_DASH] = ACTIONS(1230), + [anon_sym_PLUS] = ACTIONS(1230), + [anon_sym_STAR] = ACTIONS(1232), + [anon_sym_AMP] = ACTIONS(1232), + [anon_sym_SEMI] = ACTIONS(1232), + [anon_sym___extension__] = ACTIONS(1230), + [anon_sym_typedef] = ACTIONS(1230), + [anon_sym_extern] = ACTIONS(1230), + [anon_sym___attribute__] = ACTIONS(1230), + [anon_sym___attribute] = ACTIONS(1230), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1232), + [anon_sym___declspec] = ACTIONS(1230), + [anon_sym___cdecl] = ACTIONS(1230), + [anon_sym___clrcall] = ACTIONS(1230), + [anon_sym___stdcall] = ACTIONS(1230), + [anon_sym___fastcall] = ACTIONS(1230), + [anon_sym___thiscall] = ACTIONS(1230), + [anon_sym___vectorcall] = ACTIONS(1230), + [anon_sym_LBRACE] = ACTIONS(1232), + [anon_sym_signed] = ACTIONS(1230), + [anon_sym_unsigned] = ACTIONS(1230), + [anon_sym_long] = ACTIONS(1230), + [anon_sym_short] = ACTIONS(1230), + [anon_sym_static] = ACTIONS(1230), + [anon_sym_auto] = ACTIONS(1230), + [anon_sym_register] = ACTIONS(1230), + [anon_sym_inline] = ACTIONS(1230), + [anon_sym___inline] = ACTIONS(1230), + [anon_sym___inline__] = ACTIONS(1230), + [anon_sym___forceinline] = ACTIONS(1230), + [anon_sym_thread_local] = ACTIONS(1230), + [anon_sym___thread] = ACTIONS(1230), + [anon_sym_const] = ACTIONS(1230), + [anon_sym_constexpr] = ACTIONS(1230), + [anon_sym_volatile] = ACTIONS(1230), + [anon_sym_restrict] = ACTIONS(1230), + [anon_sym___restrict__] = ACTIONS(1230), + [anon_sym__Atomic] = ACTIONS(1230), + [anon_sym__Noreturn] = ACTIONS(1230), + [anon_sym_noreturn] = ACTIONS(1230), + [anon_sym__Nonnull] = ACTIONS(1230), + [anon_sym_alignas] = ACTIONS(1230), + [anon_sym__Alignas] = ACTIONS(1230), + [sym_primitive_type] = ACTIONS(1230), + [anon_sym_enum] = ACTIONS(1230), + [anon_sym_struct] = ACTIONS(1230), + [anon_sym_union] = ACTIONS(1230), + [anon_sym_if] = ACTIONS(1230), + [anon_sym_else] = ACTIONS(1230), + [anon_sym_switch] = ACTIONS(1230), + [anon_sym_case] = ACTIONS(1230), + [anon_sym_default] = ACTIONS(1230), + [anon_sym_while] = ACTIONS(1230), + [anon_sym_do] = ACTIONS(1230), + [anon_sym_for] = ACTIONS(1230), + [anon_sym_return] = ACTIONS(1230), + [anon_sym_break] = ACTIONS(1230), + [anon_sym_continue] = ACTIONS(1230), + [anon_sym_goto] = ACTIONS(1230), + [anon_sym___try] = ACTIONS(1230), + [anon_sym___leave] = ACTIONS(1230), + [anon_sym_DASH_DASH] = ACTIONS(1232), + [anon_sym_PLUS_PLUS] = ACTIONS(1232), + [anon_sym_sizeof] = ACTIONS(1230), + [anon_sym___alignof__] = ACTIONS(1230), + [anon_sym___alignof] = ACTIONS(1230), + [anon_sym__alignof] = ACTIONS(1230), + [anon_sym_alignof] = ACTIONS(1230), + [anon_sym__Alignof] = ACTIONS(1230), + [anon_sym_offsetof] = ACTIONS(1230), + [anon_sym__Generic] = ACTIONS(1230), + [anon_sym_asm] = ACTIONS(1230), + [anon_sym___asm__] = ACTIONS(1230), + [anon_sym___asm] = ACTIONS(1230), + [sym_number_literal] = ACTIONS(1232), + [anon_sym_L_SQUOTE] = ACTIONS(1232), + [anon_sym_u_SQUOTE] = ACTIONS(1232), + [anon_sym_U_SQUOTE] = ACTIONS(1232), + [anon_sym_u8_SQUOTE] = ACTIONS(1232), + [anon_sym_SQUOTE] = ACTIONS(1232), + [anon_sym_L_DQUOTE] = ACTIONS(1232), + [anon_sym_u_DQUOTE] = ACTIONS(1232), + [anon_sym_U_DQUOTE] = ACTIONS(1232), + [anon_sym_u8_DQUOTE] = ACTIONS(1232), + [anon_sym_DQUOTE] = ACTIONS(1232), + [sym_true] = ACTIONS(1230), + [sym_false] = ACTIONS(1230), + [anon_sym_NULL] = ACTIONS(1230), + [anon_sym_nullptr] = ACTIONS(1230), + [sym_comment] = ACTIONS(3), + }, + [110] = { + [sym_identifier] = ACTIONS(1234), + [aux_sym_preproc_include_token1] = ACTIONS(1234), + [aux_sym_preproc_def_token1] = ACTIONS(1234), + [aux_sym_preproc_if_token1] = ACTIONS(1234), + [aux_sym_preproc_if_token2] = ACTIONS(1234), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1234), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1234), + [aux_sym_preproc_else_token1] = ACTIONS(1234), + [aux_sym_preproc_elif_token1] = ACTIONS(1234), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1234), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1234), + [sym_preproc_directive] = ACTIONS(1234), + [anon_sym_LPAREN2] = ACTIONS(1236), + [anon_sym_BANG] = ACTIONS(1236), + [anon_sym_TILDE] = ACTIONS(1236), + [anon_sym_DASH] = ACTIONS(1234), + [anon_sym_PLUS] = ACTIONS(1234), + [anon_sym_STAR] = ACTIONS(1236), + [anon_sym_AMP] = ACTIONS(1236), + [anon_sym_SEMI] = ACTIONS(1236), + [anon_sym___extension__] = ACTIONS(1234), + [anon_sym_typedef] = ACTIONS(1234), + [anon_sym_extern] = ACTIONS(1234), + [anon_sym___attribute__] = ACTIONS(1234), + [anon_sym___attribute] = ACTIONS(1234), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1236), + [anon_sym___declspec] = ACTIONS(1234), + [anon_sym___cdecl] = ACTIONS(1234), + [anon_sym___clrcall] = ACTIONS(1234), + [anon_sym___stdcall] = ACTIONS(1234), + [anon_sym___fastcall] = ACTIONS(1234), + [anon_sym___thiscall] = ACTIONS(1234), + [anon_sym___vectorcall] = ACTIONS(1234), + [anon_sym_LBRACE] = ACTIONS(1236), + [anon_sym_signed] = ACTIONS(1234), + [anon_sym_unsigned] = ACTIONS(1234), + [anon_sym_long] = ACTIONS(1234), + [anon_sym_short] = ACTIONS(1234), + [anon_sym_static] = ACTIONS(1234), + [anon_sym_auto] = ACTIONS(1234), + [anon_sym_register] = ACTIONS(1234), + [anon_sym_inline] = ACTIONS(1234), + [anon_sym___inline] = ACTIONS(1234), + [anon_sym___inline__] = ACTIONS(1234), + [anon_sym___forceinline] = ACTIONS(1234), + [anon_sym_thread_local] = ACTIONS(1234), + [anon_sym___thread] = ACTIONS(1234), + [anon_sym_const] = ACTIONS(1234), + [anon_sym_constexpr] = ACTIONS(1234), + [anon_sym_volatile] = ACTIONS(1234), + [anon_sym_restrict] = ACTIONS(1234), + [anon_sym___restrict__] = ACTIONS(1234), + [anon_sym__Atomic] = ACTIONS(1234), + [anon_sym__Noreturn] = ACTIONS(1234), + [anon_sym_noreturn] = ACTIONS(1234), + [anon_sym__Nonnull] = ACTIONS(1234), + [anon_sym_alignas] = ACTIONS(1234), + [anon_sym__Alignas] = ACTIONS(1234), + [sym_primitive_type] = ACTIONS(1234), + [anon_sym_enum] = ACTIONS(1234), + [anon_sym_struct] = ACTIONS(1234), + [anon_sym_union] = ACTIONS(1234), + [anon_sym_if] = ACTIONS(1234), + [anon_sym_else] = ACTIONS(1234), + [anon_sym_switch] = ACTIONS(1234), + [anon_sym_case] = ACTIONS(1234), + [anon_sym_default] = ACTIONS(1234), + [anon_sym_while] = ACTIONS(1234), + [anon_sym_do] = ACTIONS(1234), + [anon_sym_for] = ACTIONS(1234), + [anon_sym_return] = ACTIONS(1234), + [anon_sym_break] = ACTIONS(1234), + [anon_sym_continue] = ACTIONS(1234), + [anon_sym_goto] = ACTIONS(1234), + [anon_sym___try] = ACTIONS(1234), + [anon_sym___leave] = ACTIONS(1234), + [anon_sym_DASH_DASH] = ACTIONS(1236), + [anon_sym_PLUS_PLUS] = ACTIONS(1236), + [anon_sym_sizeof] = ACTIONS(1234), + [anon_sym___alignof__] = ACTIONS(1234), + [anon_sym___alignof] = ACTIONS(1234), + [anon_sym__alignof] = ACTIONS(1234), + [anon_sym_alignof] = ACTIONS(1234), + [anon_sym__Alignof] = ACTIONS(1234), + [anon_sym_offsetof] = ACTIONS(1234), + [anon_sym__Generic] = ACTIONS(1234), + [anon_sym_asm] = ACTIONS(1234), + [anon_sym___asm__] = ACTIONS(1234), + [anon_sym___asm] = ACTIONS(1234), + [sym_number_literal] = ACTIONS(1236), + [anon_sym_L_SQUOTE] = ACTIONS(1236), + [anon_sym_u_SQUOTE] = ACTIONS(1236), + [anon_sym_U_SQUOTE] = ACTIONS(1236), + [anon_sym_u8_SQUOTE] = ACTIONS(1236), + [anon_sym_SQUOTE] = ACTIONS(1236), + [anon_sym_L_DQUOTE] = ACTIONS(1236), + [anon_sym_u_DQUOTE] = ACTIONS(1236), + [anon_sym_U_DQUOTE] = ACTIONS(1236), + [anon_sym_u8_DQUOTE] = ACTIONS(1236), + [anon_sym_DQUOTE] = ACTIONS(1236), + [sym_true] = ACTIONS(1234), + [sym_false] = ACTIONS(1234), + [anon_sym_NULL] = ACTIONS(1234), + [anon_sym_nullptr] = ACTIONS(1234), + [sym_comment] = ACTIONS(3), + }, + [111] = { + [sym_identifier] = ACTIONS(1238), + [aux_sym_preproc_include_token1] = ACTIONS(1238), + [aux_sym_preproc_def_token1] = ACTIONS(1238), + [aux_sym_preproc_if_token1] = ACTIONS(1238), + [aux_sym_preproc_if_token2] = ACTIONS(1238), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1238), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1238), + [aux_sym_preproc_else_token1] = ACTIONS(1238), + [aux_sym_preproc_elif_token1] = ACTIONS(1238), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1238), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1238), + [sym_preproc_directive] = ACTIONS(1238), + [anon_sym_LPAREN2] = ACTIONS(1240), + [anon_sym_BANG] = ACTIONS(1240), + [anon_sym_TILDE] = ACTIONS(1240), + [anon_sym_DASH] = ACTIONS(1238), + [anon_sym_PLUS] = ACTIONS(1238), + [anon_sym_STAR] = ACTIONS(1240), + [anon_sym_AMP] = ACTIONS(1240), + [anon_sym_SEMI] = ACTIONS(1240), + [anon_sym___extension__] = ACTIONS(1238), + [anon_sym_typedef] = ACTIONS(1238), + [anon_sym_extern] = ACTIONS(1238), + [anon_sym___attribute__] = ACTIONS(1238), + [anon_sym___attribute] = ACTIONS(1238), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1240), + [anon_sym___declspec] = ACTIONS(1238), + [anon_sym___cdecl] = ACTIONS(1238), + [anon_sym___clrcall] = ACTIONS(1238), + [anon_sym___stdcall] = ACTIONS(1238), + [anon_sym___fastcall] = ACTIONS(1238), + [anon_sym___thiscall] = ACTIONS(1238), + [anon_sym___vectorcall] = ACTIONS(1238), + [anon_sym_LBRACE] = ACTIONS(1240), + [anon_sym_signed] = ACTIONS(1238), + [anon_sym_unsigned] = ACTIONS(1238), + [anon_sym_long] = ACTIONS(1238), + [anon_sym_short] = ACTIONS(1238), + [anon_sym_static] = ACTIONS(1238), + [anon_sym_auto] = ACTIONS(1238), + [anon_sym_register] = ACTIONS(1238), + [anon_sym_inline] = ACTIONS(1238), + [anon_sym___inline] = ACTIONS(1238), + [anon_sym___inline__] = ACTIONS(1238), + [anon_sym___forceinline] = ACTIONS(1238), + [anon_sym_thread_local] = ACTIONS(1238), + [anon_sym___thread] = ACTIONS(1238), + [anon_sym_const] = ACTIONS(1238), + [anon_sym_constexpr] = ACTIONS(1238), + [anon_sym_volatile] = ACTIONS(1238), + [anon_sym_restrict] = ACTIONS(1238), + [anon_sym___restrict__] = ACTIONS(1238), + [anon_sym__Atomic] = ACTIONS(1238), + [anon_sym__Noreturn] = ACTIONS(1238), + [anon_sym_noreturn] = ACTIONS(1238), + [anon_sym__Nonnull] = ACTIONS(1238), + [anon_sym_alignas] = ACTIONS(1238), + [anon_sym__Alignas] = ACTIONS(1238), + [sym_primitive_type] = ACTIONS(1238), + [anon_sym_enum] = ACTIONS(1238), + [anon_sym_struct] = ACTIONS(1238), + [anon_sym_union] = ACTIONS(1238), + [anon_sym_if] = ACTIONS(1238), + [anon_sym_else] = ACTIONS(1238), + [anon_sym_switch] = ACTIONS(1238), + [anon_sym_case] = ACTIONS(1238), + [anon_sym_default] = ACTIONS(1238), + [anon_sym_while] = ACTIONS(1238), + [anon_sym_do] = ACTIONS(1238), + [anon_sym_for] = ACTIONS(1238), + [anon_sym_return] = ACTIONS(1238), + [anon_sym_break] = ACTIONS(1238), + [anon_sym_continue] = ACTIONS(1238), + [anon_sym_goto] = ACTIONS(1238), + [anon_sym___try] = ACTIONS(1238), + [anon_sym___leave] = ACTIONS(1238), + [anon_sym_DASH_DASH] = ACTIONS(1240), + [anon_sym_PLUS_PLUS] = ACTIONS(1240), + [anon_sym_sizeof] = ACTIONS(1238), + [anon_sym___alignof__] = ACTIONS(1238), + [anon_sym___alignof] = ACTIONS(1238), + [anon_sym__alignof] = ACTIONS(1238), + [anon_sym_alignof] = ACTIONS(1238), + [anon_sym__Alignof] = ACTIONS(1238), + [anon_sym_offsetof] = ACTIONS(1238), + [anon_sym__Generic] = ACTIONS(1238), + [anon_sym_asm] = ACTIONS(1238), + [anon_sym___asm__] = ACTIONS(1238), + [anon_sym___asm] = ACTIONS(1238), + [sym_number_literal] = ACTIONS(1240), + [anon_sym_L_SQUOTE] = ACTIONS(1240), + [anon_sym_u_SQUOTE] = ACTIONS(1240), + [anon_sym_U_SQUOTE] = ACTIONS(1240), + [anon_sym_u8_SQUOTE] = ACTIONS(1240), + [anon_sym_SQUOTE] = ACTIONS(1240), + [anon_sym_L_DQUOTE] = ACTIONS(1240), + [anon_sym_u_DQUOTE] = ACTIONS(1240), + [anon_sym_U_DQUOTE] = ACTIONS(1240), + [anon_sym_u8_DQUOTE] = ACTIONS(1240), + [anon_sym_DQUOTE] = ACTIONS(1240), + [sym_true] = ACTIONS(1238), + [sym_false] = ACTIONS(1238), + [anon_sym_NULL] = ACTIONS(1238), + [anon_sym_nullptr] = ACTIONS(1238), + [sym_comment] = ACTIONS(3), + }, + [112] = { + [sym_identifier] = ACTIONS(1242), + [aux_sym_preproc_include_token1] = ACTIONS(1242), + [aux_sym_preproc_def_token1] = ACTIONS(1242), + [aux_sym_preproc_if_token1] = ACTIONS(1242), + [aux_sym_preproc_if_token2] = ACTIONS(1242), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1242), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1242), + [aux_sym_preproc_else_token1] = ACTIONS(1242), + [aux_sym_preproc_elif_token1] = ACTIONS(1242), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1242), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1242), + [sym_preproc_directive] = ACTIONS(1242), + [anon_sym_LPAREN2] = ACTIONS(1244), + [anon_sym_BANG] = ACTIONS(1244), + [anon_sym_TILDE] = ACTIONS(1244), + [anon_sym_DASH] = ACTIONS(1242), + [anon_sym_PLUS] = ACTIONS(1242), + [anon_sym_STAR] = ACTIONS(1244), + [anon_sym_AMP] = ACTIONS(1244), + [anon_sym_SEMI] = ACTIONS(1244), + [anon_sym___extension__] = ACTIONS(1242), + [anon_sym_typedef] = ACTIONS(1242), + [anon_sym_extern] = ACTIONS(1242), + [anon_sym___attribute__] = ACTIONS(1242), + [anon_sym___attribute] = ACTIONS(1242), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1244), + [anon_sym___declspec] = ACTIONS(1242), + [anon_sym___cdecl] = ACTIONS(1242), + [anon_sym___clrcall] = ACTIONS(1242), + [anon_sym___stdcall] = ACTIONS(1242), + [anon_sym___fastcall] = ACTIONS(1242), + [anon_sym___thiscall] = ACTIONS(1242), + [anon_sym___vectorcall] = ACTIONS(1242), + [anon_sym_LBRACE] = ACTIONS(1244), + [anon_sym_signed] = ACTIONS(1242), + [anon_sym_unsigned] = ACTIONS(1242), + [anon_sym_long] = ACTIONS(1242), + [anon_sym_short] = ACTIONS(1242), + [anon_sym_static] = ACTIONS(1242), + [anon_sym_auto] = ACTIONS(1242), + [anon_sym_register] = ACTIONS(1242), + [anon_sym_inline] = ACTIONS(1242), + [anon_sym___inline] = ACTIONS(1242), + [anon_sym___inline__] = ACTIONS(1242), + [anon_sym___forceinline] = ACTIONS(1242), + [anon_sym_thread_local] = ACTIONS(1242), + [anon_sym___thread] = ACTIONS(1242), + [anon_sym_const] = ACTIONS(1242), + [anon_sym_constexpr] = ACTIONS(1242), + [anon_sym_volatile] = ACTIONS(1242), + [anon_sym_restrict] = ACTIONS(1242), + [anon_sym___restrict__] = ACTIONS(1242), + [anon_sym__Atomic] = ACTIONS(1242), + [anon_sym__Noreturn] = ACTIONS(1242), + [anon_sym_noreturn] = ACTIONS(1242), + [anon_sym__Nonnull] = ACTIONS(1242), + [anon_sym_alignas] = ACTIONS(1242), + [anon_sym__Alignas] = ACTIONS(1242), + [sym_primitive_type] = ACTIONS(1242), + [anon_sym_enum] = ACTIONS(1242), + [anon_sym_struct] = ACTIONS(1242), + [anon_sym_union] = ACTIONS(1242), + [anon_sym_if] = ACTIONS(1242), + [anon_sym_else] = ACTIONS(1242), + [anon_sym_switch] = ACTIONS(1242), + [anon_sym_case] = ACTIONS(1242), + [anon_sym_default] = ACTIONS(1242), + [anon_sym_while] = ACTIONS(1242), + [anon_sym_do] = ACTIONS(1242), + [anon_sym_for] = ACTIONS(1242), + [anon_sym_return] = ACTIONS(1242), + [anon_sym_break] = ACTIONS(1242), + [anon_sym_continue] = ACTIONS(1242), + [anon_sym_goto] = ACTIONS(1242), + [anon_sym___try] = ACTIONS(1242), + [anon_sym___leave] = ACTIONS(1242), + [anon_sym_DASH_DASH] = ACTIONS(1244), + [anon_sym_PLUS_PLUS] = ACTIONS(1244), + [anon_sym_sizeof] = ACTIONS(1242), + [anon_sym___alignof__] = ACTIONS(1242), + [anon_sym___alignof] = ACTIONS(1242), + [anon_sym__alignof] = ACTIONS(1242), + [anon_sym_alignof] = ACTIONS(1242), + [anon_sym__Alignof] = ACTIONS(1242), + [anon_sym_offsetof] = ACTIONS(1242), + [anon_sym__Generic] = ACTIONS(1242), + [anon_sym_asm] = ACTIONS(1242), + [anon_sym___asm__] = ACTIONS(1242), + [anon_sym___asm] = ACTIONS(1242), + [sym_number_literal] = ACTIONS(1244), + [anon_sym_L_SQUOTE] = ACTIONS(1244), + [anon_sym_u_SQUOTE] = ACTIONS(1244), + [anon_sym_U_SQUOTE] = ACTIONS(1244), + [anon_sym_u8_SQUOTE] = ACTIONS(1244), + [anon_sym_SQUOTE] = ACTIONS(1244), + [anon_sym_L_DQUOTE] = ACTIONS(1244), + [anon_sym_u_DQUOTE] = ACTIONS(1244), + [anon_sym_U_DQUOTE] = ACTIONS(1244), + [anon_sym_u8_DQUOTE] = ACTIONS(1244), + [anon_sym_DQUOTE] = ACTIONS(1244), + [sym_true] = ACTIONS(1242), + [sym_false] = ACTIONS(1242), + [anon_sym_NULL] = ACTIONS(1242), + [anon_sym_nullptr] = ACTIONS(1242), + [sym_comment] = ACTIONS(3), + }, + [113] = { + [sym_identifier] = ACTIONS(1246), + [aux_sym_preproc_include_token1] = ACTIONS(1246), + [aux_sym_preproc_def_token1] = ACTIONS(1246), + [aux_sym_preproc_if_token1] = ACTIONS(1246), + [aux_sym_preproc_if_token2] = ACTIONS(1246), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1246), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1246), + [aux_sym_preproc_else_token1] = ACTIONS(1246), + [aux_sym_preproc_elif_token1] = ACTIONS(1246), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1246), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1246), + [sym_preproc_directive] = ACTIONS(1246), + [anon_sym_LPAREN2] = ACTIONS(1248), + [anon_sym_BANG] = ACTIONS(1248), + [anon_sym_TILDE] = ACTIONS(1248), + [anon_sym_DASH] = ACTIONS(1246), + [anon_sym_PLUS] = ACTIONS(1246), + [anon_sym_STAR] = ACTIONS(1248), + [anon_sym_AMP] = ACTIONS(1248), + [anon_sym_SEMI] = ACTIONS(1248), + [anon_sym___extension__] = ACTIONS(1246), + [anon_sym_typedef] = ACTIONS(1246), + [anon_sym_extern] = ACTIONS(1246), + [anon_sym___attribute__] = ACTIONS(1246), + [anon_sym___attribute] = ACTIONS(1246), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1248), + [anon_sym___declspec] = ACTIONS(1246), + [anon_sym___cdecl] = ACTIONS(1246), + [anon_sym___clrcall] = ACTIONS(1246), + [anon_sym___stdcall] = ACTIONS(1246), + [anon_sym___fastcall] = ACTIONS(1246), + [anon_sym___thiscall] = ACTIONS(1246), + [anon_sym___vectorcall] = ACTIONS(1246), + [anon_sym_LBRACE] = ACTIONS(1248), + [anon_sym_signed] = ACTIONS(1246), + [anon_sym_unsigned] = ACTIONS(1246), + [anon_sym_long] = ACTIONS(1246), + [anon_sym_short] = ACTIONS(1246), + [anon_sym_static] = ACTIONS(1246), + [anon_sym_auto] = ACTIONS(1246), + [anon_sym_register] = ACTIONS(1246), + [anon_sym_inline] = ACTIONS(1246), + [anon_sym___inline] = ACTIONS(1246), + [anon_sym___inline__] = ACTIONS(1246), + [anon_sym___forceinline] = ACTIONS(1246), + [anon_sym_thread_local] = ACTIONS(1246), + [anon_sym___thread] = ACTIONS(1246), + [anon_sym_const] = ACTIONS(1246), + [anon_sym_constexpr] = ACTIONS(1246), + [anon_sym_volatile] = ACTIONS(1246), + [anon_sym_restrict] = ACTIONS(1246), + [anon_sym___restrict__] = ACTIONS(1246), + [anon_sym__Atomic] = ACTIONS(1246), + [anon_sym__Noreturn] = ACTIONS(1246), + [anon_sym_noreturn] = ACTIONS(1246), + [anon_sym__Nonnull] = ACTIONS(1246), + [anon_sym_alignas] = ACTIONS(1246), + [anon_sym__Alignas] = ACTIONS(1246), + [sym_primitive_type] = ACTIONS(1246), + [anon_sym_enum] = ACTIONS(1246), + [anon_sym_struct] = ACTIONS(1246), + [anon_sym_union] = ACTIONS(1246), + [anon_sym_if] = ACTIONS(1246), + [anon_sym_else] = ACTIONS(1246), + [anon_sym_switch] = ACTIONS(1246), + [anon_sym_case] = ACTIONS(1246), + [anon_sym_default] = ACTIONS(1246), + [anon_sym_while] = ACTIONS(1246), + [anon_sym_do] = ACTIONS(1246), + [anon_sym_for] = ACTIONS(1246), + [anon_sym_return] = ACTIONS(1246), + [anon_sym_break] = ACTIONS(1246), + [anon_sym_continue] = ACTIONS(1246), + [anon_sym_goto] = ACTIONS(1246), + [anon_sym___try] = ACTIONS(1246), + [anon_sym___leave] = ACTIONS(1246), + [anon_sym_DASH_DASH] = ACTIONS(1248), + [anon_sym_PLUS_PLUS] = ACTIONS(1248), + [anon_sym_sizeof] = ACTIONS(1246), + [anon_sym___alignof__] = ACTIONS(1246), + [anon_sym___alignof] = ACTIONS(1246), + [anon_sym__alignof] = ACTIONS(1246), + [anon_sym_alignof] = ACTIONS(1246), + [anon_sym__Alignof] = ACTIONS(1246), + [anon_sym_offsetof] = ACTIONS(1246), + [anon_sym__Generic] = ACTIONS(1246), + [anon_sym_asm] = ACTIONS(1246), + [anon_sym___asm__] = ACTIONS(1246), + [anon_sym___asm] = ACTIONS(1246), + [sym_number_literal] = ACTIONS(1248), + [anon_sym_L_SQUOTE] = ACTIONS(1248), + [anon_sym_u_SQUOTE] = ACTIONS(1248), + [anon_sym_U_SQUOTE] = ACTIONS(1248), + [anon_sym_u8_SQUOTE] = ACTIONS(1248), + [anon_sym_SQUOTE] = ACTIONS(1248), + [anon_sym_L_DQUOTE] = ACTIONS(1248), + [anon_sym_u_DQUOTE] = ACTIONS(1248), + [anon_sym_U_DQUOTE] = ACTIONS(1248), + [anon_sym_u8_DQUOTE] = ACTIONS(1248), + [anon_sym_DQUOTE] = ACTIONS(1248), + [sym_true] = ACTIONS(1246), + [sym_false] = ACTIONS(1246), + [anon_sym_NULL] = ACTIONS(1246), + [anon_sym_nullptr] = ACTIONS(1246), + [sym_comment] = ACTIONS(3), + }, + [114] = { + [sym_identifier] = ACTIONS(1250), + [aux_sym_preproc_include_token1] = ACTIONS(1250), + [aux_sym_preproc_def_token1] = ACTIONS(1250), + [aux_sym_preproc_if_token1] = ACTIONS(1250), + [aux_sym_preproc_if_token2] = ACTIONS(1250), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1250), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1250), + [aux_sym_preproc_else_token1] = ACTIONS(1250), + [aux_sym_preproc_elif_token1] = ACTIONS(1250), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1250), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1250), + [sym_preproc_directive] = ACTIONS(1250), + [anon_sym_LPAREN2] = ACTIONS(1252), + [anon_sym_BANG] = ACTIONS(1252), + [anon_sym_TILDE] = ACTIONS(1252), + [anon_sym_DASH] = ACTIONS(1250), + [anon_sym_PLUS] = ACTIONS(1250), + [anon_sym_STAR] = ACTIONS(1252), + [anon_sym_AMP] = ACTIONS(1252), + [anon_sym_SEMI] = ACTIONS(1252), + [anon_sym___extension__] = ACTIONS(1250), + [anon_sym_typedef] = ACTIONS(1250), + [anon_sym_extern] = ACTIONS(1250), + [anon_sym___attribute__] = ACTIONS(1250), + [anon_sym___attribute] = ACTIONS(1250), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1252), + [anon_sym___declspec] = ACTIONS(1250), + [anon_sym___cdecl] = ACTIONS(1250), + [anon_sym___clrcall] = ACTIONS(1250), + [anon_sym___stdcall] = ACTIONS(1250), + [anon_sym___fastcall] = ACTIONS(1250), + [anon_sym___thiscall] = ACTIONS(1250), + [anon_sym___vectorcall] = ACTIONS(1250), + [anon_sym_LBRACE] = ACTIONS(1252), + [anon_sym_signed] = ACTIONS(1250), + [anon_sym_unsigned] = ACTIONS(1250), + [anon_sym_long] = ACTIONS(1250), + [anon_sym_short] = ACTIONS(1250), + [anon_sym_static] = ACTIONS(1250), + [anon_sym_auto] = ACTIONS(1250), + [anon_sym_register] = ACTIONS(1250), + [anon_sym_inline] = ACTIONS(1250), + [anon_sym___inline] = ACTIONS(1250), + [anon_sym___inline__] = ACTIONS(1250), + [anon_sym___forceinline] = ACTIONS(1250), + [anon_sym_thread_local] = ACTIONS(1250), + [anon_sym___thread] = ACTIONS(1250), + [anon_sym_const] = ACTIONS(1250), + [anon_sym_constexpr] = ACTIONS(1250), + [anon_sym_volatile] = ACTIONS(1250), + [anon_sym_restrict] = ACTIONS(1250), + [anon_sym___restrict__] = ACTIONS(1250), + [anon_sym__Atomic] = ACTIONS(1250), + [anon_sym__Noreturn] = ACTIONS(1250), + [anon_sym_noreturn] = ACTIONS(1250), + [anon_sym__Nonnull] = ACTIONS(1250), + [anon_sym_alignas] = ACTIONS(1250), + [anon_sym__Alignas] = ACTIONS(1250), + [sym_primitive_type] = ACTIONS(1250), + [anon_sym_enum] = ACTIONS(1250), + [anon_sym_struct] = ACTIONS(1250), + [anon_sym_union] = ACTIONS(1250), + [anon_sym_if] = ACTIONS(1250), + [anon_sym_else] = ACTIONS(1250), + [anon_sym_switch] = ACTIONS(1250), + [anon_sym_case] = ACTIONS(1250), + [anon_sym_default] = ACTIONS(1250), + [anon_sym_while] = ACTIONS(1250), + [anon_sym_do] = ACTIONS(1250), + [anon_sym_for] = ACTIONS(1250), + [anon_sym_return] = ACTIONS(1250), + [anon_sym_break] = ACTIONS(1250), + [anon_sym_continue] = ACTIONS(1250), + [anon_sym_goto] = ACTIONS(1250), + [anon_sym___try] = ACTIONS(1250), + [anon_sym___leave] = ACTIONS(1250), + [anon_sym_DASH_DASH] = ACTIONS(1252), + [anon_sym_PLUS_PLUS] = ACTIONS(1252), + [anon_sym_sizeof] = ACTIONS(1250), + [anon_sym___alignof__] = ACTIONS(1250), + [anon_sym___alignof] = ACTIONS(1250), + [anon_sym__alignof] = ACTIONS(1250), + [anon_sym_alignof] = ACTIONS(1250), + [anon_sym__Alignof] = ACTIONS(1250), + [anon_sym_offsetof] = ACTIONS(1250), + [anon_sym__Generic] = ACTIONS(1250), + [anon_sym_asm] = ACTIONS(1250), + [anon_sym___asm__] = ACTIONS(1250), + [anon_sym___asm] = ACTIONS(1250), + [sym_number_literal] = ACTIONS(1252), + [anon_sym_L_SQUOTE] = ACTIONS(1252), + [anon_sym_u_SQUOTE] = ACTIONS(1252), + [anon_sym_U_SQUOTE] = ACTIONS(1252), + [anon_sym_u8_SQUOTE] = ACTIONS(1252), + [anon_sym_SQUOTE] = ACTIONS(1252), + [anon_sym_L_DQUOTE] = ACTIONS(1252), + [anon_sym_u_DQUOTE] = ACTIONS(1252), + [anon_sym_U_DQUOTE] = ACTIONS(1252), + [anon_sym_u8_DQUOTE] = ACTIONS(1252), + [anon_sym_DQUOTE] = ACTIONS(1252), + [sym_true] = ACTIONS(1250), + [sym_false] = ACTIONS(1250), + [anon_sym_NULL] = ACTIONS(1250), + [anon_sym_nullptr] = ACTIONS(1250), + [sym_comment] = ACTIONS(3), + }, + [115] = { + [ts_builtin_sym_end] = ACTIONS(1232), + [sym_identifier] = ACTIONS(1230), + [aux_sym_preproc_include_token1] = ACTIONS(1230), + [aux_sym_preproc_def_token1] = ACTIONS(1230), + [anon_sym_COMMA] = ACTIONS(1232), + [anon_sym_RPAREN] = ACTIONS(1232), + [aux_sym_preproc_if_token1] = ACTIONS(1230), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1230), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1230), + [sym_preproc_directive] = ACTIONS(1230), + [anon_sym_LPAREN2] = ACTIONS(1232), + [anon_sym_BANG] = ACTIONS(1232), + [anon_sym_TILDE] = ACTIONS(1232), + [anon_sym_DASH] = ACTIONS(1230), + [anon_sym_PLUS] = ACTIONS(1230), + [anon_sym_STAR] = ACTIONS(1232), + [anon_sym_AMP] = ACTIONS(1232), + [anon_sym_SEMI] = ACTIONS(1232), + [anon_sym___extension__] = ACTIONS(1230), + [anon_sym_typedef] = ACTIONS(1230), + [anon_sym_extern] = ACTIONS(1230), + [anon_sym___attribute__] = ACTIONS(1230), + [anon_sym___attribute] = ACTIONS(1230), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1232), + [anon_sym___declspec] = ACTIONS(1230), + [anon_sym___cdecl] = ACTIONS(1230), + [anon_sym___clrcall] = ACTIONS(1230), + [anon_sym___stdcall] = ACTIONS(1230), + [anon_sym___fastcall] = ACTIONS(1230), + [anon_sym___thiscall] = ACTIONS(1230), + [anon_sym___vectorcall] = ACTIONS(1230), + [anon_sym_LBRACE] = ACTIONS(1232), + [anon_sym_signed] = ACTIONS(1230), + [anon_sym_unsigned] = ACTIONS(1230), + [anon_sym_long] = ACTIONS(1230), + [anon_sym_short] = ACTIONS(1230), + [anon_sym_static] = ACTIONS(1230), + [anon_sym_auto] = ACTIONS(1230), + [anon_sym_register] = ACTIONS(1230), + [anon_sym_inline] = ACTIONS(1230), + [anon_sym___inline] = ACTIONS(1230), + [anon_sym___inline__] = ACTIONS(1230), + [anon_sym___forceinline] = ACTIONS(1230), + [anon_sym_thread_local] = ACTIONS(1230), + [anon_sym___thread] = ACTIONS(1230), + [anon_sym_const] = ACTIONS(1230), + [anon_sym_constexpr] = ACTIONS(1230), + [anon_sym_volatile] = ACTIONS(1230), + [anon_sym_restrict] = ACTIONS(1230), + [anon_sym___restrict__] = ACTIONS(1230), + [anon_sym__Atomic] = ACTIONS(1230), + [anon_sym__Noreturn] = ACTIONS(1230), + [anon_sym_noreturn] = ACTIONS(1230), + [anon_sym__Nonnull] = ACTIONS(1230), + [anon_sym_alignas] = ACTIONS(1230), + [anon_sym__Alignas] = ACTIONS(1230), + [sym_primitive_type] = ACTIONS(1230), + [anon_sym_enum] = ACTIONS(1230), + [anon_sym_struct] = ACTIONS(1230), + [anon_sym_union] = ACTIONS(1230), + [anon_sym_if] = ACTIONS(1230), + [anon_sym_else] = ACTIONS(1230), + [anon_sym_switch] = ACTIONS(1230), + [anon_sym_case] = ACTIONS(1230), + [anon_sym_default] = ACTIONS(1230), + [anon_sym_while] = ACTIONS(1230), + [anon_sym_do] = ACTIONS(1230), + [anon_sym_for] = ACTIONS(1230), + [anon_sym_return] = ACTIONS(1230), + [anon_sym_break] = ACTIONS(1230), + [anon_sym_continue] = ACTIONS(1230), + [anon_sym_goto] = ACTIONS(1230), + [anon_sym___try] = ACTIONS(1230), + [anon_sym___except] = ACTIONS(1230), + [anon_sym___finally] = ACTIONS(1230), + [anon_sym___leave] = ACTIONS(1230), + [anon_sym_DASH_DASH] = ACTIONS(1232), + [anon_sym_PLUS_PLUS] = ACTIONS(1232), + [anon_sym_sizeof] = ACTIONS(1230), + [anon_sym___alignof__] = ACTIONS(1230), + [anon_sym___alignof] = ACTIONS(1230), + [anon_sym__alignof] = ACTIONS(1230), + [anon_sym_alignof] = ACTIONS(1230), + [anon_sym__Alignof] = ACTIONS(1230), + [anon_sym_offsetof] = ACTIONS(1230), + [anon_sym__Generic] = ACTIONS(1230), + [anon_sym_asm] = ACTIONS(1230), + [anon_sym___asm__] = ACTIONS(1230), + [anon_sym___asm] = ACTIONS(1230), + [sym_number_literal] = ACTIONS(1232), + [anon_sym_L_SQUOTE] = ACTIONS(1232), + [anon_sym_u_SQUOTE] = ACTIONS(1232), + [anon_sym_U_SQUOTE] = ACTIONS(1232), + [anon_sym_u8_SQUOTE] = ACTIONS(1232), + [anon_sym_SQUOTE] = ACTIONS(1232), + [anon_sym_L_DQUOTE] = ACTIONS(1232), + [anon_sym_u_DQUOTE] = ACTIONS(1232), + [anon_sym_U_DQUOTE] = ACTIONS(1232), + [anon_sym_u8_DQUOTE] = ACTIONS(1232), + [anon_sym_DQUOTE] = ACTIONS(1232), + [sym_true] = ACTIONS(1230), + [sym_false] = ACTIONS(1230), + [anon_sym_NULL] = ACTIONS(1230), + [anon_sym_nullptr] = ACTIONS(1230), + [sym_comment] = ACTIONS(3), + }, + [116] = { + [sym_identifier] = ACTIONS(1254), + [aux_sym_preproc_include_token1] = ACTIONS(1254), + [aux_sym_preproc_def_token1] = ACTIONS(1254), + [aux_sym_preproc_if_token1] = ACTIONS(1254), + [aux_sym_preproc_if_token2] = ACTIONS(1254), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1254), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1254), + [aux_sym_preproc_else_token1] = ACTIONS(1254), + [aux_sym_preproc_elif_token1] = ACTIONS(1254), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1254), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1254), + [sym_preproc_directive] = ACTIONS(1254), + [anon_sym_LPAREN2] = ACTIONS(1256), + [anon_sym_BANG] = ACTIONS(1256), + [anon_sym_TILDE] = ACTIONS(1256), + [anon_sym_DASH] = ACTIONS(1254), + [anon_sym_PLUS] = ACTIONS(1254), + [anon_sym_STAR] = ACTIONS(1256), + [anon_sym_AMP] = ACTIONS(1256), + [anon_sym_SEMI] = ACTIONS(1256), + [anon_sym___extension__] = ACTIONS(1254), + [anon_sym_typedef] = ACTIONS(1254), + [anon_sym_extern] = ACTIONS(1254), + [anon_sym___attribute__] = ACTIONS(1254), + [anon_sym___attribute] = ACTIONS(1254), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1256), + [anon_sym___declspec] = ACTIONS(1254), + [anon_sym___cdecl] = ACTIONS(1254), + [anon_sym___clrcall] = ACTIONS(1254), + [anon_sym___stdcall] = ACTIONS(1254), + [anon_sym___fastcall] = ACTIONS(1254), + [anon_sym___thiscall] = ACTIONS(1254), + [anon_sym___vectorcall] = ACTIONS(1254), + [anon_sym_LBRACE] = ACTIONS(1256), + [anon_sym_signed] = ACTIONS(1254), + [anon_sym_unsigned] = ACTIONS(1254), + [anon_sym_long] = ACTIONS(1254), + [anon_sym_short] = ACTIONS(1254), + [anon_sym_static] = ACTIONS(1254), + [anon_sym_auto] = ACTIONS(1254), + [anon_sym_register] = ACTIONS(1254), + [anon_sym_inline] = ACTIONS(1254), + [anon_sym___inline] = ACTIONS(1254), + [anon_sym___inline__] = ACTIONS(1254), + [anon_sym___forceinline] = ACTIONS(1254), + [anon_sym_thread_local] = ACTIONS(1254), + [anon_sym___thread] = ACTIONS(1254), + [anon_sym_const] = ACTIONS(1254), + [anon_sym_constexpr] = ACTIONS(1254), + [anon_sym_volatile] = ACTIONS(1254), + [anon_sym_restrict] = ACTIONS(1254), + [anon_sym___restrict__] = ACTIONS(1254), + [anon_sym__Atomic] = ACTIONS(1254), + [anon_sym__Noreturn] = ACTIONS(1254), + [anon_sym_noreturn] = ACTIONS(1254), + [anon_sym__Nonnull] = ACTIONS(1254), + [anon_sym_alignas] = ACTIONS(1254), + [anon_sym__Alignas] = ACTIONS(1254), + [sym_primitive_type] = ACTIONS(1254), + [anon_sym_enum] = ACTIONS(1254), + [anon_sym_struct] = ACTIONS(1254), + [anon_sym_union] = ACTIONS(1254), + [anon_sym_if] = ACTIONS(1254), + [anon_sym_else] = ACTIONS(1254), + [anon_sym_switch] = ACTIONS(1254), + [anon_sym_case] = ACTIONS(1254), + [anon_sym_default] = ACTIONS(1254), + [anon_sym_while] = ACTIONS(1254), + [anon_sym_do] = ACTIONS(1254), + [anon_sym_for] = ACTIONS(1254), + [anon_sym_return] = ACTIONS(1254), + [anon_sym_break] = ACTIONS(1254), + [anon_sym_continue] = ACTIONS(1254), + [anon_sym_goto] = ACTIONS(1254), + [anon_sym___try] = ACTIONS(1254), + [anon_sym___leave] = ACTIONS(1254), + [anon_sym_DASH_DASH] = ACTIONS(1256), + [anon_sym_PLUS_PLUS] = ACTIONS(1256), + [anon_sym_sizeof] = ACTIONS(1254), + [anon_sym___alignof__] = ACTIONS(1254), + [anon_sym___alignof] = ACTIONS(1254), + [anon_sym__alignof] = ACTIONS(1254), + [anon_sym_alignof] = ACTIONS(1254), + [anon_sym__Alignof] = ACTIONS(1254), + [anon_sym_offsetof] = ACTIONS(1254), + [anon_sym__Generic] = ACTIONS(1254), + [anon_sym_asm] = ACTIONS(1254), + [anon_sym___asm__] = ACTIONS(1254), + [anon_sym___asm] = ACTIONS(1254), + [sym_number_literal] = ACTIONS(1256), + [anon_sym_L_SQUOTE] = ACTIONS(1256), + [anon_sym_u_SQUOTE] = ACTIONS(1256), + [anon_sym_U_SQUOTE] = ACTIONS(1256), + [anon_sym_u8_SQUOTE] = ACTIONS(1256), + [anon_sym_SQUOTE] = ACTIONS(1256), + [anon_sym_L_DQUOTE] = ACTIONS(1256), + [anon_sym_u_DQUOTE] = ACTIONS(1256), + [anon_sym_U_DQUOTE] = ACTIONS(1256), + [anon_sym_u8_DQUOTE] = ACTIONS(1256), + [anon_sym_DQUOTE] = ACTIONS(1256), + [sym_true] = ACTIONS(1254), + [sym_false] = ACTIONS(1254), + [anon_sym_NULL] = ACTIONS(1254), + [anon_sym_nullptr] = ACTIONS(1254), + [sym_comment] = ACTIONS(3), + }, + [117] = { + [ts_builtin_sym_end] = ACTIONS(1220), + [sym_identifier] = ACTIONS(1218), + [aux_sym_preproc_include_token1] = ACTIONS(1218), + [aux_sym_preproc_def_token1] = ACTIONS(1218), + [anon_sym_COMMA] = ACTIONS(1220), + [anon_sym_RPAREN] = ACTIONS(1220), + [aux_sym_preproc_if_token1] = ACTIONS(1218), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1218), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1218), + [sym_preproc_directive] = ACTIONS(1218), + [anon_sym_LPAREN2] = ACTIONS(1220), + [anon_sym_BANG] = ACTIONS(1220), + [anon_sym_TILDE] = ACTIONS(1220), + [anon_sym_DASH] = ACTIONS(1218), + [anon_sym_PLUS] = ACTIONS(1218), + [anon_sym_STAR] = ACTIONS(1220), + [anon_sym_AMP] = ACTIONS(1220), + [anon_sym_SEMI] = ACTIONS(1220), + [anon_sym___extension__] = ACTIONS(1218), + [anon_sym_typedef] = ACTIONS(1218), + [anon_sym_extern] = ACTIONS(1218), + [anon_sym___attribute__] = ACTIONS(1218), + [anon_sym___attribute] = ACTIONS(1218), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1220), + [anon_sym___declspec] = ACTIONS(1218), + [anon_sym___cdecl] = ACTIONS(1218), + [anon_sym___clrcall] = ACTIONS(1218), + [anon_sym___stdcall] = ACTIONS(1218), + [anon_sym___fastcall] = ACTIONS(1218), + [anon_sym___thiscall] = ACTIONS(1218), + [anon_sym___vectorcall] = ACTIONS(1218), + [anon_sym_LBRACE] = ACTIONS(1220), + [anon_sym_signed] = ACTIONS(1218), + [anon_sym_unsigned] = ACTIONS(1218), + [anon_sym_long] = ACTIONS(1218), + [anon_sym_short] = ACTIONS(1218), + [anon_sym_static] = ACTIONS(1218), + [anon_sym_auto] = ACTIONS(1218), + [anon_sym_register] = ACTIONS(1218), + [anon_sym_inline] = ACTIONS(1218), + [anon_sym___inline] = ACTIONS(1218), + [anon_sym___inline__] = ACTIONS(1218), + [anon_sym___forceinline] = ACTIONS(1218), + [anon_sym_thread_local] = ACTIONS(1218), + [anon_sym___thread] = ACTIONS(1218), + [anon_sym_const] = ACTIONS(1218), + [anon_sym_constexpr] = ACTIONS(1218), + [anon_sym_volatile] = ACTIONS(1218), + [anon_sym_restrict] = ACTIONS(1218), + [anon_sym___restrict__] = ACTIONS(1218), + [anon_sym__Atomic] = ACTIONS(1218), + [anon_sym__Noreturn] = ACTIONS(1218), + [anon_sym_noreturn] = ACTIONS(1218), + [anon_sym__Nonnull] = ACTIONS(1218), + [anon_sym_alignas] = ACTIONS(1218), + [anon_sym__Alignas] = ACTIONS(1218), + [sym_primitive_type] = ACTIONS(1218), + [anon_sym_enum] = ACTIONS(1218), + [anon_sym_struct] = ACTIONS(1218), + [anon_sym_union] = ACTIONS(1218), + [anon_sym_if] = ACTIONS(1218), + [anon_sym_else] = ACTIONS(1218), + [anon_sym_switch] = ACTIONS(1218), + [anon_sym_case] = ACTIONS(1218), + [anon_sym_default] = ACTIONS(1218), + [anon_sym_while] = ACTIONS(1218), + [anon_sym_do] = ACTIONS(1218), + [anon_sym_for] = ACTIONS(1218), + [anon_sym_return] = ACTIONS(1218), + [anon_sym_break] = ACTIONS(1218), + [anon_sym_continue] = ACTIONS(1218), + [anon_sym_goto] = ACTIONS(1218), + [anon_sym___try] = ACTIONS(1218), + [anon_sym___except] = ACTIONS(1218), + [anon_sym___finally] = ACTIONS(1218), + [anon_sym___leave] = ACTIONS(1218), + [anon_sym_DASH_DASH] = ACTIONS(1220), + [anon_sym_PLUS_PLUS] = ACTIONS(1220), + [anon_sym_sizeof] = ACTIONS(1218), + [anon_sym___alignof__] = ACTIONS(1218), + [anon_sym___alignof] = ACTIONS(1218), + [anon_sym__alignof] = ACTIONS(1218), + [anon_sym_alignof] = ACTIONS(1218), + [anon_sym__Alignof] = ACTIONS(1218), + [anon_sym_offsetof] = ACTIONS(1218), + [anon_sym__Generic] = ACTIONS(1218), + [anon_sym_asm] = ACTIONS(1218), + [anon_sym___asm__] = ACTIONS(1218), + [anon_sym___asm] = ACTIONS(1218), + [sym_number_literal] = ACTIONS(1220), + [anon_sym_L_SQUOTE] = ACTIONS(1220), + [anon_sym_u_SQUOTE] = ACTIONS(1220), + [anon_sym_U_SQUOTE] = ACTIONS(1220), + [anon_sym_u8_SQUOTE] = ACTIONS(1220), + [anon_sym_SQUOTE] = ACTIONS(1220), + [anon_sym_L_DQUOTE] = ACTIONS(1220), + [anon_sym_u_DQUOTE] = ACTIONS(1220), + [anon_sym_U_DQUOTE] = ACTIONS(1220), + [anon_sym_u8_DQUOTE] = ACTIONS(1220), + [anon_sym_DQUOTE] = ACTIONS(1220), + [sym_true] = ACTIONS(1218), + [sym_false] = ACTIONS(1218), + [anon_sym_NULL] = ACTIONS(1218), + [anon_sym_nullptr] = ACTIONS(1218), + [sym_comment] = ACTIONS(3), + }, + [118] = { + [sym_identifier] = ACTIONS(1258), + [aux_sym_preproc_include_token1] = ACTIONS(1258), + [aux_sym_preproc_def_token1] = ACTIONS(1258), + [aux_sym_preproc_if_token1] = ACTIONS(1258), + [aux_sym_preproc_if_token2] = ACTIONS(1258), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1258), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1258), + [aux_sym_preproc_else_token1] = ACTIONS(1258), + [aux_sym_preproc_elif_token1] = ACTIONS(1258), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1258), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1258), + [sym_preproc_directive] = ACTIONS(1258), + [anon_sym_LPAREN2] = ACTIONS(1260), + [anon_sym_BANG] = ACTIONS(1260), + [anon_sym_TILDE] = ACTIONS(1260), + [anon_sym_DASH] = ACTIONS(1258), + [anon_sym_PLUS] = ACTIONS(1258), + [anon_sym_STAR] = ACTIONS(1260), + [anon_sym_AMP] = ACTIONS(1260), + [anon_sym_SEMI] = ACTIONS(1260), + [anon_sym___extension__] = ACTIONS(1258), + [anon_sym_typedef] = ACTIONS(1258), + [anon_sym_extern] = ACTIONS(1258), + [anon_sym___attribute__] = ACTIONS(1258), + [anon_sym___attribute] = ACTIONS(1258), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1260), + [anon_sym___declspec] = ACTIONS(1258), + [anon_sym___cdecl] = ACTIONS(1258), + [anon_sym___clrcall] = ACTIONS(1258), + [anon_sym___stdcall] = ACTIONS(1258), + [anon_sym___fastcall] = ACTIONS(1258), + [anon_sym___thiscall] = ACTIONS(1258), + [anon_sym___vectorcall] = ACTIONS(1258), + [anon_sym_LBRACE] = ACTIONS(1260), + [anon_sym_signed] = ACTIONS(1258), + [anon_sym_unsigned] = ACTIONS(1258), + [anon_sym_long] = ACTIONS(1258), + [anon_sym_short] = ACTIONS(1258), + [anon_sym_static] = ACTIONS(1258), + [anon_sym_auto] = ACTIONS(1258), + [anon_sym_register] = ACTIONS(1258), + [anon_sym_inline] = ACTIONS(1258), + [anon_sym___inline] = ACTIONS(1258), + [anon_sym___inline__] = ACTIONS(1258), + [anon_sym___forceinline] = ACTIONS(1258), + [anon_sym_thread_local] = ACTIONS(1258), + [anon_sym___thread] = ACTIONS(1258), + [anon_sym_const] = ACTIONS(1258), + [anon_sym_constexpr] = ACTIONS(1258), + [anon_sym_volatile] = ACTIONS(1258), + [anon_sym_restrict] = ACTIONS(1258), + [anon_sym___restrict__] = ACTIONS(1258), + [anon_sym__Atomic] = ACTIONS(1258), + [anon_sym__Noreturn] = ACTIONS(1258), + [anon_sym_noreturn] = ACTIONS(1258), + [anon_sym__Nonnull] = ACTIONS(1258), + [anon_sym_alignas] = ACTIONS(1258), + [anon_sym__Alignas] = ACTIONS(1258), + [sym_primitive_type] = ACTIONS(1258), + [anon_sym_enum] = ACTIONS(1258), + [anon_sym_struct] = ACTIONS(1258), + [anon_sym_union] = ACTIONS(1258), + [anon_sym_if] = ACTIONS(1258), + [anon_sym_else] = ACTIONS(1258), + [anon_sym_switch] = ACTIONS(1258), + [anon_sym_case] = ACTIONS(1258), + [anon_sym_default] = ACTIONS(1258), + [anon_sym_while] = ACTIONS(1258), + [anon_sym_do] = ACTIONS(1258), + [anon_sym_for] = ACTIONS(1258), + [anon_sym_return] = ACTIONS(1258), + [anon_sym_break] = ACTIONS(1258), + [anon_sym_continue] = ACTIONS(1258), + [anon_sym_goto] = ACTIONS(1258), + [anon_sym___try] = ACTIONS(1258), + [anon_sym___leave] = ACTIONS(1258), + [anon_sym_DASH_DASH] = ACTIONS(1260), + [anon_sym_PLUS_PLUS] = ACTIONS(1260), + [anon_sym_sizeof] = ACTIONS(1258), + [anon_sym___alignof__] = ACTIONS(1258), + [anon_sym___alignof] = ACTIONS(1258), + [anon_sym__alignof] = ACTIONS(1258), + [anon_sym_alignof] = ACTIONS(1258), + [anon_sym__Alignof] = ACTIONS(1258), + [anon_sym_offsetof] = ACTIONS(1258), + [anon_sym__Generic] = ACTIONS(1258), + [anon_sym_asm] = ACTIONS(1258), + [anon_sym___asm__] = ACTIONS(1258), + [anon_sym___asm] = ACTIONS(1258), + [sym_number_literal] = ACTIONS(1260), + [anon_sym_L_SQUOTE] = ACTIONS(1260), + [anon_sym_u_SQUOTE] = ACTIONS(1260), + [anon_sym_U_SQUOTE] = ACTIONS(1260), + [anon_sym_u8_SQUOTE] = ACTIONS(1260), + [anon_sym_SQUOTE] = ACTIONS(1260), + [anon_sym_L_DQUOTE] = ACTIONS(1260), + [anon_sym_u_DQUOTE] = ACTIONS(1260), + [anon_sym_U_DQUOTE] = ACTIONS(1260), + [anon_sym_u8_DQUOTE] = ACTIONS(1260), + [anon_sym_DQUOTE] = ACTIONS(1260), + [sym_true] = ACTIONS(1258), + [sym_false] = ACTIONS(1258), + [anon_sym_NULL] = ACTIONS(1258), + [anon_sym_nullptr] = ACTIONS(1258), + [sym_comment] = ACTIONS(3), + }, + [119] = { + [sym_identifier] = ACTIONS(1262), + [aux_sym_preproc_include_token1] = ACTIONS(1262), + [aux_sym_preproc_def_token1] = ACTIONS(1262), + [aux_sym_preproc_if_token1] = ACTIONS(1262), + [aux_sym_preproc_if_token2] = ACTIONS(1262), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1262), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1262), + [aux_sym_preproc_else_token1] = ACTIONS(1262), + [aux_sym_preproc_elif_token1] = ACTIONS(1262), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1262), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1262), + [sym_preproc_directive] = ACTIONS(1262), + [anon_sym_LPAREN2] = ACTIONS(1265), + [anon_sym_BANG] = ACTIONS(1265), + [anon_sym_TILDE] = ACTIONS(1265), + [anon_sym_DASH] = ACTIONS(1262), + [anon_sym_PLUS] = ACTIONS(1262), + [anon_sym_STAR] = ACTIONS(1265), + [anon_sym_AMP] = ACTIONS(1265), + [anon_sym_SEMI] = ACTIONS(1265), + [anon_sym___extension__] = ACTIONS(1262), + [anon_sym_typedef] = ACTIONS(1262), + [anon_sym_extern] = ACTIONS(1262), + [anon_sym___attribute__] = ACTIONS(1262), + [anon_sym___attribute] = ACTIONS(1262), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1265), + [anon_sym___declspec] = ACTIONS(1262), + [anon_sym___cdecl] = ACTIONS(1262), + [anon_sym___clrcall] = ACTIONS(1262), + [anon_sym___stdcall] = ACTIONS(1262), + [anon_sym___fastcall] = ACTIONS(1262), + [anon_sym___thiscall] = ACTIONS(1262), + [anon_sym___vectorcall] = ACTIONS(1262), + [anon_sym_LBRACE] = ACTIONS(1265), + [anon_sym_signed] = ACTIONS(1262), + [anon_sym_unsigned] = ACTIONS(1262), + [anon_sym_long] = ACTIONS(1262), + [anon_sym_short] = ACTIONS(1262), + [anon_sym_static] = ACTIONS(1262), + [anon_sym_auto] = ACTIONS(1262), + [anon_sym_register] = ACTIONS(1262), + [anon_sym_inline] = ACTIONS(1262), + [anon_sym___inline] = ACTIONS(1262), + [anon_sym___inline__] = ACTIONS(1262), + [anon_sym___forceinline] = ACTIONS(1262), + [anon_sym_thread_local] = ACTIONS(1262), + [anon_sym___thread] = ACTIONS(1262), + [anon_sym_const] = ACTIONS(1262), + [anon_sym_constexpr] = ACTIONS(1262), + [anon_sym_volatile] = ACTIONS(1262), + [anon_sym_restrict] = ACTIONS(1262), + [anon_sym___restrict__] = ACTIONS(1262), + [anon_sym__Atomic] = ACTIONS(1262), + [anon_sym__Noreturn] = ACTIONS(1262), + [anon_sym_noreturn] = ACTIONS(1262), + [anon_sym__Nonnull] = ACTIONS(1262), + [anon_sym_alignas] = ACTIONS(1262), + [anon_sym__Alignas] = ACTIONS(1262), + [sym_primitive_type] = ACTIONS(1262), + [anon_sym_enum] = ACTIONS(1262), + [anon_sym_struct] = ACTIONS(1262), + [anon_sym_union] = ACTIONS(1262), + [anon_sym_if] = ACTIONS(1262), + [anon_sym_switch] = ACTIONS(1262), + [anon_sym_case] = ACTIONS(1262), + [anon_sym_default] = ACTIONS(1262), + [anon_sym_while] = ACTIONS(1262), + [anon_sym_do] = ACTIONS(1262), + [anon_sym_for] = ACTIONS(1262), + [anon_sym_return] = ACTIONS(1262), + [anon_sym_break] = ACTIONS(1262), + [anon_sym_continue] = ACTIONS(1262), + [anon_sym_goto] = ACTIONS(1262), + [anon_sym___try] = ACTIONS(1262), + [anon_sym___leave] = ACTIONS(1262), + [anon_sym_DASH_DASH] = ACTIONS(1265), + [anon_sym_PLUS_PLUS] = ACTIONS(1265), + [anon_sym_sizeof] = ACTIONS(1262), + [anon_sym___alignof__] = ACTIONS(1262), + [anon_sym___alignof] = ACTIONS(1262), + [anon_sym__alignof] = ACTIONS(1262), + [anon_sym_alignof] = ACTIONS(1262), + [anon_sym__Alignof] = ACTIONS(1262), + [anon_sym_offsetof] = ACTIONS(1262), + [anon_sym__Generic] = ACTIONS(1262), + [anon_sym_asm] = ACTIONS(1262), + [anon_sym___asm__] = ACTIONS(1262), + [anon_sym___asm] = ACTIONS(1262), + [sym_number_literal] = ACTIONS(1265), + [anon_sym_L_SQUOTE] = ACTIONS(1265), + [anon_sym_u_SQUOTE] = ACTIONS(1265), + [anon_sym_U_SQUOTE] = ACTIONS(1265), + [anon_sym_u8_SQUOTE] = ACTIONS(1265), + [anon_sym_SQUOTE] = ACTIONS(1265), + [anon_sym_L_DQUOTE] = ACTIONS(1265), + [anon_sym_u_DQUOTE] = ACTIONS(1265), + [anon_sym_U_DQUOTE] = ACTIONS(1265), + [anon_sym_u8_DQUOTE] = ACTIONS(1265), + [anon_sym_DQUOTE] = ACTIONS(1265), + [sym_true] = ACTIONS(1262), + [sym_false] = ACTIONS(1262), + [anon_sym_NULL] = ACTIONS(1262), + [anon_sym_nullptr] = ACTIONS(1262), + [sym_comment] = ACTIONS(3), + }, + [120] = { + [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___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__Nonnull] = 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), + [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), + }, + [121] = { + [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(1274), + [anon_sym_BANG] = ACTIONS(1274), + [anon_sym_TILDE] = ACTIONS(1274), + [anon_sym_DASH] = ACTIONS(1272), + [anon_sym_PLUS] = ACTIONS(1272), + [anon_sym_STAR] = ACTIONS(1274), + [anon_sym_AMP] = ACTIONS(1274), + [anon_sym_SEMI] = ACTIONS(1274), + [anon_sym___extension__] = ACTIONS(1272), + [anon_sym_typedef] = ACTIONS(1272), + [anon_sym_extern] = ACTIONS(1272), + [anon_sym___attribute__] = ACTIONS(1272), + [anon_sym___attribute] = ACTIONS(1272), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1274), + [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(1274), + [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__Nonnull] = 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(1274), + [anon_sym_PLUS_PLUS] = ACTIONS(1274), + [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), + [anon_sym___asm] = ACTIONS(1272), + [sym_number_literal] = ACTIONS(1274), + [anon_sym_L_SQUOTE] = ACTIONS(1274), + [anon_sym_u_SQUOTE] = ACTIONS(1274), + [anon_sym_U_SQUOTE] = ACTIONS(1274), + [anon_sym_u8_SQUOTE] = ACTIONS(1274), + [anon_sym_SQUOTE] = ACTIONS(1274), + [anon_sym_L_DQUOTE] = ACTIONS(1274), + [anon_sym_u_DQUOTE] = ACTIONS(1274), + [anon_sym_U_DQUOTE] = ACTIONS(1274), + [anon_sym_u8_DQUOTE] = ACTIONS(1274), + [anon_sym_DQUOTE] = ACTIONS(1274), + [sym_true] = ACTIONS(1272), + [sym_false] = ACTIONS(1272), + [anon_sym_NULL] = ACTIONS(1272), + [anon_sym_nullptr] = ACTIONS(1272), + [sym_comment] = ACTIONS(3), + }, + [122] = { + [sym_identifier] = ACTIONS(1276), + [aux_sym_preproc_include_token1] = ACTIONS(1276), + [aux_sym_preproc_def_token1] = ACTIONS(1276), + [aux_sym_preproc_if_token1] = ACTIONS(1276), + [aux_sym_preproc_if_token2] = ACTIONS(1276), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1276), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1276), + [aux_sym_preproc_else_token1] = ACTIONS(1276), + [aux_sym_preproc_elif_token1] = ACTIONS(1276), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1276), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1276), + [sym_preproc_directive] = ACTIONS(1276), + [anon_sym_LPAREN2] = ACTIONS(1278), + [anon_sym_BANG] = ACTIONS(1278), + [anon_sym_TILDE] = ACTIONS(1278), + [anon_sym_DASH] = ACTIONS(1276), + [anon_sym_PLUS] = ACTIONS(1276), + [anon_sym_STAR] = ACTIONS(1278), + [anon_sym_AMP] = ACTIONS(1278), + [anon_sym_SEMI] = ACTIONS(1278), + [anon_sym___extension__] = ACTIONS(1276), + [anon_sym_typedef] = ACTIONS(1276), + [anon_sym_extern] = ACTIONS(1276), + [anon_sym___attribute__] = ACTIONS(1276), + [anon_sym___attribute] = ACTIONS(1276), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1278), + [anon_sym___declspec] = ACTIONS(1276), + [anon_sym___cdecl] = ACTIONS(1276), + [anon_sym___clrcall] = ACTIONS(1276), + [anon_sym___stdcall] = ACTIONS(1276), + [anon_sym___fastcall] = ACTIONS(1276), + [anon_sym___thiscall] = ACTIONS(1276), + [anon_sym___vectorcall] = ACTIONS(1276), + [anon_sym_LBRACE] = ACTIONS(1278), + [anon_sym_signed] = ACTIONS(1276), + [anon_sym_unsigned] = ACTIONS(1276), + [anon_sym_long] = ACTIONS(1276), + [anon_sym_short] = ACTIONS(1276), + [anon_sym_static] = ACTIONS(1276), + [anon_sym_auto] = ACTIONS(1276), + [anon_sym_register] = ACTIONS(1276), + [anon_sym_inline] = ACTIONS(1276), + [anon_sym___inline] = ACTIONS(1276), + [anon_sym___inline__] = ACTIONS(1276), + [anon_sym___forceinline] = ACTIONS(1276), + [anon_sym_thread_local] = ACTIONS(1276), + [anon_sym___thread] = ACTIONS(1276), + [anon_sym_const] = ACTIONS(1276), + [anon_sym_constexpr] = ACTIONS(1276), + [anon_sym_volatile] = ACTIONS(1276), + [anon_sym_restrict] = ACTIONS(1276), + [anon_sym___restrict__] = ACTIONS(1276), + [anon_sym__Atomic] = ACTIONS(1276), + [anon_sym__Noreturn] = ACTIONS(1276), + [anon_sym_noreturn] = ACTIONS(1276), + [anon_sym__Nonnull] = ACTIONS(1276), + [anon_sym_alignas] = ACTIONS(1276), + [anon_sym__Alignas] = ACTIONS(1276), + [sym_primitive_type] = ACTIONS(1276), + [anon_sym_enum] = ACTIONS(1276), + [anon_sym_struct] = ACTIONS(1276), + [anon_sym_union] = ACTIONS(1276), + [anon_sym_if] = ACTIONS(1276), + [anon_sym_switch] = ACTIONS(1276), + [anon_sym_case] = ACTIONS(1276), + [anon_sym_default] = ACTIONS(1276), + [anon_sym_while] = ACTIONS(1276), + [anon_sym_do] = ACTIONS(1276), + [anon_sym_for] = ACTIONS(1276), + [anon_sym_return] = ACTIONS(1276), + [anon_sym_break] = ACTIONS(1276), + [anon_sym_continue] = ACTIONS(1276), + [anon_sym_goto] = ACTIONS(1276), + [anon_sym___try] = ACTIONS(1276), + [anon_sym___leave] = ACTIONS(1276), + [anon_sym_DASH_DASH] = ACTIONS(1278), + [anon_sym_PLUS_PLUS] = ACTIONS(1278), + [anon_sym_sizeof] = ACTIONS(1276), + [anon_sym___alignof__] = ACTIONS(1276), + [anon_sym___alignof] = ACTIONS(1276), + [anon_sym__alignof] = ACTIONS(1276), + [anon_sym_alignof] = ACTIONS(1276), + [anon_sym__Alignof] = ACTIONS(1276), + [anon_sym_offsetof] = ACTIONS(1276), + [anon_sym__Generic] = ACTIONS(1276), + [anon_sym_asm] = ACTIONS(1276), + [anon_sym___asm__] = ACTIONS(1276), + [anon_sym___asm] = ACTIONS(1276), + [sym_number_literal] = ACTIONS(1278), + [anon_sym_L_SQUOTE] = ACTIONS(1278), + [anon_sym_u_SQUOTE] = ACTIONS(1278), + [anon_sym_U_SQUOTE] = ACTIONS(1278), + [anon_sym_u8_SQUOTE] = ACTIONS(1278), + [anon_sym_SQUOTE] = ACTIONS(1278), + [anon_sym_L_DQUOTE] = ACTIONS(1278), + [anon_sym_u_DQUOTE] = ACTIONS(1278), + [anon_sym_U_DQUOTE] = ACTIONS(1278), + [anon_sym_u8_DQUOTE] = ACTIONS(1278), + [anon_sym_DQUOTE] = ACTIONS(1278), + [sym_true] = ACTIONS(1276), + [sym_false] = ACTIONS(1276), + [anon_sym_NULL] = ACTIONS(1276), + [anon_sym_nullptr] = ACTIONS(1276), + [sym_comment] = ACTIONS(3), + }, + [123] = { + [sym_identifier] = ACTIONS(1280), + [aux_sym_preproc_include_token1] = ACTIONS(1280), + [aux_sym_preproc_def_token1] = ACTIONS(1280), + [aux_sym_preproc_if_token1] = ACTIONS(1280), + [aux_sym_preproc_if_token2] = ACTIONS(1280), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1280), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1280), + [aux_sym_preproc_else_token1] = ACTIONS(1280), + [aux_sym_preproc_elif_token1] = ACTIONS(1280), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1280), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1280), + [sym_preproc_directive] = ACTIONS(1280), + [anon_sym_LPAREN2] = ACTIONS(1282), + [anon_sym_BANG] = ACTIONS(1282), + [anon_sym_TILDE] = ACTIONS(1282), + [anon_sym_DASH] = ACTIONS(1280), + [anon_sym_PLUS] = ACTIONS(1280), + [anon_sym_STAR] = ACTIONS(1282), + [anon_sym_AMP] = ACTIONS(1282), + [anon_sym_SEMI] = ACTIONS(1282), + [anon_sym___extension__] = ACTIONS(1280), + [anon_sym_typedef] = ACTIONS(1280), + [anon_sym_extern] = ACTIONS(1280), + [anon_sym___attribute__] = ACTIONS(1280), + [anon_sym___attribute] = ACTIONS(1280), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1282), + [anon_sym___declspec] = ACTIONS(1280), + [anon_sym___cdecl] = ACTIONS(1280), + [anon_sym___clrcall] = ACTIONS(1280), + [anon_sym___stdcall] = ACTIONS(1280), + [anon_sym___fastcall] = ACTIONS(1280), + [anon_sym___thiscall] = ACTIONS(1280), + [anon_sym___vectorcall] = ACTIONS(1280), + [anon_sym_LBRACE] = ACTIONS(1282), + [anon_sym_signed] = ACTIONS(1280), + [anon_sym_unsigned] = ACTIONS(1280), + [anon_sym_long] = ACTIONS(1280), + [anon_sym_short] = ACTIONS(1280), + [anon_sym_static] = ACTIONS(1280), + [anon_sym_auto] = ACTIONS(1280), + [anon_sym_register] = ACTIONS(1280), + [anon_sym_inline] = ACTIONS(1280), + [anon_sym___inline] = ACTIONS(1280), + [anon_sym___inline__] = ACTIONS(1280), + [anon_sym___forceinline] = ACTIONS(1280), + [anon_sym_thread_local] = ACTIONS(1280), + [anon_sym___thread] = ACTIONS(1280), + [anon_sym_const] = ACTIONS(1280), + [anon_sym_constexpr] = ACTIONS(1280), + [anon_sym_volatile] = ACTIONS(1280), + [anon_sym_restrict] = ACTIONS(1280), + [anon_sym___restrict__] = ACTIONS(1280), + [anon_sym__Atomic] = ACTIONS(1280), + [anon_sym__Noreturn] = ACTIONS(1280), + [anon_sym_noreturn] = ACTIONS(1280), + [anon_sym__Nonnull] = ACTIONS(1280), + [anon_sym_alignas] = ACTIONS(1280), + [anon_sym__Alignas] = ACTIONS(1280), + [sym_primitive_type] = ACTIONS(1280), + [anon_sym_enum] = ACTIONS(1280), + [anon_sym_struct] = ACTIONS(1280), + [anon_sym_union] = ACTIONS(1280), + [anon_sym_if] = ACTIONS(1280), + [anon_sym_switch] = ACTIONS(1280), + [anon_sym_case] = ACTIONS(1280), + [anon_sym_default] = ACTIONS(1280), + [anon_sym_while] = ACTIONS(1280), + [anon_sym_do] = ACTIONS(1280), + [anon_sym_for] = ACTIONS(1280), + [anon_sym_return] = ACTIONS(1280), + [anon_sym_break] = ACTIONS(1280), + [anon_sym_continue] = ACTIONS(1280), + [anon_sym_goto] = ACTIONS(1280), + [anon_sym___try] = ACTIONS(1280), + [anon_sym___leave] = ACTIONS(1280), + [anon_sym_DASH_DASH] = ACTIONS(1282), + [anon_sym_PLUS_PLUS] = ACTIONS(1282), + [anon_sym_sizeof] = ACTIONS(1280), + [anon_sym___alignof__] = ACTIONS(1280), + [anon_sym___alignof] = ACTIONS(1280), + [anon_sym__alignof] = ACTIONS(1280), + [anon_sym_alignof] = ACTIONS(1280), + [anon_sym__Alignof] = ACTIONS(1280), + [anon_sym_offsetof] = ACTIONS(1280), + [anon_sym__Generic] = ACTIONS(1280), + [anon_sym_asm] = ACTIONS(1280), + [anon_sym___asm__] = ACTIONS(1280), + [anon_sym___asm] = ACTIONS(1280), + [sym_number_literal] = ACTIONS(1282), + [anon_sym_L_SQUOTE] = ACTIONS(1282), + [anon_sym_u_SQUOTE] = ACTIONS(1282), + [anon_sym_U_SQUOTE] = ACTIONS(1282), + [anon_sym_u8_SQUOTE] = ACTIONS(1282), + [anon_sym_SQUOTE] = ACTIONS(1282), + [anon_sym_L_DQUOTE] = ACTIONS(1282), + [anon_sym_u_DQUOTE] = ACTIONS(1282), + [anon_sym_U_DQUOTE] = ACTIONS(1282), + [anon_sym_u8_DQUOTE] = ACTIONS(1282), + [anon_sym_DQUOTE] = ACTIONS(1282), + [sym_true] = ACTIONS(1280), + [sym_false] = ACTIONS(1280), + [anon_sym_NULL] = ACTIONS(1280), + [anon_sym_nullptr] = ACTIONS(1280), + [sym_comment] = ACTIONS(3), + }, + [124] = { + [sym_identifier] = ACTIONS(1284), + [aux_sym_preproc_include_token1] = ACTIONS(1284), + [aux_sym_preproc_def_token1] = ACTIONS(1284), + [aux_sym_preproc_if_token1] = ACTIONS(1284), + [aux_sym_preproc_if_token2] = ACTIONS(1284), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1284), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1284), + [aux_sym_preproc_else_token1] = ACTIONS(1284), + [aux_sym_preproc_elif_token1] = ACTIONS(1284), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1284), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1284), + [sym_preproc_directive] = ACTIONS(1284), + [anon_sym_LPAREN2] = ACTIONS(1286), + [anon_sym_BANG] = ACTIONS(1286), + [anon_sym_TILDE] = ACTIONS(1286), + [anon_sym_DASH] = ACTIONS(1284), + [anon_sym_PLUS] = ACTIONS(1284), + [anon_sym_STAR] = ACTIONS(1286), + [anon_sym_AMP] = ACTIONS(1286), + [anon_sym_SEMI] = ACTIONS(1286), + [anon_sym___extension__] = ACTIONS(1284), + [anon_sym_typedef] = ACTIONS(1284), + [anon_sym_extern] = ACTIONS(1284), + [anon_sym___attribute__] = ACTIONS(1284), + [anon_sym___attribute] = ACTIONS(1284), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1286), + [anon_sym___declspec] = ACTIONS(1284), + [anon_sym___cdecl] = ACTIONS(1284), + [anon_sym___clrcall] = ACTIONS(1284), + [anon_sym___stdcall] = ACTIONS(1284), + [anon_sym___fastcall] = ACTIONS(1284), + [anon_sym___thiscall] = ACTIONS(1284), + [anon_sym___vectorcall] = ACTIONS(1284), + [anon_sym_LBRACE] = ACTIONS(1286), + [anon_sym_signed] = ACTIONS(1284), + [anon_sym_unsigned] = ACTIONS(1284), + [anon_sym_long] = ACTIONS(1284), + [anon_sym_short] = ACTIONS(1284), + [anon_sym_static] = ACTIONS(1284), + [anon_sym_auto] = ACTIONS(1284), + [anon_sym_register] = ACTIONS(1284), + [anon_sym_inline] = ACTIONS(1284), + [anon_sym___inline] = ACTIONS(1284), + [anon_sym___inline__] = ACTIONS(1284), + [anon_sym___forceinline] = ACTIONS(1284), + [anon_sym_thread_local] = ACTIONS(1284), + [anon_sym___thread] = ACTIONS(1284), + [anon_sym_const] = ACTIONS(1284), + [anon_sym_constexpr] = ACTIONS(1284), + [anon_sym_volatile] = ACTIONS(1284), + [anon_sym_restrict] = ACTIONS(1284), + [anon_sym___restrict__] = ACTIONS(1284), + [anon_sym__Atomic] = ACTIONS(1284), + [anon_sym__Noreturn] = ACTIONS(1284), + [anon_sym_noreturn] = ACTIONS(1284), + [anon_sym__Nonnull] = ACTIONS(1284), + [anon_sym_alignas] = ACTIONS(1284), + [anon_sym__Alignas] = ACTIONS(1284), + [sym_primitive_type] = ACTIONS(1284), + [anon_sym_enum] = ACTIONS(1284), + [anon_sym_struct] = ACTIONS(1284), + [anon_sym_union] = ACTIONS(1284), + [anon_sym_if] = ACTIONS(1284), + [anon_sym_switch] = ACTIONS(1284), + [anon_sym_case] = ACTIONS(1284), + [anon_sym_default] = ACTIONS(1284), + [anon_sym_while] = ACTIONS(1284), + [anon_sym_do] = ACTIONS(1284), + [anon_sym_for] = ACTIONS(1284), + [anon_sym_return] = ACTIONS(1284), + [anon_sym_break] = ACTIONS(1284), + [anon_sym_continue] = ACTIONS(1284), + [anon_sym_goto] = ACTIONS(1284), + [anon_sym___try] = ACTIONS(1284), + [anon_sym___leave] = ACTIONS(1284), + [anon_sym_DASH_DASH] = ACTIONS(1286), + [anon_sym_PLUS_PLUS] = ACTIONS(1286), + [anon_sym_sizeof] = ACTIONS(1284), + [anon_sym___alignof__] = ACTIONS(1284), + [anon_sym___alignof] = ACTIONS(1284), + [anon_sym__alignof] = ACTIONS(1284), + [anon_sym_alignof] = ACTIONS(1284), + [anon_sym__Alignof] = ACTIONS(1284), + [anon_sym_offsetof] = ACTIONS(1284), + [anon_sym__Generic] = ACTIONS(1284), + [anon_sym_asm] = ACTIONS(1284), + [anon_sym___asm__] = ACTIONS(1284), + [anon_sym___asm] = ACTIONS(1284), + [sym_number_literal] = ACTIONS(1286), + [anon_sym_L_SQUOTE] = ACTIONS(1286), + [anon_sym_u_SQUOTE] = ACTIONS(1286), + [anon_sym_U_SQUOTE] = ACTIONS(1286), + [anon_sym_u8_SQUOTE] = ACTIONS(1286), + [anon_sym_SQUOTE] = ACTIONS(1286), + [anon_sym_L_DQUOTE] = ACTIONS(1286), + [anon_sym_u_DQUOTE] = ACTIONS(1286), + [anon_sym_U_DQUOTE] = ACTIONS(1286), + [anon_sym_u8_DQUOTE] = ACTIONS(1286), + [anon_sym_DQUOTE] = ACTIONS(1286), + [sym_true] = ACTIONS(1284), + [sym_false] = ACTIONS(1284), + [anon_sym_NULL] = ACTIONS(1284), + [anon_sym_nullptr] = ACTIONS(1284), + [sym_comment] = ACTIONS(3), + }, + [125] = { + [sym_identifier] = ACTIONS(1288), + [aux_sym_preproc_include_token1] = ACTIONS(1288), + [aux_sym_preproc_def_token1] = ACTIONS(1288), + [aux_sym_preproc_if_token1] = ACTIONS(1288), + [aux_sym_preproc_if_token2] = ACTIONS(1288), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1288), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1288), + [aux_sym_preproc_else_token1] = ACTIONS(1288), + [aux_sym_preproc_elif_token1] = ACTIONS(1288), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1288), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1288), + [sym_preproc_directive] = ACTIONS(1288), + [anon_sym_LPAREN2] = ACTIONS(1290), + [anon_sym_BANG] = ACTIONS(1290), + [anon_sym_TILDE] = ACTIONS(1290), + [anon_sym_DASH] = ACTIONS(1288), + [anon_sym_PLUS] = ACTIONS(1288), + [anon_sym_STAR] = ACTIONS(1290), + [anon_sym_AMP] = ACTIONS(1290), + [anon_sym_SEMI] = ACTIONS(1290), + [anon_sym___extension__] = ACTIONS(1288), + [anon_sym_typedef] = ACTIONS(1288), + [anon_sym_extern] = ACTIONS(1288), + [anon_sym___attribute__] = ACTIONS(1288), + [anon_sym___attribute] = ACTIONS(1288), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1290), + [anon_sym___declspec] = ACTIONS(1288), + [anon_sym___cdecl] = ACTIONS(1288), + [anon_sym___clrcall] = ACTIONS(1288), + [anon_sym___stdcall] = ACTIONS(1288), + [anon_sym___fastcall] = ACTIONS(1288), + [anon_sym___thiscall] = ACTIONS(1288), + [anon_sym___vectorcall] = ACTIONS(1288), + [anon_sym_LBRACE] = ACTIONS(1290), + [anon_sym_signed] = ACTIONS(1288), + [anon_sym_unsigned] = ACTIONS(1288), + [anon_sym_long] = ACTIONS(1288), + [anon_sym_short] = ACTIONS(1288), + [anon_sym_static] = ACTIONS(1288), + [anon_sym_auto] = ACTIONS(1288), + [anon_sym_register] = ACTIONS(1288), + [anon_sym_inline] = ACTIONS(1288), + [anon_sym___inline] = ACTIONS(1288), + [anon_sym___inline__] = ACTIONS(1288), + [anon_sym___forceinline] = ACTIONS(1288), + [anon_sym_thread_local] = ACTIONS(1288), + [anon_sym___thread] = ACTIONS(1288), + [anon_sym_const] = ACTIONS(1288), + [anon_sym_constexpr] = ACTIONS(1288), + [anon_sym_volatile] = ACTIONS(1288), + [anon_sym_restrict] = ACTIONS(1288), + [anon_sym___restrict__] = ACTIONS(1288), + [anon_sym__Atomic] = ACTIONS(1288), + [anon_sym__Noreturn] = ACTIONS(1288), + [anon_sym_noreturn] = ACTIONS(1288), + [anon_sym__Nonnull] = ACTIONS(1288), + [anon_sym_alignas] = ACTIONS(1288), + [anon_sym__Alignas] = ACTIONS(1288), + [sym_primitive_type] = ACTIONS(1288), + [anon_sym_enum] = ACTIONS(1288), + [anon_sym_struct] = ACTIONS(1288), + [anon_sym_union] = ACTIONS(1288), + [anon_sym_if] = ACTIONS(1288), + [anon_sym_switch] = ACTIONS(1288), + [anon_sym_case] = ACTIONS(1288), + [anon_sym_default] = ACTIONS(1288), + [anon_sym_while] = ACTIONS(1288), + [anon_sym_do] = ACTIONS(1288), + [anon_sym_for] = ACTIONS(1288), + [anon_sym_return] = ACTIONS(1288), + [anon_sym_break] = ACTIONS(1288), + [anon_sym_continue] = ACTIONS(1288), + [anon_sym_goto] = ACTIONS(1288), + [anon_sym___try] = ACTIONS(1288), + [anon_sym___leave] = ACTIONS(1288), + [anon_sym_DASH_DASH] = ACTIONS(1290), + [anon_sym_PLUS_PLUS] = ACTIONS(1290), + [anon_sym_sizeof] = ACTIONS(1288), + [anon_sym___alignof__] = ACTIONS(1288), + [anon_sym___alignof] = ACTIONS(1288), + [anon_sym__alignof] = ACTIONS(1288), + [anon_sym_alignof] = ACTIONS(1288), + [anon_sym__Alignof] = ACTIONS(1288), + [anon_sym_offsetof] = ACTIONS(1288), + [anon_sym__Generic] = ACTIONS(1288), + [anon_sym_asm] = ACTIONS(1288), + [anon_sym___asm__] = ACTIONS(1288), + [anon_sym___asm] = ACTIONS(1288), + [sym_number_literal] = ACTIONS(1290), + [anon_sym_L_SQUOTE] = ACTIONS(1290), + [anon_sym_u_SQUOTE] = ACTIONS(1290), + [anon_sym_U_SQUOTE] = ACTIONS(1290), + [anon_sym_u8_SQUOTE] = ACTIONS(1290), + [anon_sym_SQUOTE] = ACTIONS(1290), + [anon_sym_L_DQUOTE] = ACTIONS(1290), + [anon_sym_u_DQUOTE] = ACTIONS(1290), + [anon_sym_U_DQUOTE] = ACTIONS(1290), + [anon_sym_u8_DQUOTE] = ACTIONS(1290), + [anon_sym_DQUOTE] = ACTIONS(1290), + [sym_true] = ACTIONS(1288), + [sym_false] = ACTIONS(1288), + [anon_sym_NULL] = ACTIONS(1288), + [anon_sym_nullptr] = ACTIONS(1288), + [sym_comment] = ACTIONS(3), + }, + [126] = { + [sym_identifier] = ACTIONS(1292), + [aux_sym_preproc_include_token1] = ACTIONS(1292), + [aux_sym_preproc_def_token1] = ACTIONS(1292), + [aux_sym_preproc_if_token1] = ACTIONS(1292), + [aux_sym_preproc_if_token2] = ACTIONS(1292), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1292), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1292), + [aux_sym_preproc_else_token1] = ACTIONS(1292), + [aux_sym_preproc_elif_token1] = ACTIONS(1292), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1292), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1292), + [sym_preproc_directive] = ACTIONS(1292), + [anon_sym_LPAREN2] = ACTIONS(1294), + [anon_sym_BANG] = ACTIONS(1294), + [anon_sym_TILDE] = ACTIONS(1294), + [anon_sym_DASH] = ACTIONS(1292), + [anon_sym_PLUS] = ACTIONS(1292), + [anon_sym_STAR] = ACTIONS(1294), + [anon_sym_AMP] = ACTIONS(1294), + [anon_sym_SEMI] = ACTIONS(1294), + [anon_sym___extension__] = ACTIONS(1292), + [anon_sym_typedef] = ACTIONS(1292), + [anon_sym_extern] = ACTIONS(1292), + [anon_sym___attribute__] = ACTIONS(1292), + [anon_sym___attribute] = ACTIONS(1292), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1294), + [anon_sym___declspec] = ACTIONS(1292), + [anon_sym___cdecl] = ACTIONS(1292), + [anon_sym___clrcall] = ACTIONS(1292), + [anon_sym___stdcall] = ACTIONS(1292), + [anon_sym___fastcall] = ACTIONS(1292), + [anon_sym___thiscall] = ACTIONS(1292), + [anon_sym___vectorcall] = ACTIONS(1292), + [anon_sym_LBRACE] = ACTIONS(1294), + [anon_sym_signed] = ACTIONS(1292), + [anon_sym_unsigned] = ACTIONS(1292), + [anon_sym_long] = ACTIONS(1292), + [anon_sym_short] = ACTIONS(1292), + [anon_sym_static] = ACTIONS(1292), + [anon_sym_auto] = ACTIONS(1292), + [anon_sym_register] = ACTIONS(1292), + [anon_sym_inline] = ACTIONS(1292), + [anon_sym___inline] = ACTIONS(1292), + [anon_sym___inline__] = ACTIONS(1292), + [anon_sym___forceinline] = ACTIONS(1292), + [anon_sym_thread_local] = ACTIONS(1292), + [anon_sym___thread] = ACTIONS(1292), + [anon_sym_const] = ACTIONS(1292), + [anon_sym_constexpr] = ACTIONS(1292), + [anon_sym_volatile] = ACTIONS(1292), + [anon_sym_restrict] = ACTIONS(1292), + [anon_sym___restrict__] = ACTIONS(1292), + [anon_sym__Atomic] = ACTIONS(1292), + [anon_sym__Noreturn] = ACTIONS(1292), + [anon_sym_noreturn] = ACTIONS(1292), + [anon_sym__Nonnull] = ACTIONS(1292), + [anon_sym_alignas] = ACTIONS(1292), + [anon_sym__Alignas] = ACTIONS(1292), + [sym_primitive_type] = ACTIONS(1292), + [anon_sym_enum] = ACTIONS(1292), + [anon_sym_struct] = ACTIONS(1292), + [anon_sym_union] = ACTIONS(1292), + [anon_sym_if] = ACTIONS(1292), + [anon_sym_switch] = ACTIONS(1292), + [anon_sym_case] = ACTIONS(1292), + [anon_sym_default] = ACTIONS(1292), + [anon_sym_while] = ACTIONS(1292), + [anon_sym_do] = ACTIONS(1292), + [anon_sym_for] = ACTIONS(1292), + [anon_sym_return] = ACTIONS(1292), + [anon_sym_break] = ACTIONS(1292), + [anon_sym_continue] = ACTIONS(1292), + [anon_sym_goto] = ACTIONS(1292), + [anon_sym___try] = ACTIONS(1292), + [anon_sym___leave] = ACTIONS(1292), + [anon_sym_DASH_DASH] = ACTIONS(1294), + [anon_sym_PLUS_PLUS] = ACTIONS(1294), + [anon_sym_sizeof] = ACTIONS(1292), + [anon_sym___alignof__] = ACTIONS(1292), + [anon_sym___alignof] = ACTIONS(1292), + [anon_sym__alignof] = ACTIONS(1292), + [anon_sym_alignof] = ACTIONS(1292), + [anon_sym__Alignof] = ACTIONS(1292), + [anon_sym_offsetof] = ACTIONS(1292), + [anon_sym__Generic] = ACTIONS(1292), + [anon_sym_asm] = ACTIONS(1292), + [anon_sym___asm__] = ACTIONS(1292), + [anon_sym___asm] = ACTIONS(1292), + [sym_number_literal] = ACTIONS(1294), + [anon_sym_L_SQUOTE] = ACTIONS(1294), + [anon_sym_u_SQUOTE] = ACTIONS(1294), + [anon_sym_U_SQUOTE] = ACTIONS(1294), + [anon_sym_u8_SQUOTE] = ACTIONS(1294), + [anon_sym_SQUOTE] = ACTIONS(1294), + [anon_sym_L_DQUOTE] = ACTIONS(1294), + [anon_sym_u_DQUOTE] = ACTIONS(1294), + [anon_sym_U_DQUOTE] = ACTIONS(1294), + [anon_sym_u8_DQUOTE] = ACTIONS(1294), + [anon_sym_DQUOTE] = ACTIONS(1294), + [sym_true] = ACTIONS(1292), + [sym_false] = ACTIONS(1292), + [anon_sym_NULL] = ACTIONS(1292), + [anon_sym_nullptr] = ACTIONS(1292), + [sym_comment] = ACTIONS(3), + }, + [127] = { + [sym_identifier] = ACTIONS(1296), + [aux_sym_preproc_include_token1] = ACTIONS(1296), + [aux_sym_preproc_def_token1] = ACTIONS(1296), + [aux_sym_preproc_if_token1] = ACTIONS(1296), + [aux_sym_preproc_if_token2] = ACTIONS(1296), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1296), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1296), + [aux_sym_preproc_else_token1] = ACTIONS(1296), + [aux_sym_preproc_elif_token1] = ACTIONS(1296), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1296), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1296), + [sym_preproc_directive] = ACTIONS(1296), + [anon_sym_LPAREN2] = ACTIONS(1298), + [anon_sym_BANG] = ACTIONS(1298), + [anon_sym_TILDE] = ACTIONS(1298), + [anon_sym_DASH] = ACTIONS(1296), + [anon_sym_PLUS] = ACTIONS(1296), + [anon_sym_STAR] = ACTIONS(1298), + [anon_sym_AMP] = ACTIONS(1298), + [anon_sym_SEMI] = ACTIONS(1298), + [anon_sym___extension__] = ACTIONS(1296), + [anon_sym_typedef] = ACTIONS(1296), + [anon_sym_extern] = ACTIONS(1296), + [anon_sym___attribute__] = ACTIONS(1296), + [anon_sym___attribute] = ACTIONS(1296), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1298), + [anon_sym___declspec] = ACTIONS(1296), + [anon_sym___cdecl] = ACTIONS(1296), + [anon_sym___clrcall] = ACTIONS(1296), + [anon_sym___stdcall] = ACTIONS(1296), + [anon_sym___fastcall] = ACTIONS(1296), + [anon_sym___thiscall] = ACTIONS(1296), + [anon_sym___vectorcall] = ACTIONS(1296), + [anon_sym_LBRACE] = ACTIONS(1298), + [anon_sym_signed] = ACTIONS(1296), + [anon_sym_unsigned] = ACTIONS(1296), + [anon_sym_long] = ACTIONS(1296), + [anon_sym_short] = ACTIONS(1296), + [anon_sym_static] = ACTIONS(1296), + [anon_sym_auto] = ACTIONS(1296), + [anon_sym_register] = ACTIONS(1296), + [anon_sym_inline] = ACTIONS(1296), + [anon_sym___inline] = ACTIONS(1296), + [anon_sym___inline__] = ACTIONS(1296), + [anon_sym___forceinline] = ACTIONS(1296), + [anon_sym_thread_local] = ACTIONS(1296), + [anon_sym___thread] = ACTIONS(1296), + [anon_sym_const] = ACTIONS(1296), + [anon_sym_constexpr] = ACTIONS(1296), + [anon_sym_volatile] = ACTIONS(1296), + [anon_sym_restrict] = ACTIONS(1296), + [anon_sym___restrict__] = ACTIONS(1296), + [anon_sym__Atomic] = ACTIONS(1296), + [anon_sym__Noreturn] = ACTIONS(1296), + [anon_sym_noreturn] = ACTIONS(1296), + [anon_sym__Nonnull] = ACTIONS(1296), + [anon_sym_alignas] = ACTIONS(1296), + [anon_sym__Alignas] = ACTIONS(1296), + [sym_primitive_type] = ACTIONS(1296), + [anon_sym_enum] = ACTIONS(1296), + [anon_sym_struct] = ACTIONS(1296), + [anon_sym_union] = ACTIONS(1296), + [anon_sym_if] = ACTIONS(1296), + [anon_sym_switch] = ACTIONS(1296), + [anon_sym_case] = ACTIONS(1296), + [anon_sym_default] = ACTIONS(1296), + [anon_sym_while] = ACTIONS(1296), + [anon_sym_do] = ACTIONS(1296), + [anon_sym_for] = ACTIONS(1296), + [anon_sym_return] = ACTIONS(1296), + [anon_sym_break] = ACTIONS(1296), + [anon_sym_continue] = ACTIONS(1296), + [anon_sym_goto] = ACTIONS(1296), + [anon_sym___try] = ACTIONS(1296), + [anon_sym___leave] = ACTIONS(1296), + [anon_sym_DASH_DASH] = ACTIONS(1298), + [anon_sym_PLUS_PLUS] = ACTIONS(1298), + [anon_sym_sizeof] = ACTIONS(1296), + [anon_sym___alignof__] = ACTIONS(1296), + [anon_sym___alignof] = ACTIONS(1296), + [anon_sym__alignof] = ACTIONS(1296), + [anon_sym_alignof] = ACTIONS(1296), + [anon_sym__Alignof] = ACTIONS(1296), + [anon_sym_offsetof] = ACTIONS(1296), + [anon_sym__Generic] = ACTIONS(1296), + [anon_sym_asm] = ACTIONS(1296), + [anon_sym___asm__] = ACTIONS(1296), + [anon_sym___asm] = ACTIONS(1296), + [sym_number_literal] = ACTIONS(1298), + [anon_sym_L_SQUOTE] = ACTIONS(1298), + [anon_sym_u_SQUOTE] = ACTIONS(1298), + [anon_sym_U_SQUOTE] = ACTIONS(1298), + [anon_sym_u8_SQUOTE] = ACTIONS(1298), + [anon_sym_SQUOTE] = ACTIONS(1298), + [anon_sym_L_DQUOTE] = ACTIONS(1298), + [anon_sym_u_DQUOTE] = ACTIONS(1298), + [anon_sym_U_DQUOTE] = ACTIONS(1298), + [anon_sym_u8_DQUOTE] = ACTIONS(1298), + [anon_sym_DQUOTE] = ACTIONS(1298), + [sym_true] = ACTIONS(1296), + [sym_false] = ACTIONS(1296), + [anon_sym_NULL] = ACTIONS(1296), + [anon_sym_nullptr] = ACTIONS(1296), + [sym_comment] = ACTIONS(3), + }, + [128] = { + [sym_identifier] = ACTIONS(1300), + [aux_sym_preproc_include_token1] = ACTIONS(1300), + [aux_sym_preproc_def_token1] = ACTIONS(1300), + [aux_sym_preproc_if_token1] = ACTIONS(1300), + [aux_sym_preproc_if_token2] = ACTIONS(1300), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1300), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1300), + [aux_sym_preproc_else_token1] = ACTIONS(1300), + [aux_sym_preproc_elif_token1] = ACTIONS(1300), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1300), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1300), + [sym_preproc_directive] = ACTIONS(1300), + [anon_sym_LPAREN2] = ACTIONS(1302), + [anon_sym_BANG] = ACTIONS(1302), + [anon_sym_TILDE] = ACTIONS(1302), + [anon_sym_DASH] = ACTIONS(1300), + [anon_sym_PLUS] = ACTIONS(1300), + [anon_sym_STAR] = ACTIONS(1302), + [anon_sym_AMP] = ACTIONS(1302), + [anon_sym_SEMI] = ACTIONS(1302), + [anon_sym___extension__] = ACTIONS(1300), + [anon_sym_typedef] = ACTIONS(1300), + [anon_sym_extern] = ACTIONS(1300), + [anon_sym___attribute__] = ACTIONS(1300), + [anon_sym___attribute] = ACTIONS(1300), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1302), + [anon_sym___declspec] = ACTIONS(1300), + [anon_sym___cdecl] = ACTIONS(1300), + [anon_sym___clrcall] = ACTIONS(1300), + [anon_sym___stdcall] = ACTIONS(1300), + [anon_sym___fastcall] = ACTIONS(1300), + [anon_sym___thiscall] = ACTIONS(1300), + [anon_sym___vectorcall] = ACTIONS(1300), + [anon_sym_LBRACE] = ACTIONS(1302), + [anon_sym_signed] = ACTIONS(1300), + [anon_sym_unsigned] = ACTIONS(1300), + [anon_sym_long] = ACTIONS(1300), + [anon_sym_short] = ACTIONS(1300), + [anon_sym_static] = ACTIONS(1300), + [anon_sym_auto] = ACTIONS(1300), + [anon_sym_register] = ACTIONS(1300), + [anon_sym_inline] = ACTIONS(1300), + [anon_sym___inline] = ACTIONS(1300), + [anon_sym___inline__] = ACTIONS(1300), + [anon_sym___forceinline] = ACTIONS(1300), + [anon_sym_thread_local] = ACTIONS(1300), + [anon_sym___thread] = ACTIONS(1300), + [anon_sym_const] = ACTIONS(1300), + [anon_sym_constexpr] = ACTIONS(1300), + [anon_sym_volatile] = ACTIONS(1300), + [anon_sym_restrict] = ACTIONS(1300), + [anon_sym___restrict__] = ACTIONS(1300), + [anon_sym__Atomic] = ACTIONS(1300), + [anon_sym__Noreturn] = ACTIONS(1300), + [anon_sym_noreturn] = ACTIONS(1300), + [anon_sym__Nonnull] = ACTIONS(1300), + [anon_sym_alignas] = ACTIONS(1300), + [anon_sym__Alignas] = ACTIONS(1300), + [sym_primitive_type] = ACTIONS(1300), + [anon_sym_enum] = ACTIONS(1300), + [anon_sym_struct] = ACTIONS(1300), + [anon_sym_union] = ACTIONS(1300), + [anon_sym_if] = ACTIONS(1300), + [anon_sym_switch] = ACTIONS(1300), + [anon_sym_case] = ACTIONS(1300), + [anon_sym_default] = ACTIONS(1300), + [anon_sym_while] = ACTIONS(1300), + [anon_sym_do] = ACTIONS(1300), + [anon_sym_for] = ACTIONS(1300), + [anon_sym_return] = ACTIONS(1300), + [anon_sym_break] = ACTIONS(1300), + [anon_sym_continue] = ACTIONS(1300), + [anon_sym_goto] = ACTIONS(1300), + [anon_sym___try] = ACTIONS(1300), + [anon_sym___leave] = ACTIONS(1300), + [anon_sym_DASH_DASH] = ACTIONS(1302), + [anon_sym_PLUS_PLUS] = ACTIONS(1302), + [anon_sym_sizeof] = ACTIONS(1300), + [anon_sym___alignof__] = ACTIONS(1300), + [anon_sym___alignof] = ACTIONS(1300), + [anon_sym__alignof] = ACTIONS(1300), + [anon_sym_alignof] = ACTIONS(1300), + [anon_sym__Alignof] = ACTIONS(1300), + [anon_sym_offsetof] = ACTIONS(1300), + [anon_sym__Generic] = ACTIONS(1300), + [anon_sym_asm] = ACTIONS(1300), + [anon_sym___asm__] = ACTIONS(1300), + [anon_sym___asm] = ACTIONS(1300), + [sym_number_literal] = ACTIONS(1302), + [anon_sym_L_SQUOTE] = ACTIONS(1302), + [anon_sym_u_SQUOTE] = ACTIONS(1302), + [anon_sym_U_SQUOTE] = ACTIONS(1302), + [anon_sym_u8_SQUOTE] = ACTIONS(1302), + [anon_sym_SQUOTE] = ACTIONS(1302), + [anon_sym_L_DQUOTE] = ACTIONS(1302), + [anon_sym_u_DQUOTE] = ACTIONS(1302), + [anon_sym_U_DQUOTE] = ACTIONS(1302), + [anon_sym_u8_DQUOTE] = ACTIONS(1302), + [anon_sym_DQUOTE] = ACTIONS(1302), + [sym_true] = ACTIONS(1300), + [sym_false] = ACTIONS(1300), + [anon_sym_NULL] = ACTIONS(1300), + [anon_sym_nullptr] = ACTIONS(1300), + [sym_comment] = ACTIONS(3), + }, + [129] = { + [sym_identifier] = ACTIONS(1304), + [aux_sym_preproc_include_token1] = ACTIONS(1304), + [aux_sym_preproc_def_token1] = ACTIONS(1304), + [aux_sym_preproc_if_token1] = ACTIONS(1304), + [aux_sym_preproc_if_token2] = ACTIONS(1304), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1304), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1304), + [aux_sym_preproc_else_token1] = ACTIONS(1304), + [aux_sym_preproc_elif_token1] = ACTIONS(1304), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1304), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1304), + [sym_preproc_directive] = ACTIONS(1304), + [anon_sym_LPAREN2] = ACTIONS(1306), + [anon_sym_BANG] = ACTIONS(1306), + [anon_sym_TILDE] = ACTIONS(1306), + [anon_sym_DASH] = ACTIONS(1304), + [anon_sym_PLUS] = ACTIONS(1304), + [anon_sym_STAR] = ACTIONS(1306), + [anon_sym_AMP] = ACTIONS(1306), + [anon_sym_SEMI] = ACTIONS(1306), + [anon_sym___extension__] = ACTIONS(1304), + [anon_sym_typedef] = ACTIONS(1304), + [anon_sym_extern] = ACTIONS(1304), + [anon_sym___attribute__] = ACTIONS(1304), + [anon_sym___attribute] = ACTIONS(1304), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1306), + [anon_sym___declspec] = ACTIONS(1304), + [anon_sym___cdecl] = ACTIONS(1304), + [anon_sym___clrcall] = ACTIONS(1304), + [anon_sym___stdcall] = ACTIONS(1304), + [anon_sym___fastcall] = ACTIONS(1304), + [anon_sym___thiscall] = ACTIONS(1304), + [anon_sym___vectorcall] = ACTIONS(1304), + [anon_sym_LBRACE] = ACTIONS(1306), + [anon_sym_signed] = ACTIONS(1304), + [anon_sym_unsigned] = ACTIONS(1304), + [anon_sym_long] = ACTIONS(1304), + [anon_sym_short] = ACTIONS(1304), + [anon_sym_static] = ACTIONS(1304), + [anon_sym_auto] = ACTIONS(1304), + [anon_sym_register] = ACTIONS(1304), + [anon_sym_inline] = ACTIONS(1304), + [anon_sym___inline] = ACTIONS(1304), + [anon_sym___inline__] = ACTIONS(1304), + [anon_sym___forceinline] = ACTIONS(1304), + [anon_sym_thread_local] = ACTIONS(1304), + [anon_sym___thread] = ACTIONS(1304), + [anon_sym_const] = ACTIONS(1304), + [anon_sym_constexpr] = ACTIONS(1304), + [anon_sym_volatile] = ACTIONS(1304), + [anon_sym_restrict] = ACTIONS(1304), + [anon_sym___restrict__] = ACTIONS(1304), + [anon_sym__Atomic] = ACTIONS(1304), + [anon_sym__Noreturn] = ACTIONS(1304), + [anon_sym_noreturn] = ACTIONS(1304), + [anon_sym__Nonnull] = ACTIONS(1304), + [anon_sym_alignas] = ACTIONS(1304), + [anon_sym__Alignas] = ACTIONS(1304), + [sym_primitive_type] = ACTIONS(1304), + [anon_sym_enum] = ACTIONS(1304), + [anon_sym_struct] = ACTIONS(1304), + [anon_sym_union] = ACTIONS(1304), + [anon_sym_if] = ACTIONS(1304), + [anon_sym_switch] = ACTIONS(1304), + [anon_sym_case] = ACTIONS(1304), + [anon_sym_default] = ACTIONS(1304), + [anon_sym_while] = ACTIONS(1304), + [anon_sym_do] = ACTIONS(1304), + [anon_sym_for] = ACTIONS(1304), + [anon_sym_return] = ACTIONS(1304), + [anon_sym_break] = ACTIONS(1304), + [anon_sym_continue] = ACTIONS(1304), + [anon_sym_goto] = ACTIONS(1304), + [anon_sym___try] = ACTIONS(1304), + [anon_sym___leave] = ACTIONS(1304), + [anon_sym_DASH_DASH] = ACTIONS(1306), + [anon_sym_PLUS_PLUS] = ACTIONS(1306), + [anon_sym_sizeof] = ACTIONS(1304), + [anon_sym___alignof__] = ACTIONS(1304), + [anon_sym___alignof] = ACTIONS(1304), + [anon_sym__alignof] = ACTIONS(1304), + [anon_sym_alignof] = ACTIONS(1304), + [anon_sym__Alignof] = ACTIONS(1304), + [anon_sym_offsetof] = ACTIONS(1304), + [anon_sym__Generic] = ACTIONS(1304), + [anon_sym_asm] = ACTIONS(1304), + [anon_sym___asm__] = ACTIONS(1304), + [anon_sym___asm] = ACTIONS(1304), + [sym_number_literal] = ACTIONS(1306), + [anon_sym_L_SQUOTE] = ACTIONS(1306), + [anon_sym_u_SQUOTE] = ACTIONS(1306), + [anon_sym_U_SQUOTE] = ACTIONS(1306), + [anon_sym_u8_SQUOTE] = ACTIONS(1306), + [anon_sym_SQUOTE] = ACTIONS(1306), + [anon_sym_L_DQUOTE] = ACTIONS(1306), + [anon_sym_u_DQUOTE] = ACTIONS(1306), + [anon_sym_U_DQUOTE] = ACTIONS(1306), + [anon_sym_u8_DQUOTE] = ACTIONS(1306), + [anon_sym_DQUOTE] = ACTIONS(1306), + [sym_true] = ACTIONS(1304), + [sym_false] = ACTIONS(1304), + [anon_sym_NULL] = ACTIONS(1304), + [anon_sym_nullptr] = ACTIONS(1304), + [sym_comment] = ACTIONS(3), + }, + [130] = { + [sym_identifier] = ACTIONS(1308), + [aux_sym_preproc_include_token1] = ACTIONS(1308), + [aux_sym_preproc_def_token1] = ACTIONS(1308), + [aux_sym_preproc_if_token1] = ACTIONS(1308), + [aux_sym_preproc_if_token2] = ACTIONS(1308), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1308), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1308), + [aux_sym_preproc_else_token1] = ACTIONS(1308), + [aux_sym_preproc_elif_token1] = ACTIONS(1308), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1308), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1308), + [sym_preproc_directive] = ACTIONS(1308), + [anon_sym_LPAREN2] = ACTIONS(1310), + [anon_sym_BANG] = ACTIONS(1310), + [anon_sym_TILDE] = ACTIONS(1310), + [anon_sym_DASH] = ACTIONS(1308), + [anon_sym_PLUS] = ACTIONS(1308), + [anon_sym_STAR] = ACTIONS(1310), + [anon_sym_AMP] = ACTIONS(1310), + [anon_sym_SEMI] = ACTIONS(1310), + [anon_sym___extension__] = ACTIONS(1308), + [anon_sym_typedef] = ACTIONS(1308), + [anon_sym_extern] = ACTIONS(1308), + [anon_sym___attribute__] = ACTIONS(1308), + [anon_sym___attribute] = ACTIONS(1308), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1310), + [anon_sym___declspec] = ACTIONS(1308), + [anon_sym___cdecl] = ACTIONS(1308), + [anon_sym___clrcall] = ACTIONS(1308), + [anon_sym___stdcall] = ACTIONS(1308), + [anon_sym___fastcall] = ACTIONS(1308), + [anon_sym___thiscall] = ACTIONS(1308), + [anon_sym___vectorcall] = ACTIONS(1308), + [anon_sym_LBRACE] = ACTIONS(1310), + [anon_sym_signed] = ACTIONS(1308), + [anon_sym_unsigned] = ACTIONS(1308), + [anon_sym_long] = ACTIONS(1308), + [anon_sym_short] = ACTIONS(1308), + [anon_sym_static] = ACTIONS(1308), + [anon_sym_auto] = ACTIONS(1308), + [anon_sym_register] = ACTIONS(1308), + [anon_sym_inline] = ACTIONS(1308), + [anon_sym___inline] = ACTIONS(1308), + [anon_sym___inline__] = ACTIONS(1308), + [anon_sym___forceinline] = ACTIONS(1308), + [anon_sym_thread_local] = ACTIONS(1308), + [anon_sym___thread] = ACTIONS(1308), + [anon_sym_const] = ACTIONS(1308), + [anon_sym_constexpr] = ACTIONS(1308), + [anon_sym_volatile] = ACTIONS(1308), + [anon_sym_restrict] = ACTIONS(1308), + [anon_sym___restrict__] = ACTIONS(1308), + [anon_sym__Atomic] = ACTIONS(1308), + [anon_sym__Noreturn] = ACTIONS(1308), + [anon_sym_noreturn] = ACTIONS(1308), + [anon_sym__Nonnull] = ACTIONS(1308), + [anon_sym_alignas] = ACTIONS(1308), + [anon_sym__Alignas] = ACTIONS(1308), + [sym_primitive_type] = ACTIONS(1308), + [anon_sym_enum] = ACTIONS(1308), + [anon_sym_struct] = ACTIONS(1308), + [anon_sym_union] = ACTIONS(1308), + [anon_sym_if] = ACTIONS(1308), + [anon_sym_switch] = ACTIONS(1308), + [anon_sym_case] = ACTIONS(1308), + [anon_sym_default] = ACTIONS(1308), + [anon_sym_while] = ACTIONS(1308), + [anon_sym_do] = ACTIONS(1308), + [anon_sym_for] = ACTIONS(1308), + [anon_sym_return] = ACTIONS(1308), + [anon_sym_break] = ACTIONS(1308), + [anon_sym_continue] = ACTIONS(1308), + [anon_sym_goto] = ACTIONS(1308), + [anon_sym___try] = ACTIONS(1308), + [anon_sym___leave] = ACTIONS(1308), + [anon_sym_DASH_DASH] = ACTIONS(1310), + [anon_sym_PLUS_PLUS] = ACTIONS(1310), + [anon_sym_sizeof] = ACTIONS(1308), + [anon_sym___alignof__] = ACTIONS(1308), + [anon_sym___alignof] = ACTIONS(1308), + [anon_sym__alignof] = ACTIONS(1308), + [anon_sym_alignof] = ACTIONS(1308), + [anon_sym__Alignof] = ACTIONS(1308), + [anon_sym_offsetof] = ACTIONS(1308), + [anon_sym__Generic] = ACTIONS(1308), + [anon_sym_asm] = ACTIONS(1308), + [anon_sym___asm__] = ACTIONS(1308), + [anon_sym___asm] = ACTIONS(1308), + [sym_number_literal] = ACTIONS(1310), + [anon_sym_L_SQUOTE] = ACTIONS(1310), + [anon_sym_u_SQUOTE] = ACTIONS(1310), + [anon_sym_U_SQUOTE] = ACTIONS(1310), + [anon_sym_u8_SQUOTE] = ACTIONS(1310), + [anon_sym_SQUOTE] = ACTIONS(1310), + [anon_sym_L_DQUOTE] = ACTIONS(1310), + [anon_sym_u_DQUOTE] = ACTIONS(1310), + [anon_sym_U_DQUOTE] = ACTIONS(1310), + [anon_sym_u8_DQUOTE] = ACTIONS(1310), + [anon_sym_DQUOTE] = ACTIONS(1310), + [sym_true] = ACTIONS(1308), + [sym_false] = ACTIONS(1308), + [anon_sym_NULL] = ACTIONS(1308), + [anon_sym_nullptr] = ACTIONS(1308), + [sym_comment] = ACTIONS(3), + }, + [131] = { + [sym_identifier] = ACTIONS(1312), + [aux_sym_preproc_include_token1] = ACTIONS(1312), + [aux_sym_preproc_def_token1] = ACTIONS(1312), + [aux_sym_preproc_if_token1] = ACTIONS(1312), + [aux_sym_preproc_if_token2] = ACTIONS(1312), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1312), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1312), + [aux_sym_preproc_else_token1] = ACTIONS(1312), + [aux_sym_preproc_elif_token1] = ACTIONS(1312), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1312), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1312), + [sym_preproc_directive] = ACTIONS(1312), + [anon_sym_LPAREN2] = ACTIONS(1314), + [anon_sym_BANG] = ACTIONS(1314), + [anon_sym_TILDE] = ACTIONS(1314), + [anon_sym_DASH] = ACTIONS(1312), + [anon_sym_PLUS] = ACTIONS(1312), + [anon_sym_STAR] = ACTIONS(1314), + [anon_sym_AMP] = ACTIONS(1314), + [anon_sym_SEMI] = ACTIONS(1314), + [anon_sym___extension__] = ACTIONS(1312), + [anon_sym_typedef] = ACTIONS(1312), + [anon_sym_extern] = ACTIONS(1312), + [anon_sym___attribute__] = ACTIONS(1312), + [anon_sym___attribute] = ACTIONS(1312), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1314), + [anon_sym___declspec] = ACTIONS(1312), + [anon_sym___cdecl] = ACTIONS(1312), + [anon_sym___clrcall] = ACTIONS(1312), + [anon_sym___stdcall] = ACTIONS(1312), + [anon_sym___fastcall] = ACTIONS(1312), + [anon_sym___thiscall] = ACTIONS(1312), + [anon_sym___vectorcall] = ACTIONS(1312), + [anon_sym_LBRACE] = ACTIONS(1314), + [anon_sym_signed] = ACTIONS(1312), + [anon_sym_unsigned] = ACTIONS(1312), + [anon_sym_long] = ACTIONS(1312), + [anon_sym_short] = ACTIONS(1312), + [anon_sym_static] = ACTIONS(1312), + [anon_sym_auto] = ACTIONS(1312), + [anon_sym_register] = ACTIONS(1312), + [anon_sym_inline] = ACTIONS(1312), + [anon_sym___inline] = ACTIONS(1312), + [anon_sym___inline__] = ACTIONS(1312), + [anon_sym___forceinline] = ACTIONS(1312), + [anon_sym_thread_local] = ACTIONS(1312), + [anon_sym___thread] = ACTIONS(1312), + [anon_sym_const] = ACTIONS(1312), + [anon_sym_constexpr] = ACTIONS(1312), + [anon_sym_volatile] = ACTIONS(1312), + [anon_sym_restrict] = ACTIONS(1312), + [anon_sym___restrict__] = ACTIONS(1312), + [anon_sym__Atomic] = ACTIONS(1312), + [anon_sym__Noreturn] = ACTIONS(1312), + [anon_sym_noreturn] = ACTIONS(1312), + [anon_sym__Nonnull] = ACTIONS(1312), + [anon_sym_alignas] = ACTIONS(1312), + [anon_sym__Alignas] = ACTIONS(1312), + [sym_primitive_type] = ACTIONS(1312), + [anon_sym_enum] = ACTIONS(1312), + [anon_sym_struct] = ACTIONS(1312), + [anon_sym_union] = ACTIONS(1312), + [anon_sym_if] = ACTIONS(1312), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1312), + [anon_sym_default] = ACTIONS(1312), + [anon_sym_while] = ACTIONS(1312), + [anon_sym_do] = ACTIONS(1312), + [anon_sym_for] = ACTIONS(1312), + [anon_sym_return] = ACTIONS(1312), + [anon_sym_break] = ACTIONS(1312), + [anon_sym_continue] = ACTIONS(1312), + [anon_sym_goto] = ACTIONS(1312), + [anon_sym___try] = ACTIONS(1312), + [anon_sym___leave] = ACTIONS(1312), + [anon_sym_DASH_DASH] = ACTIONS(1314), + [anon_sym_PLUS_PLUS] = ACTIONS(1314), + [anon_sym_sizeof] = ACTIONS(1312), + [anon_sym___alignof__] = ACTIONS(1312), + [anon_sym___alignof] = ACTIONS(1312), + [anon_sym__alignof] = ACTIONS(1312), + [anon_sym_alignof] = ACTIONS(1312), + [anon_sym__Alignof] = ACTIONS(1312), + [anon_sym_offsetof] = ACTIONS(1312), + [anon_sym__Generic] = ACTIONS(1312), + [anon_sym_asm] = ACTIONS(1312), + [anon_sym___asm__] = ACTIONS(1312), + [anon_sym___asm] = ACTIONS(1312), + [sym_number_literal] = ACTIONS(1314), + [anon_sym_L_SQUOTE] = ACTIONS(1314), + [anon_sym_u_SQUOTE] = ACTIONS(1314), + [anon_sym_U_SQUOTE] = ACTIONS(1314), + [anon_sym_u8_SQUOTE] = ACTIONS(1314), + [anon_sym_SQUOTE] = ACTIONS(1314), + [anon_sym_L_DQUOTE] = ACTIONS(1314), + [anon_sym_u_DQUOTE] = ACTIONS(1314), + [anon_sym_U_DQUOTE] = ACTIONS(1314), + [anon_sym_u8_DQUOTE] = ACTIONS(1314), + [anon_sym_DQUOTE] = ACTIONS(1314), + [sym_true] = ACTIONS(1312), + [sym_false] = ACTIONS(1312), + [anon_sym_NULL] = ACTIONS(1312), + [anon_sym_nullptr] = ACTIONS(1312), + [sym_comment] = ACTIONS(3), + }, + [132] = { + [sym_identifier] = ACTIONS(1316), + [aux_sym_preproc_include_token1] = ACTIONS(1316), + [aux_sym_preproc_def_token1] = ACTIONS(1316), + [aux_sym_preproc_if_token1] = ACTIONS(1316), + [aux_sym_preproc_if_token2] = ACTIONS(1316), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1316), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1316), + [aux_sym_preproc_else_token1] = ACTIONS(1316), + [aux_sym_preproc_elif_token1] = ACTIONS(1316), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1316), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1316), + [sym_preproc_directive] = ACTIONS(1316), + [anon_sym_LPAREN2] = ACTIONS(1318), + [anon_sym_BANG] = ACTIONS(1318), + [anon_sym_TILDE] = ACTIONS(1318), + [anon_sym_DASH] = ACTIONS(1316), + [anon_sym_PLUS] = ACTIONS(1316), + [anon_sym_STAR] = ACTIONS(1318), + [anon_sym_AMP] = ACTIONS(1318), + [anon_sym_SEMI] = ACTIONS(1318), + [anon_sym___extension__] = ACTIONS(1316), + [anon_sym_typedef] = ACTIONS(1316), + [anon_sym_extern] = ACTIONS(1316), + [anon_sym___attribute__] = ACTIONS(1316), + [anon_sym___attribute] = ACTIONS(1316), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1318), + [anon_sym___declspec] = ACTIONS(1316), + [anon_sym___cdecl] = ACTIONS(1316), + [anon_sym___clrcall] = ACTIONS(1316), + [anon_sym___stdcall] = ACTIONS(1316), + [anon_sym___fastcall] = ACTIONS(1316), + [anon_sym___thiscall] = ACTIONS(1316), + [anon_sym___vectorcall] = ACTIONS(1316), + [anon_sym_LBRACE] = ACTIONS(1318), + [anon_sym_signed] = ACTIONS(1316), + [anon_sym_unsigned] = ACTIONS(1316), + [anon_sym_long] = ACTIONS(1316), + [anon_sym_short] = ACTIONS(1316), + [anon_sym_static] = ACTIONS(1316), + [anon_sym_auto] = ACTIONS(1316), + [anon_sym_register] = ACTIONS(1316), + [anon_sym_inline] = ACTIONS(1316), + [anon_sym___inline] = ACTIONS(1316), + [anon_sym___inline__] = ACTIONS(1316), + [anon_sym___forceinline] = ACTIONS(1316), + [anon_sym_thread_local] = ACTIONS(1316), + [anon_sym___thread] = ACTIONS(1316), + [anon_sym_const] = ACTIONS(1316), + [anon_sym_constexpr] = ACTIONS(1316), + [anon_sym_volatile] = ACTIONS(1316), + [anon_sym_restrict] = ACTIONS(1316), + [anon_sym___restrict__] = ACTIONS(1316), + [anon_sym__Atomic] = ACTIONS(1316), + [anon_sym__Noreturn] = ACTIONS(1316), + [anon_sym_noreturn] = ACTIONS(1316), + [anon_sym__Nonnull] = ACTIONS(1316), + [anon_sym_alignas] = ACTIONS(1316), + [anon_sym__Alignas] = ACTIONS(1316), + [sym_primitive_type] = ACTIONS(1316), + [anon_sym_enum] = ACTIONS(1316), + [anon_sym_struct] = ACTIONS(1316), + [anon_sym_union] = ACTIONS(1316), + [anon_sym_if] = ACTIONS(1316), + [anon_sym_switch] = ACTIONS(1316), + [anon_sym_case] = ACTIONS(1316), + [anon_sym_default] = ACTIONS(1316), + [anon_sym_while] = ACTIONS(1316), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1316), + [anon_sym_return] = ACTIONS(1316), + [anon_sym_break] = ACTIONS(1316), + [anon_sym_continue] = ACTIONS(1316), + [anon_sym_goto] = ACTIONS(1316), + [anon_sym___try] = ACTIONS(1316), + [anon_sym___leave] = ACTIONS(1316), + [anon_sym_DASH_DASH] = ACTIONS(1318), + [anon_sym_PLUS_PLUS] = ACTIONS(1318), + [anon_sym_sizeof] = ACTIONS(1316), + [anon_sym___alignof__] = ACTIONS(1316), + [anon_sym___alignof] = ACTIONS(1316), + [anon_sym__alignof] = ACTIONS(1316), + [anon_sym_alignof] = ACTIONS(1316), + [anon_sym__Alignof] = ACTIONS(1316), + [anon_sym_offsetof] = ACTIONS(1316), + [anon_sym__Generic] = ACTIONS(1316), + [anon_sym_asm] = ACTIONS(1316), + [anon_sym___asm__] = ACTIONS(1316), + [anon_sym___asm] = ACTIONS(1316), + [sym_number_literal] = ACTIONS(1318), + [anon_sym_L_SQUOTE] = ACTIONS(1318), + [anon_sym_u_SQUOTE] = ACTIONS(1318), + [anon_sym_U_SQUOTE] = ACTIONS(1318), + [anon_sym_u8_SQUOTE] = ACTIONS(1318), + [anon_sym_SQUOTE] = ACTIONS(1318), + [anon_sym_L_DQUOTE] = ACTIONS(1318), + [anon_sym_u_DQUOTE] = ACTIONS(1318), + [anon_sym_U_DQUOTE] = ACTIONS(1318), + [anon_sym_u8_DQUOTE] = ACTIONS(1318), + [anon_sym_DQUOTE] = ACTIONS(1318), + [sym_true] = ACTIONS(1316), + [sym_false] = ACTIONS(1316), + [anon_sym_NULL] = ACTIONS(1316), + [anon_sym_nullptr] = ACTIONS(1316), + [sym_comment] = ACTIONS(3), + }, + [133] = { + [sym_identifier] = ACTIONS(1320), + [aux_sym_preproc_include_token1] = ACTIONS(1320), + [aux_sym_preproc_def_token1] = ACTIONS(1320), + [aux_sym_preproc_if_token1] = ACTIONS(1320), + [aux_sym_preproc_if_token2] = ACTIONS(1320), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1320), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1320), + [aux_sym_preproc_else_token1] = ACTIONS(1320), + [aux_sym_preproc_elif_token1] = ACTIONS(1320), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1320), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1320), + [sym_preproc_directive] = ACTIONS(1320), + [anon_sym_LPAREN2] = ACTIONS(1322), + [anon_sym_BANG] = ACTIONS(1322), + [anon_sym_TILDE] = ACTIONS(1322), + [anon_sym_DASH] = ACTIONS(1320), + [anon_sym_PLUS] = ACTIONS(1320), + [anon_sym_STAR] = ACTIONS(1322), + [anon_sym_AMP] = ACTIONS(1322), + [anon_sym_SEMI] = ACTIONS(1322), + [anon_sym___extension__] = ACTIONS(1320), + [anon_sym_typedef] = ACTIONS(1320), + [anon_sym_extern] = ACTIONS(1320), + [anon_sym___attribute__] = ACTIONS(1320), + [anon_sym___attribute] = ACTIONS(1320), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1322), + [anon_sym___declspec] = ACTIONS(1320), + [anon_sym___cdecl] = ACTIONS(1320), + [anon_sym___clrcall] = ACTIONS(1320), + [anon_sym___stdcall] = ACTIONS(1320), + [anon_sym___fastcall] = ACTIONS(1320), + [anon_sym___thiscall] = ACTIONS(1320), + [anon_sym___vectorcall] = ACTIONS(1320), + [anon_sym_LBRACE] = ACTIONS(1322), + [anon_sym_signed] = ACTIONS(1320), + [anon_sym_unsigned] = ACTIONS(1320), + [anon_sym_long] = ACTIONS(1320), + [anon_sym_short] = ACTIONS(1320), + [anon_sym_static] = ACTIONS(1320), + [anon_sym_auto] = ACTIONS(1320), + [anon_sym_register] = ACTIONS(1320), + [anon_sym_inline] = ACTIONS(1320), + [anon_sym___inline] = ACTIONS(1320), + [anon_sym___inline__] = ACTIONS(1320), + [anon_sym___forceinline] = ACTIONS(1320), + [anon_sym_thread_local] = ACTIONS(1320), + [anon_sym___thread] = ACTIONS(1320), + [anon_sym_const] = ACTIONS(1320), + [anon_sym_constexpr] = ACTIONS(1320), + [anon_sym_volatile] = ACTIONS(1320), + [anon_sym_restrict] = ACTIONS(1320), + [anon_sym___restrict__] = ACTIONS(1320), + [anon_sym__Atomic] = ACTIONS(1320), + [anon_sym__Noreturn] = ACTIONS(1320), + [anon_sym_noreturn] = ACTIONS(1320), + [anon_sym__Nonnull] = ACTIONS(1320), + [anon_sym_alignas] = ACTIONS(1320), + [anon_sym__Alignas] = ACTIONS(1320), + [sym_primitive_type] = ACTIONS(1320), + [anon_sym_enum] = ACTIONS(1320), + [anon_sym_struct] = ACTIONS(1320), + [anon_sym_union] = ACTIONS(1320), + [anon_sym_if] = ACTIONS(1320), + [anon_sym_switch] = ACTIONS(1320), + [anon_sym_case] = ACTIONS(1320), + [anon_sym_default] = ACTIONS(1320), + [anon_sym_while] = ACTIONS(1320), + [anon_sym_do] = ACTIONS(1320), + [anon_sym_for] = ACTIONS(1320), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1320), + [anon_sym_continue] = ACTIONS(1320), + [anon_sym_goto] = ACTIONS(1320), + [anon_sym___try] = ACTIONS(1320), + [anon_sym___leave] = ACTIONS(1320), + [anon_sym_DASH_DASH] = ACTIONS(1322), + [anon_sym_PLUS_PLUS] = ACTIONS(1322), + [anon_sym_sizeof] = ACTIONS(1320), + [anon_sym___alignof__] = ACTIONS(1320), + [anon_sym___alignof] = ACTIONS(1320), + [anon_sym__alignof] = ACTIONS(1320), + [anon_sym_alignof] = ACTIONS(1320), + [anon_sym__Alignof] = ACTIONS(1320), + [anon_sym_offsetof] = ACTIONS(1320), + [anon_sym__Generic] = ACTIONS(1320), + [anon_sym_asm] = ACTIONS(1320), + [anon_sym___asm__] = ACTIONS(1320), + [anon_sym___asm] = ACTIONS(1320), + [sym_number_literal] = ACTIONS(1322), + [anon_sym_L_SQUOTE] = ACTIONS(1322), + [anon_sym_u_SQUOTE] = ACTIONS(1322), + [anon_sym_U_SQUOTE] = ACTIONS(1322), + [anon_sym_u8_SQUOTE] = ACTIONS(1322), + [anon_sym_SQUOTE] = ACTIONS(1322), + [anon_sym_L_DQUOTE] = ACTIONS(1322), + [anon_sym_u_DQUOTE] = ACTIONS(1322), + [anon_sym_U_DQUOTE] = ACTIONS(1322), + [anon_sym_u8_DQUOTE] = ACTIONS(1322), + [anon_sym_DQUOTE] = ACTIONS(1322), + [sym_true] = ACTIONS(1320), + [sym_false] = ACTIONS(1320), + [anon_sym_NULL] = ACTIONS(1320), + [anon_sym_nullptr] = ACTIONS(1320), + [sym_comment] = ACTIONS(3), + }, + [134] = { + [sym_identifier] = ACTIONS(1324), + [aux_sym_preproc_include_token1] = ACTIONS(1324), + [aux_sym_preproc_def_token1] = ACTIONS(1324), + [aux_sym_preproc_if_token1] = ACTIONS(1324), + [aux_sym_preproc_if_token2] = ACTIONS(1324), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1324), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1324), + [aux_sym_preproc_else_token1] = ACTIONS(1324), + [aux_sym_preproc_elif_token1] = ACTIONS(1324), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1324), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1324), + [sym_preproc_directive] = ACTIONS(1324), + [anon_sym_LPAREN2] = ACTIONS(1326), + [anon_sym_BANG] = ACTIONS(1326), + [anon_sym_TILDE] = ACTIONS(1326), + [anon_sym_DASH] = ACTIONS(1324), + [anon_sym_PLUS] = ACTIONS(1324), + [anon_sym_STAR] = ACTIONS(1326), + [anon_sym_AMP] = ACTIONS(1326), + [anon_sym_SEMI] = ACTIONS(1326), + [anon_sym___extension__] = ACTIONS(1324), + [anon_sym_typedef] = ACTIONS(1324), + [anon_sym_extern] = ACTIONS(1324), + [anon_sym___attribute__] = ACTIONS(1324), + [anon_sym___attribute] = ACTIONS(1324), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1326), + [anon_sym___declspec] = ACTIONS(1324), + [anon_sym___cdecl] = ACTIONS(1324), + [anon_sym___clrcall] = ACTIONS(1324), + [anon_sym___stdcall] = ACTIONS(1324), + [anon_sym___fastcall] = ACTIONS(1324), + [anon_sym___thiscall] = ACTIONS(1324), + [anon_sym___vectorcall] = ACTIONS(1324), + [anon_sym_LBRACE] = ACTIONS(1326), + [anon_sym_signed] = ACTIONS(1324), + [anon_sym_unsigned] = ACTIONS(1324), + [anon_sym_long] = ACTIONS(1324), + [anon_sym_short] = ACTIONS(1324), + [anon_sym_static] = ACTIONS(1324), + [anon_sym_auto] = ACTIONS(1324), + [anon_sym_register] = ACTIONS(1324), + [anon_sym_inline] = ACTIONS(1324), + [anon_sym___inline] = ACTIONS(1324), + [anon_sym___inline__] = ACTIONS(1324), + [anon_sym___forceinline] = ACTIONS(1324), + [anon_sym_thread_local] = ACTIONS(1324), + [anon_sym___thread] = ACTIONS(1324), + [anon_sym_const] = ACTIONS(1324), + [anon_sym_constexpr] = ACTIONS(1324), + [anon_sym_volatile] = ACTIONS(1324), + [anon_sym_restrict] = ACTIONS(1324), + [anon_sym___restrict__] = ACTIONS(1324), + [anon_sym__Atomic] = ACTIONS(1324), + [anon_sym__Noreturn] = ACTIONS(1324), + [anon_sym_noreturn] = ACTIONS(1324), + [anon_sym__Nonnull] = ACTIONS(1324), + [anon_sym_alignas] = ACTIONS(1324), + [anon_sym__Alignas] = ACTIONS(1324), + [sym_primitive_type] = ACTIONS(1324), + [anon_sym_enum] = ACTIONS(1324), + [anon_sym_struct] = ACTIONS(1324), + [anon_sym_union] = ACTIONS(1324), + [anon_sym_if] = ACTIONS(1324), + [anon_sym_switch] = ACTIONS(1324), + [anon_sym_case] = ACTIONS(1324), + [anon_sym_default] = ACTIONS(1324), + [anon_sym_while] = ACTIONS(1324), + [anon_sym_do] = ACTIONS(1324), + [anon_sym_for] = ACTIONS(1324), + [anon_sym_return] = ACTIONS(1324), + [anon_sym_break] = ACTIONS(1324), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1324), + [anon_sym___try] = ACTIONS(1324), + [anon_sym___leave] = ACTIONS(1324), + [anon_sym_DASH_DASH] = ACTIONS(1326), + [anon_sym_PLUS_PLUS] = ACTIONS(1326), + [anon_sym_sizeof] = ACTIONS(1324), + [anon_sym___alignof__] = ACTIONS(1324), + [anon_sym___alignof] = ACTIONS(1324), + [anon_sym__alignof] = ACTIONS(1324), + [anon_sym_alignof] = ACTIONS(1324), + [anon_sym__Alignof] = ACTIONS(1324), + [anon_sym_offsetof] = ACTIONS(1324), + [anon_sym__Generic] = ACTIONS(1324), + [anon_sym_asm] = ACTIONS(1324), + [anon_sym___asm__] = ACTIONS(1324), + [anon_sym___asm] = ACTIONS(1324), + [sym_number_literal] = ACTIONS(1326), + [anon_sym_L_SQUOTE] = ACTIONS(1326), + [anon_sym_u_SQUOTE] = ACTIONS(1326), + [anon_sym_U_SQUOTE] = ACTIONS(1326), + [anon_sym_u8_SQUOTE] = ACTIONS(1326), + [anon_sym_SQUOTE] = ACTIONS(1326), + [anon_sym_L_DQUOTE] = ACTIONS(1326), + [anon_sym_u_DQUOTE] = ACTIONS(1326), + [anon_sym_U_DQUOTE] = ACTIONS(1326), + [anon_sym_u8_DQUOTE] = ACTIONS(1326), + [anon_sym_DQUOTE] = ACTIONS(1326), + [sym_true] = ACTIONS(1324), + [sym_false] = ACTIONS(1324), + [anon_sym_NULL] = ACTIONS(1324), + [anon_sym_nullptr] = ACTIONS(1324), + [sym_comment] = ACTIONS(3), + }, + [135] = { + [sym_identifier] = ACTIONS(1328), + [aux_sym_preproc_include_token1] = ACTIONS(1328), + [aux_sym_preproc_def_token1] = ACTIONS(1328), + [aux_sym_preproc_if_token1] = ACTIONS(1328), + [aux_sym_preproc_if_token2] = ACTIONS(1328), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1328), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1328), + [aux_sym_preproc_else_token1] = ACTIONS(1328), + [aux_sym_preproc_elif_token1] = ACTIONS(1328), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1328), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1328), + [sym_preproc_directive] = ACTIONS(1328), + [anon_sym_LPAREN2] = ACTIONS(1330), + [anon_sym_BANG] = ACTIONS(1330), + [anon_sym_TILDE] = ACTIONS(1330), + [anon_sym_DASH] = ACTIONS(1328), + [anon_sym_PLUS] = ACTIONS(1328), + [anon_sym_STAR] = ACTIONS(1330), + [anon_sym_AMP] = ACTIONS(1330), + [anon_sym_SEMI] = ACTIONS(1330), + [anon_sym___extension__] = ACTIONS(1328), + [anon_sym_typedef] = ACTIONS(1328), + [anon_sym_extern] = ACTIONS(1328), + [anon_sym___attribute__] = ACTIONS(1328), + [anon_sym___attribute] = ACTIONS(1328), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1330), + [anon_sym___declspec] = ACTIONS(1328), + [anon_sym___cdecl] = ACTIONS(1328), + [anon_sym___clrcall] = ACTIONS(1328), + [anon_sym___stdcall] = ACTIONS(1328), + [anon_sym___fastcall] = ACTIONS(1328), + [anon_sym___thiscall] = ACTIONS(1328), + [anon_sym___vectorcall] = ACTIONS(1328), + [anon_sym_LBRACE] = ACTIONS(1330), + [anon_sym_signed] = ACTIONS(1328), + [anon_sym_unsigned] = ACTIONS(1328), + [anon_sym_long] = ACTIONS(1328), + [anon_sym_short] = ACTIONS(1328), + [anon_sym_static] = ACTIONS(1328), + [anon_sym_auto] = ACTIONS(1328), + [anon_sym_register] = ACTIONS(1328), + [anon_sym_inline] = ACTIONS(1328), + [anon_sym___inline] = ACTIONS(1328), + [anon_sym___inline__] = ACTIONS(1328), + [anon_sym___forceinline] = ACTIONS(1328), + [anon_sym_thread_local] = ACTIONS(1328), + [anon_sym___thread] = ACTIONS(1328), + [anon_sym_const] = ACTIONS(1328), + [anon_sym_constexpr] = ACTIONS(1328), + [anon_sym_volatile] = ACTIONS(1328), + [anon_sym_restrict] = ACTIONS(1328), + [anon_sym___restrict__] = ACTIONS(1328), + [anon_sym__Atomic] = ACTIONS(1328), + [anon_sym__Noreturn] = ACTIONS(1328), + [anon_sym_noreturn] = ACTIONS(1328), + [anon_sym__Nonnull] = ACTIONS(1328), + [anon_sym_alignas] = ACTIONS(1328), + [anon_sym__Alignas] = ACTIONS(1328), + [sym_primitive_type] = ACTIONS(1328), + [anon_sym_enum] = ACTIONS(1328), + [anon_sym_struct] = ACTIONS(1328), + [anon_sym_union] = ACTIONS(1328), + [anon_sym_if] = ACTIONS(1328), + [anon_sym_switch] = ACTIONS(1328), + [anon_sym_case] = ACTIONS(1328), + [anon_sym_default] = ACTIONS(1328), + [anon_sym_while] = ACTIONS(1328), + [anon_sym_do] = ACTIONS(1328), + [anon_sym_for] = ACTIONS(1328), + [anon_sym_return] = ACTIONS(1328), + [anon_sym_break] = ACTIONS(1328), + [anon_sym_continue] = ACTIONS(1328), + [anon_sym_goto] = ACTIONS(1328), + [anon_sym___try] = ACTIONS(1328), + [anon_sym___leave] = ACTIONS(1328), + [anon_sym_DASH_DASH] = ACTIONS(1330), + [anon_sym_PLUS_PLUS] = ACTIONS(1330), + [anon_sym_sizeof] = ACTIONS(1328), + [anon_sym___alignof__] = ACTIONS(1328), + [anon_sym___alignof] = ACTIONS(1328), + [anon_sym__alignof] = ACTIONS(1328), + [anon_sym_alignof] = ACTIONS(1328), + [anon_sym__Alignof] = ACTIONS(1328), + [anon_sym_offsetof] = ACTIONS(1328), + [anon_sym__Generic] = ACTIONS(1328), + [anon_sym_asm] = ACTIONS(1328), + [anon_sym___asm__] = ACTIONS(1328), + [anon_sym___asm] = ACTIONS(1328), + [sym_number_literal] = ACTIONS(1330), + [anon_sym_L_SQUOTE] = ACTIONS(1330), + [anon_sym_u_SQUOTE] = ACTIONS(1330), + [anon_sym_U_SQUOTE] = ACTIONS(1330), + [anon_sym_u8_SQUOTE] = ACTIONS(1330), + [anon_sym_SQUOTE] = ACTIONS(1330), + [anon_sym_L_DQUOTE] = ACTIONS(1330), + [anon_sym_u_DQUOTE] = ACTIONS(1330), + [anon_sym_U_DQUOTE] = ACTIONS(1330), + [anon_sym_u8_DQUOTE] = ACTIONS(1330), + [anon_sym_DQUOTE] = ACTIONS(1330), + [sym_true] = ACTIONS(1328), + [sym_false] = ACTIONS(1328), + [anon_sym_NULL] = ACTIONS(1328), + [anon_sym_nullptr] = ACTIONS(1328), + [sym_comment] = ACTIONS(3), + }, + [136] = { + [sym_identifier] = ACTIONS(1332), + [aux_sym_preproc_include_token1] = ACTIONS(1332), + [aux_sym_preproc_def_token1] = ACTIONS(1332), + [aux_sym_preproc_if_token1] = ACTIONS(1332), + [aux_sym_preproc_if_token2] = ACTIONS(1332), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1332), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1332), + [aux_sym_preproc_else_token1] = ACTIONS(1332), + [aux_sym_preproc_elif_token1] = ACTIONS(1332), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1332), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1332), + [sym_preproc_directive] = ACTIONS(1332), + [anon_sym_LPAREN2] = ACTIONS(1334), + [anon_sym_BANG] = ACTIONS(1334), + [anon_sym_TILDE] = ACTIONS(1334), + [anon_sym_DASH] = ACTIONS(1332), + [anon_sym_PLUS] = ACTIONS(1332), + [anon_sym_STAR] = ACTIONS(1334), + [anon_sym_AMP] = ACTIONS(1334), + [anon_sym_SEMI] = ACTIONS(1334), + [anon_sym___extension__] = ACTIONS(1332), + [anon_sym_typedef] = ACTIONS(1332), + [anon_sym_extern] = ACTIONS(1332), + [anon_sym___attribute__] = ACTIONS(1332), + [anon_sym___attribute] = ACTIONS(1332), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1334), + [anon_sym___declspec] = ACTIONS(1332), + [anon_sym___cdecl] = ACTIONS(1332), + [anon_sym___clrcall] = ACTIONS(1332), + [anon_sym___stdcall] = ACTIONS(1332), + [anon_sym___fastcall] = ACTIONS(1332), + [anon_sym___thiscall] = ACTIONS(1332), + [anon_sym___vectorcall] = ACTIONS(1332), + [anon_sym_LBRACE] = ACTIONS(1334), + [anon_sym_signed] = ACTIONS(1332), + [anon_sym_unsigned] = ACTIONS(1332), + [anon_sym_long] = ACTIONS(1332), + [anon_sym_short] = ACTIONS(1332), + [anon_sym_static] = ACTIONS(1332), + [anon_sym_auto] = ACTIONS(1332), + [anon_sym_register] = ACTIONS(1332), + [anon_sym_inline] = ACTIONS(1332), + [anon_sym___inline] = ACTIONS(1332), + [anon_sym___inline__] = ACTIONS(1332), + [anon_sym___forceinline] = ACTIONS(1332), + [anon_sym_thread_local] = ACTIONS(1332), + [anon_sym___thread] = ACTIONS(1332), + [anon_sym_const] = ACTIONS(1332), + [anon_sym_constexpr] = ACTIONS(1332), + [anon_sym_volatile] = ACTIONS(1332), + [anon_sym_restrict] = ACTIONS(1332), + [anon_sym___restrict__] = ACTIONS(1332), + [anon_sym__Atomic] = ACTIONS(1332), + [anon_sym__Noreturn] = ACTIONS(1332), + [anon_sym_noreturn] = ACTIONS(1332), + [anon_sym__Nonnull] = ACTIONS(1332), + [anon_sym_alignas] = ACTIONS(1332), + [anon_sym__Alignas] = ACTIONS(1332), + [sym_primitive_type] = ACTIONS(1332), + [anon_sym_enum] = ACTIONS(1332), + [anon_sym_struct] = ACTIONS(1332), + [anon_sym_union] = ACTIONS(1332), + [anon_sym_if] = ACTIONS(1332), + [anon_sym_switch] = ACTIONS(1332), + [anon_sym_case] = ACTIONS(1332), + [anon_sym_default] = ACTIONS(1332), + [anon_sym_while] = ACTIONS(1332), + [anon_sym_do] = ACTIONS(1332), + [anon_sym_for] = ACTIONS(1332), + [anon_sym_return] = ACTIONS(1332), + [anon_sym_break] = ACTIONS(1332), + [anon_sym_continue] = ACTIONS(1332), + [anon_sym_goto] = ACTIONS(1332), + [anon_sym___try] = ACTIONS(1332), + [anon_sym___leave] = ACTIONS(1332), + [anon_sym_DASH_DASH] = ACTIONS(1334), + [anon_sym_PLUS_PLUS] = ACTIONS(1334), + [anon_sym_sizeof] = ACTIONS(1332), + [anon_sym___alignof__] = ACTIONS(1332), + [anon_sym___alignof] = ACTIONS(1332), + [anon_sym__alignof] = ACTIONS(1332), + [anon_sym_alignof] = ACTIONS(1332), + [anon_sym__Alignof] = ACTIONS(1332), + [anon_sym_offsetof] = ACTIONS(1332), + [anon_sym__Generic] = ACTIONS(1332), + [anon_sym_asm] = ACTIONS(1332), + [anon_sym___asm__] = ACTIONS(1332), + [anon_sym___asm] = ACTIONS(1332), + [sym_number_literal] = ACTIONS(1334), + [anon_sym_L_SQUOTE] = ACTIONS(1334), + [anon_sym_u_SQUOTE] = ACTIONS(1334), + [anon_sym_U_SQUOTE] = ACTIONS(1334), + [anon_sym_u8_SQUOTE] = ACTIONS(1334), + [anon_sym_SQUOTE] = ACTIONS(1334), + [anon_sym_L_DQUOTE] = ACTIONS(1334), + [anon_sym_u_DQUOTE] = ACTIONS(1334), + [anon_sym_U_DQUOTE] = ACTIONS(1334), + [anon_sym_u8_DQUOTE] = ACTIONS(1334), + [anon_sym_DQUOTE] = ACTIONS(1334), + [sym_true] = ACTIONS(1332), + [sym_false] = ACTIONS(1332), + [anon_sym_NULL] = ACTIONS(1332), + [anon_sym_nullptr] = ACTIONS(1332), + [sym_comment] = ACTIONS(3), + }, + [137] = { + [sym_identifier] = ACTIONS(1336), + [aux_sym_preproc_include_token1] = ACTIONS(1336), + [aux_sym_preproc_def_token1] = ACTIONS(1336), + [aux_sym_preproc_if_token1] = ACTIONS(1336), + [aux_sym_preproc_if_token2] = ACTIONS(1336), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1336), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1336), + [aux_sym_preproc_else_token1] = ACTIONS(1336), + [aux_sym_preproc_elif_token1] = ACTIONS(1336), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1336), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1336), + [sym_preproc_directive] = ACTIONS(1336), + [anon_sym_LPAREN2] = ACTIONS(1338), + [anon_sym_BANG] = ACTIONS(1338), + [anon_sym_TILDE] = ACTIONS(1338), + [anon_sym_DASH] = ACTIONS(1336), + [anon_sym_PLUS] = ACTIONS(1336), + [anon_sym_STAR] = ACTIONS(1338), + [anon_sym_AMP] = ACTIONS(1338), + [anon_sym_SEMI] = ACTIONS(1338), + [anon_sym___extension__] = ACTIONS(1336), + [anon_sym_typedef] = ACTIONS(1336), + [anon_sym_extern] = ACTIONS(1336), + [anon_sym___attribute__] = ACTIONS(1336), + [anon_sym___attribute] = ACTIONS(1336), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1338), + [anon_sym___declspec] = ACTIONS(1336), + [anon_sym___cdecl] = ACTIONS(1336), + [anon_sym___clrcall] = ACTIONS(1336), + [anon_sym___stdcall] = ACTIONS(1336), + [anon_sym___fastcall] = ACTIONS(1336), + [anon_sym___thiscall] = ACTIONS(1336), + [anon_sym___vectorcall] = ACTIONS(1336), + [anon_sym_LBRACE] = ACTIONS(1338), + [anon_sym_signed] = ACTIONS(1336), + [anon_sym_unsigned] = ACTIONS(1336), + [anon_sym_long] = ACTIONS(1336), + [anon_sym_short] = ACTIONS(1336), + [anon_sym_static] = ACTIONS(1336), + [anon_sym_auto] = ACTIONS(1336), + [anon_sym_register] = ACTIONS(1336), + [anon_sym_inline] = ACTIONS(1336), + [anon_sym___inline] = ACTIONS(1336), + [anon_sym___inline__] = ACTIONS(1336), + [anon_sym___forceinline] = ACTIONS(1336), + [anon_sym_thread_local] = ACTIONS(1336), + [anon_sym___thread] = ACTIONS(1336), + [anon_sym_const] = ACTIONS(1336), + [anon_sym_constexpr] = ACTIONS(1336), + [anon_sym_volatile] = ACTIONS(1336), + [anon_sym_restrict] = ACTIONS(1336), + [anon_sym___restrict__] = ACTIONS(1336), + [anon_sym__Atomic] = ACTIONS(1336), + [anon_sym__Noreturn] = ACTIONS(1336), + [anon_sym_noreturn] = ACTIONS(1336), + [anon_sym__Nonnull] = ACTIONS(1336), + [anon_sym_alignas] = ACTIONS(1336), + [anon_sym__Alignas] = ACTIONS(1336), + [sym_primitive_type] = ACTIONS(1336), + [anon_sym_enum] = ACTIONS(1336), + [anon_sym_struct] = ACTIONS(1336), + [anon_sym_union] = ACTIONS(1336), + [anon_sym_if] = ACTIONS(1336), + [anon_sym_switch] = ACTIONS(1336), + [anon_sym_case] = ACTIONS(1336), + [anon_sym_default] = ACTIONS(1336), + [anon_sym_while] = ACTIONS(1336), + [anon_sym_do] = ACTIONS(1336), + [anon_sym_for] = ACTIONS(1336), + [anon_sym_return] = ACTIONS(1336), + [anon_sym_break] = ACTIONS(1336), + [anon_sym_continue] = ACTIONS(1336), + [anon_sym_goto] = ACTIONS(1336), + [anon_sym___try] = ACTIONS(1336), + [anon_sym___leave] = ACTIONS(1336), + [anon_sym_DASH_DASH] = ACTIONS(1338), + [anon_sym_PLUS_PLUS] = ACTIONS(1338), + [anon_sym_sizeof] = ACTIONS(1336), + [anon_sym___alignof__] = ACTIONS(1336), + [anon_sym___alignof] = ACTIONS(1336), + [anon_sym__alignof] = ACTIONS(1336), + [anon_sym_alignof] = ACTIONS(1336), + [anon_sym__Alignof] = ACTIONS(1336), + [anon_sym_offsetof] = ACTIONS(1336), + [anon_sym__Generic] = ACTIONS(1336), + [anon_sym_asm] = ACTIONS(1336), + [anon_sym___asm__] = ACTIONS(1336), + [anon_sym___asm] = ACTIONS(1336), + [sym_number_literal] = ACTIONS(1338), + [anon_sym_L_SQUOTE] = ACTIONS(1338), + [anon_sym_u_SQUOTE] = ACTIONS(1338), + [anon_sym_U_SQUOTE] = ACTIONS(1338), + [anon_sym_u8_SQUOTE] = ACTIONS(1338), + [anon_sym_SQUOTE] = ACTIONS(1338), + [anon_sym_L_DQUOTE] = ACTIONS(1338), + [anon_sym_u_DQUOTE] = ACTIONS(1338), + [anon_sym_U_DQUOTE] = ACTIONS(1338), + [anon_sym_u8_DQUOTE] = ACTIONS(1338), + [anon_sym_DQUOTE] = ACTIONS(1338), + [sym_true] = ACTIONS(1336), + [sym_false] = ACTIONS(1336), + [anon_sym_NULL] = ACTIONS(1336), + [anon_sym_nullptr] = ACTIONS(1336), + [sym_comment] = ACTIONS(3), + }, + [138] = { + [sym_identifier] = ACTIONS(1340), + [aux_sym_preproc_include_token1] = ACTIONS(1340), + [aux_sym_preproc_def_token1] = ACTIONS(1340), + [aux_sym_preproc_if_token1] = ACTIONS(1340), + [aux_sym_preproc_if_token2] = ACTIONS(1340), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1340), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1340), + [aux_sym_preproc_else_token1] = ACTIONS(1340), + [aux_sym_preproc_elif_token1] = ACTIONS(1340), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1340), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1340), + [sym_preproc_directive] = ACTIONS(1340), + [anon_sym_LPAREN2] = ACTIONS(1342), + [anon_sym_BANG] = ACTIONS(1342), + [anon_sym_TILDE] = ACTIONS(1342), + [anon_sym_DASH] = ACTIONS(1340), + [anon_sym_PLUS] = ACTIONS(1340), + [anon_sym_STAR] = ACTIONS(1342), + [anon_sym_AMP] = ACTIONS(1342), + [anon_sym_SEMI] = ACTIONS(1342), + [anon_sym___extension__] = ACTIONS(1340), + [anon_sym_typedef] = ACTIONS(1340), + [anon_sym_extern] = ACTIONS(1340), + [anon_sym___attribute__] = ACTIONS(1340), + [anon_sym___attribute] = ACTIONS(1340), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1342), + [anon_sym___declspec] = ACTIONS(1340), + [anon_sym___cdecl] = ACTIONS(1340), + [anon_sym___clrcall] = ACTIONS(1340), + [anon_sym___stdcall] = ACTIONS(1340), + [anon_sym___fastcall] = ACTIONS(1340), + [anon_sym___thiscall] = ACTIONS(1340), + [anon_sym___vectorcall] = ACTIONS(1340), + [anon_sym_LBRACE] = ACTIONS(1342), + [anon_sym_signed] = ACTIONS(1340), + [anon_sym_unsigned] = ACTIONS(1340), + [anon_sym_long] = ACTIONS(1340), + [anon_sym_short] = ACTIONS(1340), + [anon_sym_static] = ACTIONS(1340), + [anon_sym_auto] = ACTIONS(1340), + [anon_sym_register] = ACTIONS(1340), + [anon_sym_inline] = ACTIONS(1340), + [anon_sym___inline] = ACTIONS(1340), + [anon_sym___inline__] = ACTIONS(1340), + [anon_sym___forceinline] = ACTIONS(1340), + [anon_sym_thread_local] = ACTIONS(1340), + [anon_sym___thread] = ACTIONS(1340), + [anon_sym_const] = ACTIONS(1340), + [anon_sym_constexpr] = ACTIONS(1340), + [anon_sym_volatile] = ACTIONS(1340), + [anon_sym_restrict] = ACTIONS(1340), + [anon_sym___restrict__] = ACTIONS(1340), + [anon_sym__Atomic] = ACTIONS(1340), + [anon_sym__Noreturn] = ACTIONS(1340), + [anon_sym_noreturn] = ACTIONS(1340), + [anon_sym__Nonnull] = ACTIONS(1340), + [anon_sym_alignas] = ACTIONS(1340), + [anon_sym__Alignas] = ACTIONS(1340), + [sym_primitive_type] = ACTIONS(1340), + [anon_sym_enum] = ACTIONS(1340), + [anon_sym_struct] = ACTIONS(1340), + [anon_sym_union] = ACTIONS(1340), + [anon_sym_if] = ACTIONS(1340), + [anon_sym_switch] = ACTIONS(1340), + [anon_sym_case] = ACTIONS(1340), + [anon_sym_default] = ACTIONS(1340), + [anon_sym_while] = ACTIONS(1340), + [anon_sym_do] = ACTIONS(1340), + [anon_sym_for] = ACTIONS(1340), + [anon_sym_return] = ACTIONS(1340), + [anon_sym_break] = ACTIONS(1340), + [anon_sym_continue] = ACTIONS(1340), + [anon_sym_goto] = ACTIONS(1340), + [anon_sym___try] = ACTIONS(1340), + [anon_sym___leave] = ACTIONS(1340), + [anon_sym_DASH_DASH] = ACTIONS(1342), + [anon_sym_PLUS_PLUS] = ACTIONS(1342), + [anon_sym_sizeof] = ACTIONS(1340), + [anon_sym___alignof__] = ACTIONS(1340), + [anon_sym___alignof] = ACTIONS(1340), + [anon_sym__alignof] = ACTIONS(1340), + [anon_sym_alignof] = ACTIONS(1340), + [anon_sym__Alignof] = ACTIONS(1340), + [anon_sym_offsetof] = ACTIONS(1340), + [anon_sym__Generic] = ACTIONS(1340), + [anon_sym_asm] = ACTIONS(1340), + [anon_sym___asm__] = ACTIONS(1340), + [anon_sym___asm] = ACTIONS(1340), + [sym_number_literal] = ACTIONS(1342), + [anon_sym_L_SQUOTE] = ACTIONS(1342), + [anon_sym_u_SQUOTE] = ACTIONS(1342), + [anon_sym_U_SQUOTE] = ACTIONS(1342), + [anon_sym_u8_SQUOTE] = ACTIONS(1342), + [anon_sym_SQUOTE] = ACTIONS(1342), + [anon_sym_L_DQUOTE] = ACTIONS(1342), + [anon_sym_u_DQUOTE] = ACTIONS(1342), + [anon_sym_U_DQUOTE] = ACTIONS(1342), + [anon_sym_u8_DQUOTE] = ACTIONS(1342), + [anon_sym_DQUOTE] = ACTIONS(1342), + [sym_true] = ACTIONS(1340), + [sym_false] = ACTIONS(1340), + [anon_sym_NULL] = ACTIONS(1340), + [anon_sym_nullptr] = ACTIONS(1340), + [sym_comment] = ACTIONS(3), + }, + [139] = { + [sym_identifier] = ACTIONS(1344), + [aux_sym_preproc_include_token1] = ACTIONS(1344), + [aux_sym_preproc_def_token1] = ACTIONS(1344), + [aux_sym_preproc_if_token1] = ACTIONS(1344), + [aux_sym_preproc_if_token2] = ACTIONS(1344), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1344), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1344), + [aux_sym_preproc_else_token1] = ACTIONS(1344), + [aux_sym_preproc_elif_token1] = ACTIONS(1344), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1344), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1344), + [sym_preproc_directive] = ACTIONS(1344), + [anon_sym_LPAREN2] = ACTIONS(1346), + [anon_sym_BANG] = ACTIONS(1346), + [anon_sym_TILDE] = ACTIONS(1346), + [anon_sym_DASH] = ACTIONS(1344), + [anon_sym_PLUS] = ACTIONS(1344), + [anon_sym_STAR] = ACTIONS(1346), + [anon_sym_AMP] = ACTIONS(1346), + [anon_sym_SEMI] = ACTIONS(1346), + [anon_sym___extension__] = ACTIONS(1344), + [anon_sym_typedef] = ACTIONS(1344), + [anon_sym_extern] = ACTIONS(1344), + [anon_sym___attribute__] = ACTIONS(1344), + [anon_sym___attribute] = ACTIONS(1344), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1346), + [anon_sym___declspec] = ACTIONS(1344), + [anon_sym___cdecl] = ACTIONS(1344), + [anon_sym___clrcall] = ACTIONS(1344), + [anon_sym___stdcall] = ACTIONS(1344), + [anon_sym___fastcall] = ACTIONS(1344), + [anon_sym___thiscall] = ACTIONS(1344), + [anon_sym___vectorcall] = ACTIONS(1344), + [anon_sym_LBRACE] = ACTIONS(1346), + [anon_sym_signed] = ACTIONS(1344), + [anon_sym_unsigned] = ACTIONS(1344), + [anon_sym_long] = ACTIONS(1344), + [anon_sym_short] = ACTIONS(1344), + [anon_sym_static] = ACTIONS(1344), + [anon_sym_auto] = ACTIONS(1344), + [anon_sym_register] = ACTIONS(1344), + [anon_sym_inline] = ACTIONS(1344), + [anon_sym___inline] = ACTIONS(1344), + [anon_sym___inline__] = ACTIONS(1344), + [anon_sym___forceinline] = ACTIONS(1344), + [anon_sym_thread_local] = ACTIONS(1344), + [anon_sym___thread] = ACTIONS(1344), + [anon_sym_const] = ACTIONS(1344), + [anon_sym_constexpr] = ACTIONS(1344), + [anon_sym_volatile] = ACTIONS(1344), + [anon_sym_restrict] = ACTIONS(1344), + [anon_sym___restrict__] = ACTIONS(1344), + [anon_sym__Atomic] = ACTIONS(1344), + [anon_sym__Noreturn] = ACTIONS(1344), + [anon_sym_noreturn] = ACTIONS(1344), + [anon_sym__Nonnull] = ACTIONS(1344), + [anon_sym_alignas] = ACTIONS(1344), + [anon_sym__Alignas] = ACTIONS(1344), + [sym_primitive_type] = ACTIONS(1344), + [anon_sym_enum] = ACTIONS(1344), + [anon_sym_struct] = ACTIONS(1344), + [anon_sym_union] = ACTIONS(1344), + [anon_sym_if] = ACTIONS(1344), + [anon_sym_switch] = ACTIONS(1344), + [anon_sym_case] = ACTIONS(1344), + [anon_sym_default] = ACTIONS(1344), + [anon_sym_while] = ACTIONS(1344), + [anon_sym_do] = ACTIONS(1344), + [anon_sym_for] = ACTIONS(1344), + [anon_sym_return] = ACTIONS(1344), + [anon_sym_break] = ACTIONS(1344), + [anon_sym_continue] = ACTIONS(1344), + [anon_sym_goto] = ACTIONS(1344), + [anon_sym___try] = ACTIONS(1344), + [anon_sym___leave] = ACTIONS(1344), + [anon_sym_DASH_DASH] = ACTIONS(1346), + [anon_sym_PLUS_PLUS] = ACTIONS(1346), + [anon_sym_sizeof] = ACTIONS(1344), + [anon_sym___alignof__] = ACTIONS(1344), + [anon_sym___alignof] = ACTIONS(1344), + [anon_sym__alignof] = ACTIONS(1344), + [anon_sym_alignof] = ACTIONS(1344), + [anon_sym__Alignof] = ACTIONS(1344), + [anon_sym_offsetof] = ACTIONS(1344), + [anon_sym__Generic] = ACTIONS(1344), + [anon_sym_asm] = ACTIONS(1344), + [anon_sym___asm__] = ACTIONS(1344), + [anon_sym___asm] = ACTIONS(1344), + [sym_number_literal] = ACTIONS(1346), + [anon_sym_L_SQUOTE] = ACTIONS(1346), + [anon_sym_u_SQUOTE] = ACTIONS(1346), + [anon_sym_U_SQUOTE] = ACTIONS(1346), + [anon_sym_u8_SQUOTE] = ACTIONS(1346), + [anon_sym_SQUOTE] = ACTIONS(1346), + [anon_sym_L_DQUOTE] = ACTIONS(1346), + [anon_sym_u_DQUOTE] = ACTIONS(1346), + [anon_sym_U_DQUOTE] = ACTIONS(1346), + [anon_sym_u8_DQUOTE] = ACTIONS(1346), + [anon_sym_DQUOTE] = ACTIONS(1346), + [sym_true] = ACTIONS(1344), + [sym_false] = ACTIONS(1344), + [anon_sym_NULL] = ACTIONS(1344), + [anon_sym_nullptr] = ACTIONS(1344), + [sym_comment] = ACTIONS(3), + }, + [140] = { + [sym_identifier] = ACTIONS(1348), + [aux_sym_preproc_include_token1] = ACTIONS(1348), + [aux_sym_preproc_def_token1] = ACTIONS(1348), + [aux_sym_preproc_if_token1] = ACTIONS(1348), + [aux_sym_preproc_if_token2] = ACTIONS(1348), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1348), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1348), + [aux_sym_preproc_else_token1] = ACTIONS(1348), + [aux_sym_preproc_elif_token1] = ACTIONS(1348), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1348), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1348), + [sym_preproc_directive] = ACTIONS(1348), + [anon_sym_LPAREN2] = ACTIONS(1350), + [anon_sym_BANG] = ACTIONS(1350), + [anon_sym_TILDE] = ACTIONS(1350), + [anon_sym_DASH] = ACTIONS(1348), + [anon_sym_PLUS] = ACTIONS(1348), + [anon_sym_STAR] = ACTIONS(1350), + [anon_sym_AMP] = ACTIONS(1350), + [anon_sym_SEMI] = ACTIONS(1350), + [anon_sym___extension__] = ACTIONS(1348), + [anon_sym_typedef] = ACTIONS(1348), + [anon_sym_extern] = ACTIONS(1348), + [anon_sym___attribute__] = ACTIONS(1348), + [anon_sym___attribute] = ACTIONS(1348), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1350), + [anon_sym___declspec] = ACTIONS(1348), + [anon_sym___cdecl] = ACTIONS(1348), + [anon_sym___clrcall] = ACTIONS(1348), + [anon_sym___stdcall] = ACTIONS(1348), + [anon_sym___fastcall] = ACTIONS(1348), + [anon_sym___thiscall] = ACTIONS(1348), + [anon_sym___vectorcall] = ACTIONS(1348), + [anon_sym_LBRACE] = ACTIONS(1350), + [anon_sym_signed] = ACTIONS(1348), + [anon_sym_unsigned] = ACTIONS(1348), + [anon_sym_long] = ACTIONS(1348), + [anon_sym_short] = ACTIONS(1348), + [anon_sym_static] = ACTIONS(1348), + [anon_sym_auto] = ACTIONS(1348), + [anon_sym_register] = ACTIONS(1348), + [anon_sym_inline] = ACTIONS(1348), + [anon_sym___inline] = ACTIONS(1348), + [anon_sym___inline__] = ACTIONS(1348), + [anon_sym___forceinline] = ACTIONS(1348), + [anon_sym_thread_local] = ACTIONS(1348), + [anon_sym___thread] = ACTIONS(1348), + [anon_sym_const] = ACTIONS(1348), + [anon_sym_constexpr] = ACTIONS(1348), + [anon_sym_volatile] = ACTIONS(1348), + [anon_sym_restrict] = ACTIONS(1348), + [anon_sym___restrict__] = ACTIONS(1348), + [anon_sym__Atomic] = ACTIONS(1348), + [anon_sym__Noreturn] = ACTIONS(1348), + [anon_sym_noreturn] = ACTIONS(1348), + [anon_sym__Nonnull] = ACTIONS(1348), + [anon_sym_alignas] = ACTIONS(1348), + [anon_sym__Alignas] = ACTIONS(1348), + [sym_primitive_type] = ACTIONS(1348), + [anon_sym_enum] = ACTIONS(1348), + [anon_sym_struct] = ACTIONS(1348), + [anon_sym_union] = ACTIONS(1348), + [anon_sym_if] = ACTIONS(1348), + [anon_sym_switch] = ACTIONS(1348), + [anon_sym_case] = ACTIONS(1348), + [anon_sym_default] = ACTIONS(1348), + [anon_sym_while] = ACTIONS(1348), + [anon_sym_do] = ACTIONS(1348), + [anon_sym_for] = ACTIONS(1348), + [anon_sym_return] = ACTIONS(1348), + [anon_sym_break] = ACTIONS(1348), + [anon_sym_continue] = ACTIONS(1348), + [anon_sym_goto] = ACTIONS(1348), + [anon_sym___try] = ACTIONS(1348), + [anon_sym___leave] = ACTIONS(1348), + [anon_sym_DASH_DASH] = ACTIONS(1350), + [anon_sym_PLUS_PLUS] = ACTIONS(1350), + [anon_sym_sizeof] = ACTIONS(1348), + [anon_sym___alignof__] = ACTIONS(1348), + [anon_sym___alignof] = ACTIONS(1348), + [anon_sym__alignof] = ACTIONS(1348), + [anon_sym_alignof] = ACTIONS(1348), + [anon_sym__Alignof] = ACTIONS(1348), + [anon_sym_offsetof] = ACTIONS(1348), + [anon_sym__Generic] = ACTIONS(1348), + [anon_sym_asm] = ACTIONS(1348), + [anon_sym___asm__] = ACTIONS(1348), + [anon_sym___asm] = ACTIONS(1348), + [sym_number_literal] = ACTIONS(1350), + [anon_sym_L_SQUOTE] = ACTIONS(1350), + [anon_sym_u_SQUOTE] = ACTIONS(1350), + [anon_sym_U_SQUOTE] = ACTIONS(1350), + [anon_sym_u8_SQUOTE] = ACTIONS(1350), + [anon_sym_SQUOTE] = ACTIONS(1350), + [anon_sym_L_DQUOTE] = ACTIONS(1350), + [anon_sym_u_DQUOTE] = ACTIONS(1350), + [anon_sym_U_DQUOTE] = ACTIONS(1350), + [anon_sym_u8_DQUOTE] = ACTIONS(1350), + [anon_sym_DQUOTE] = ACTIONS(1350), + [sym_true] = ACTIONS(1348), + [sym_false] = ACTIONS(1348), + [anon_sym_NULL] = ACTIONS(1348), + [anon_sym_nullptr] = ACTIONS(1348), + [sym_comment] = ACTIONS(3), + }, + [141] = { + [sym_identifier] = ACTIONS(1352), + [aux_sym_preproc_include_token1] = ACTIONS(1352), + [aux_sym_preproc_def_token1] = ACTIONS(1352), + [aux_sym_preproc_if_token1] = ACTIONS(1352), + [aux_sym_preproc_if_token2] = ACTIONS(1352), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1352), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1352), + [aux_sym_preproc_else_token1] = ACTIONS(1352), + [aux_sym_preproc_elif_token1] = ACTIONS(1352), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1352), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1352), + [sym_preproc_directive] = ACTIONS(1352), + [anon_sym_LPAREN2] = ACTIONS(1354), + [anon_sym_BANG] = ACTIONS(1354), + [anon_sym_TILDE] = ACTIONS(1354), + [anon_sym_DASH] = ACTIONS(1352), + [anon_sym_PLUS] = ACTIONS(1352), + [anon_sym_STAR] = ACTIONS(1354), + [anon_sym_AMP] = ACTIONS(1354), + [anon_sym_SEMI] = ACTIONS(1354), + [anon_sym___extension__] = ACTIONS(1352), + [anon_sym_typedef] = ACTIONS(1352), + [anon_sym_extern] = ACTIONS(1352), + [anon_sym___attribute__] = ACTIONS(1352), + [anon_sym___attribute] = ACTIONS(1352), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1354), + [anon_sym___declspec] = ACTIONS(1352), + [anon_sym___cdecl] = ACTIONS(1352), + [anon_sym___clrcall] = ACTIONS(1352), + [anon_sym___stdcall] = ACTIONS(1352), + [anon_sym___fastcall] = ACTIONS(1352), + [anon_sym___thiscall] = ACTIONS(1352), + [anon_sym___vectorcall] = ACTIONS(1352), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_signed] = ACTIONS(1352), + [anon_sym_unsigned] = ACTIONS(1352), + [anon_sym_long] = ACTIONS(1352), + [anon_sym_short] = ACTIONS(1352), + [anon_sym_static] = ACTIONS(1352), + [anon_sym_auto] = ACTIONS(1352), + [anon_sym_register] = ACTIONS(1352), + [anon_sym_inline] = ACTIONS(1352), + [anon_sym___inline] = ACTIONS(1352), + [anon_sym___inline__] = ACTIONS(1352), + [anon_sym___forceinline] = ACTIONS(1352), + [anon_sym_thread_local] = ACTIONS(1352), + [anon_sym___thread] = ACTIONS(1352), + [anon_sym_const] = ACTIONS(1352), + [anon_sym_constexpr] = ACTIONS(1352), + [anon_sym_volatile] = ACTIONS(1352), + [anon_sym_restrict] = ACTIONS(1352), + [anon_sym___restrict__] = ACTIONS(1352), + [anon_sym__Atomic] = ACTIONS(1352), + [anon_sym__Noreturn] = ACTIONS(1352), + [anon_sym_noreturn] = ACTIONS(1352), + [anon_sym__Nonnull] = ACTIONS(1352), + [anon_sym_alignas] = ACTIONS(1352), + [anon_sym__Alignas] = ACTIONS(1352), + [sym_primitive_type] = ACTIONS(1352), + [anon_sym_enum] = ACTIONS(1352), + [anon_sym_struct] = ACTIONS(1352), + [anon_sym_union] = ACTIONS(1352), + [anon_sym_if] = ACTIONS(1352), + [anon_sym_switch] = ACTIONS(1352), + [anon_sym_case] = ACTIONS(1352), + [anon_sym_default] = ACTIONS(1352), + [anon_sym_while] = ACTIONS(1352), + [anon_sym_do] = ACTIONS(1352), + [anon_sym_for] = ACTIONS(1352), + [anon_sym_return] = ACTIONS(1352), + [anon_sym_break] = ACTIONS(1352), + [anon_sym_continue] = ACTIONS(1352), + [anon_sym_goto] = ACTIONS(1352), + [anon_sym___try] = ACTIONS(1352), + [anon_sym___leave] = ACTIONS(1352), + [anon_sym_DASH_DASH] = ACTIONS(1354), + [anon_sym_PLUS_PLUS] = ACTIONS(1354), + [anon_sym_sizeof] = ACTIONS(1352), + [anon_sym___alignof__] = ACTIONS(1352), + [anon_sym___alignof] = ACTIONS(1352), + [anon_sym__alignof] = ACTIONS(1352), + [anon_sym_alignof] = ACTIONS(1352), + [anon_sym__Alignof] = ACTIONS(1352), + [anon_sym_offsetof] = ACTIONS(1352), + [anon_sym__Generic] = ACTIONS(1352), + [anon_sym_asm] = ACTIONS(1352), + [anon_sym___asm__] = ACTIONS(1352), + [anon_sym___asm] = ACTIONS(1352), + [sym_number_literal] = ACTIONS(1354), + [anon_sym_L_SQUOTE] = ACTIONS(1354), + [anon_sym_u_SQUOTE] = ACTIONS(1354), + [anon_sym_U_SQUOTE] = ACTIONS(1354), + [anon_sym_u8_SQUOTE] = ACTIONS(1354), + [anon_sym_SQUOTE] = ACTIONS(1354), + [anon_sym_L_DQUOTE] = ACTIONS(1354), + [anon_sym_u_DQUOTE] = ACTIONS(1354), + [anon_sym_U_DQUOTE] = ACTIONS(1354), + [anon_sym_u8_DQUOTE] = ACTIONS(1354), + [anon_sym_DQUOTE] = ACTIONS(1354), + [sym_true] = ACTIONS(1352), + [sym_false] = ACTIONS(1352), + [anon_sym_NULL] = ACTIONS(1352), + [anon_sym_nullptr] = ACTIONS(1352), + [sym_comment] = ACTIONS(3), + }, + [142] = { + [sym_identifier] = ACTIONS(1356), + [aux_sym_preproc_include_token1] = ACTIONS(1356), + [aux_sym_preproc_def_token1] = ACTIONS(1356), + [aux_sym_preproc_if_token1] = ACTIONS(1356), + [aux_sym_preproc_if_token2] = ACTIONS(1356), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1356), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1356), + [aux_sym_preproc_else_token1] = ACTIONS(1356), + [aux_sym_preproc_elif_token1] = ACTIONS(1356), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1356), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1356), + [sym_preproc_directive] = ACTIONS(1356), + [anon_sym_LPAREN2] = ACTIONS(1358), + [anon_sym_BANG] = ACTIONS(1358), + [anon_sym_TILDE] = ACTIONS(1358), + [anon_sym_DASH] = ACTIONS(1356), + [anon_sym_PLUS] = ACTIONS(1356), + [anon_sym_STAR] = ACTIONS(1358), + [anon_sym_AMP] = ACTIONS(1358), + [anon_sym_SEMI] = ACTIONS(1358), + [anon_sym___extension__] = ACTIONS(1356), + [anon_sym_typedef] = ACTIONS(1356), + [anon_sym_extern] = ACTIONS(1356), + [anon_sym___attribute__] = ACTIONS(1356), + [anon_sym___attribute] = ACTIONS(1356), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1358), + [anon_sym___declspec] = ACTIONS(1356), + [anon_sym___cdecl] = ACTIONS(1356), + [anon_sym___clrcall] = ACTIONS(1356), + [anon_sym___stdcall] = ACTIONS(1356), + [anon_sym___fastcall] = ACTIONS(1356), + [anon_sym___thiscall] = ACTIONS(1356), + [anon_sym___vectorcall] = ACTIONS(1356), + [anon_sym_LBRACE] = ACTIONS(1358), + [anon_sym_signed] = ACTIONS(1356), + [anon_sym_unsigned] = ACTIONS(1356), + [anon_sym_long] = ACTIONS(1356), + [anon_sym_short] = ACTIONS(1356), + [anon_sym_static] = ACTIONS(1356), + [anon_sym_auto] = ACTIONS(1356), + [anon_sym_register] = ACTIONS(1356), + [anon_sym_inline] = ACTIONS(1356), + [anon_sym___inline] = ACTIONS(1356), + [anon_sym___inline__] = ACTIONS(1356), + [anon_sym___forceinline] = ACTIONS(1356), + [anon_sym_thread_local] = ACTIONS(1356), + [anon_sym___thread] = ACTIONS(1356), + [anon_sym_const] = ACTIONS(1356), + [anon_sym_constexpr] = ACTIONS(1356), + [anon_sym_volatile] = ACTIONS(1356), + [anon_sym_restrict] = ACTIONS(1356), + [anon_sym___restrict__] = ACTIONS(1356), + [anon_sym__Atomic] = ACTIONS(1356), + [anon_sym__Noreturn] = ACTIONS(1356), + [anon_sym_noreturn] = ACTIONS(1356), + [anon_sym__Nonnull] = ACTIONS(1356), + [anon_sym_alignas] = ACTIONS(1356), + [anon_sym__Alignas] = ACTIONS(1356), + [sym_primitive_type] = ACTIONS(1356), + [anon_sym_enum] = ACTIONS(1356), + [anon_sym_struct] = ACTIONS(1356), + [anon_sym_union] = ACTIONS(1356), + [anon_sym_if] = ACTIONS(1356), + [anon_sym_switch] = ACTIONS(1356), + [anon_sym_case] = ACTIONS(1356), + [anon_sym_default] = ACTIONS(1356), + [anon_sym_while] = ACTIONS(1356), + [anon_sym_do] = ACTIONS(1356), + [anon_sym_for] = ACTIONS(1356), + [anon_sym_return] = ACTIONS(1356), + [anon_sym_break] = ACTIONS(1356), + [anon_sym_continue] = ACTIONS(1356), + [anon_sym_goto] = ACTIONS(1356), + [anon_sym___try] = ACTIONS(1356), + [anon_sym___leave] = ACTIONS(1356), + [anon_sym_DASH_DASH] = ACTIONS(1358), + [anon_sym_PLUS_PLUS] = ACTIONS(1358), + [anon_sym_sizeof] = ACTIONS(1356), + [anon_sym___alignof__] = ACTIONS(1356), + [anon_sym___alignof] = ACTIONS(1356), + [anon_sym__alignof] = ACTIONS(1356), + [anon_sym_alignof] = ACTIONS(1356), + [anon_sym__Alignof] = ACTIONS(1356), + [anon_sym_offsetof] = ACTIONS(1356), + [anon_sym__Generic] = ACTIONS(1356), + [anon_sym_asm] = ACTIONS(1356), + [anon_sym___asm__] = ACTIONS(1356), + [anon_sym___asm] = ACTIONS(1356), + [sym_number_literal] = ACTIONS(1358), + [anon_sym_L_SQUOTE] = ACTIONS(1358), + [anon_sym_u_SQUOTE] = ACTIONS(1358), + [anon_sym_U_SQUOTE] = ACTIONS(1358), + [anon_sym_u8_SQUOTE] = ACTIONS(1358), + [anon_sym_SQUOTE] = ACTIONS(1358), + [anon_sym_L_DQUOTE] = ACTIONS(1358), + [anon_sym_u_DQUOTE] = ACTIONS(1358), + [anon_sym_U_DQUOTE] = ACTIONS(1358), + [anon_sym_u8_DQUOTE] = ACTIONS(1358), + [anon_sym_DQUOTE] = ACTIONS(1358), + [sym_true] = ACTIONS(1356), + [sym_false] = ACTIONS(1356), + [anon_sym_NULL] = ACTIONS(1356), + [anon_sym_nullptr] = ACTIONS(1356), + [sym_comment] = ACTIONS(3), + }, + [143] = { + [sym_identifier] = ACTIONS(1360), + [aux_sym_preproc_include_token1] = ACTIONS(1360), + [aux_sym_preproc_def_token1] = ACTIONS(1360), + [aux_sym_preproc_if_token1] = ACTIONS(1360), + [aux_sym_preproc_if_token2] = ACTIONS(1360), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1360), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1360), + [aux_sym_preproc_else_token1] = ACTIONS(1360), + [aux_sym_preproc_elif_token1] = ACTIONS(1360), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1360), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1360), + [sym_preproc_directive] = ACTIONS(1360), + [anon_sym_LPAREN2] = ACTIONS(1362), + [anon_sym_BANG] = ACTIONS(1362), + [anon_sym_TILDE] = ACTIONS(1362), + [anon_sym_DASH] = ACTIONS(1360), + [anon_sym_PLUS] = ACTIONS(1360), + [anon_sym_STAR] = ACTIONS(1362), + [anon_sym_AMP] = ACTIONS(1362), + [anon_sym_SEMI] = ACTIONS(1362), + [anon_sym___extension__] = ACTIONS(1360), + [anon_sym_typedef] = ACTIONS(1360), + [anon_sym_extern] = ACTIONS(1360), + [anon_sym___attribute__] = ACTIONS(1360), + [anon_sym___attribute] = ACTIONS(1360), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1362), + [anon_sym___declspec] = ACTIONS(1360), + [anon_sym___cdecl] = ACTIONS(1360), + [anon_sym___clrcall] = ACTIONS(1360), + [anon_sym___stdcall] = ACTIONS(1360), + [anon_sym___fastcall] = ACTIONS(1360), + [anon_sym___thiscall] = ACTIONS(1360), + [anon_sym___vectorcall] = ACTIONS(1360), + [anon_sym_LBRACE] = ACTIONS(1362), + [anon_sym_signed] = ACTIONS(1360), + [anon_sym_unsigned] = ACTIONS(1360), + [anon_sym_long] = ACTIONS(1360), + [anon_sym_short] = ACTIONS(1360), + [anon_sym_static] = ACTIONS(1360), + [anon_sym_auto] = ACTIONS(1360), + [anon_sym_register] = ACTIONS(1360), + [anon_sym_inline] = ACTIONS(1360), + [anon_sym___inline] = ACTIONS(1360), + [anon_sym___inline__] = ACTIONS(1360), + [anon_sym___forceinline] = ACTIONS(1360), + [anon_sym_thread_local] = ACTIONS(1360), + [anon_sym___thread] = ACTIONS(1360), + [anon_sym_const] = ACTIONS(1360), + [anon_sym_constexpr] = ACTIONS(1360), + [anon_sym_volatile] = ACTIONS(1360), + [anon_sym_restrict] = ACTIONS(1360), + [anon_sym___restrict__] = ACTIONS(1360), + [anon_sym__Atomic] = ACTIONS(1360), + [anon_sym__Noreturn] = ACTIONS(1360), + [anon_sym_noreturn] = ACTIONS(1360), + [anon_sym__Nonnull] = ACTIONS(1360), + [anon_sym_alignas] = ACTIONS(1360), + [anon_sym__Alignas] = ACTIONS(1360), + [sym_primitive_type] = ACTIONS(1360), + [anon_sym_enum] = ACTIONS(1360), + [anon_sym_struct] = ACTIONS(1360), + [anon_sym_union] = ACTIONS(1360), + [anon_sym_if] = ACTIONS(1360), + [anon_sym_switch] = ACTIONS(1360), + [anon_sym_case] = ACTIONS(1360), + [anon_sym_default] = ACTIONS(1360), + [anon_sym_while] = ACTIONS(1360), + [anon_sym_do] = ACTIONS(1360), + [anon_sym_for] = ACTIONS(1360), + [anon_sym_return] = ACTIONS(1360), + [anon_sym_break] = ACTIONS(1360), + [anon_sym_continue] = ACTIONS(1360), + [anon_sym_goto] = ACTIONS(1360), + [anon_sym___try] = ACTIONS(1360), + [anon_sym___leave] = ACTIONS(1360), + [anon_sym_DASH_DASH] = ACTIONS(1362), + [anon_sym_PLUS_PLUS] = ACTIONS(1362), + [anon_sym_sizeof] = ACTIONS(1360), + [anon_sym___alignof__] = ACTIONS(1360), + [anon_sym___alignof] = ACTIONS(1360), + [anon_sym__alignof] = ACTIONS(1360), + [anon_sym_alignof] = ACTIONS(1360), + [anon_sym__Alignof] = ACTIONS(1360), + [anon_sym_offsetof] = ACTIONS(1360), + [anon_sym__Generic] = ACTIONS(1360), + [anon_sym_asm] = ACTIONS(1360), + [anon_sym___asm__] = ACTIONS(1360), + [anon_sym___asm] = ACTIONS(1360), + [sym_number_literal] = ACTIONS(1362), + [anon_sym_L_SQUOTE] = ACTIONS(1362), + [anon_sym_u_SQUOTE] = ACTIONS(1362), + [anon_sym_U_SQUOTE] = ACTIONS(1362), + [anon_sym_u8_SQUOTE] = ACTIONS(1362), + [anon_sym_SQUOTE] = ACTIONS(1362), + [anon_sym_L_DQUOTE] = ACTIONS(1362), + [anon_sym_u_DQUOTE] = ACTIONS(1362), + [anon_sym_U_DQUOTE] = ACTIONS(1362), + [anon_sym_u8_DQUOTE] = ACTIONS(1362), + [anon_sym_DQUOTE] = ACTIONS(1362), + [sym_true] = ACTIONS(1360), + [sym_false] = ACTIONS(1360), + [anon_sym_NULL] = ACTIONS(1360), + [anon_sym_nullptr] = ACTIONS(1360), + [sym_comment] = ACTIONS(3), + }, + [144] = { + [sym_identifier] = ACTIONS(1364), + [aux_sym_preproc_include_token1] = ACTIONS(1364), + [aux_sym_preproc_def_token1] = ACTIONS(1364), + [aux_sym_preproc_if_token1] = ACTIONS(1364), + [aux_sym_preproc_if_token2] = ACTIONS(1364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1364), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1364), + [aux_sym_preproc_else_token1] = ACTIONS(1364), + [aux_sym_preproc_elif_token1] = ACTIONS(1364), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1364), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1364), + [sym_preproc_directive] = ACTIONS(1364), + [anon_sym_LPAREN2] = ACTIONS(1366), + [anon_sym_BANG] = ACTIONS(1366), + [anon_sym_TILDE] = ACTIONS(1366), + [anon_sym_DASH] = ACTIONS(1364), + [anon_sym_PLUS] = ACTIONS(1364), + [anon_sym_STAR] = ACTIONS(1366), + [anon_sym_AMP] = ACTIONS(1366), + [anon_sym_SEMI] = ACTIONS(1366), + [anon_sym___extension__] = ACTIONS(1364), + [anon_sym_typedef] = ACTIONS(1364), + [anon_sym_extern] = ACTIONS(1364), + [anon_sym___attribute__] = ACTIONS(1364), + [anon_sym___attribute] = ACTIONS(1364), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1366), + [anon_sym___declspec] = ACTIONS(1364), + [anon_sym___cdecl] = ACTIONS(1364), + [anon_sym___clrcall] = ACTIONS(1364), + [anon_sym___stdcall] = ACTIONS(1364), + [anon_sym___fastcall] = ACTIONS(1364), + [anon_sym___thiscall] = ACTIONS(1364), + [anon_sym___vectorcall] = ACTIONS(1364), + [anon_sym_LBRACE] = ACTIONS(1366), + [anon_sym_signed] = ACTIONS(1364), + [anon_sym_unsigned] = ACTIONS(1364), + [anon_sym_long] = ACTIONS(1364), + [anon_sym_short] = ACTIONS(1364), + [anon_sym_static] = ACTIONS(1364), + [anon_sym_auto] = ACTIONS(1364), + [anon_sym_register] = ACTIONS(1364), + [anon_sym_inline] = ACTIONS(1364), + [anon_sym___inline] = ACTIONS(1364), + [anon_sym___inline__] = ACTIONS(1364), + [anon_sym___forceinline] = ACTIONS(1364), + [anon_sym_thread_local] = ACTIONS(1364), + [anon_sym___thread] = ACTIONS(1364), + [anon_sym_const] = ACTIONS(1364), + [anon_sym_constexpr] = ACTIONS(1364), + [anon_sym_volatile] = ACTIONS(1364), + [anon_sym_restrict] = ACTIONS(1364), + [anon_sym___restrict__] = ACTIONS(1364), + [anon_sym__Atomic] = ACTIONS(1364), + [anon_sym__Noreturn] = ACTIONS(1364), + [anon_sym_noreturn] = ACTIONS(1364), + [anon_sym__Nonnull] = ACTIONS(1364), + [anon_sym_alignas] = ACTIONS(1364), + [anon_sym__Alignas] = ACTIONS(1364), + [sym_primitive_type] = ACTIONS(1364), + [anon_sym_enum] = ACTIONS(1364), + [anon_sym_struct] = ACTIONS(1364), + [anon_sym_union] = ACTIONS(1364), + [anon_sym_if] = ACTIONS(1364), + [anon_sym_switch] = ACTIONS(1364), + [anon_sym_case] = ACTIONS(1364), + [anon_sym_default] = ACTIONS(1364), + [anon_sym_while] = ACTIONS(1364), + [anon_sym_do] = ACTIONS(1364), + [anon_sym_for] = ACTIONS(1364), + [anon_sym_return] = ACTIONS(1364), + [anon_sym_break] = ACTIONS(1364), + [anon_sym_continue] = ACTIONS(1364), + [anon_sym_goto] = ACTIONS(1364), + [anon_sym___try] = ACTIONS(1364), + [anon_sym___leave] = ACTIONS(1364), + [anon_sym_DASH_DASH] = ACTIONS(1366), + [anon_sym_PLUS_PLUS] = ACTIONS(1366), + [anon_sym_sizeof] = ACTIONS(1364), + [anon_sym___alignof__] = ACTIONS(1364), + [anon_sym___alignof] = ACTIONS(1364), + [anon_sym__alignof] = ACTIONS(1364), + [anon_sym_alignof] = ACTIONS(1364), + [anon_sym__Alignof] = ACTIONS(1364), + [anon_sym_offsetof] = ACTIONS(1364), + [anon_sym__Generic] = ACTIONS(1364), + [anon_sym_asm] = ACTIONS(1364), + [anon_sym___asm__] = ACTIONS(1364), + [anon_sym___asm] = ACTIONS(1364), + [sym_number_literal] = ACTIONS(1366), + [anon_sym_L_SQUOTE] = ACTIONS(1366), + [anon_sym_u_SQUOTE] = ACTIONS(1366), + [anon_sym_U_SQUOTE] = ACTIONS(1366), + [anon_sym_u8_SQUOTE] = ACTIONS(1366), + [anon_sym_SQUOTE] = ACTIONS(1366), + [anon_sym_L_DQUOTE] = ACTIONS(1366), + [anon_sym_u_DQUOTE] = ACTIONS(1366), + [anon_sym_U_DQUOTE] = ACTIONS(1366), + [anon_sym_u8_DQUOTE] = ACTIONS(1366), + [anon_sym_DQUOTE] = ACTIONS(1366), + [sym_true] = ACTIONS(1364), + [sym_false] = ACTIONS(1364), + [anon_sym_NULL] = ACTIONS(1364), + [anon_sym_nullptr] = ACTIONS(1364), + [sym_comment] = ACTIONS(3), + }, + [145] = { + [sym_identifier] = ACTIONS(1368), + [aux_sym_preproc_include_token1] = ACTIONS(1368), + [aux_sym_preproc_def_token1] = ACTIONS(1368), + [aux_sym_preproc_if_token1] = ACTIONS(1368), + [aux_sym_preproc_if_token2] = ACTIONS(1368), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1368), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1368), + [aux_sym_preproc_else_token1] = ACTIONS(1368), + [aux_sym_preproc_elif_token1] = ACTIONS(1368), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1368), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1368), + [sym_preproc_directive] = ACTIONS(1368), + [anon_sym_LPAREN2] = ACTIONS(1370), + [anon_sym_BANG] = ACTIONS(1370), + [anon_sym_TILDE] = ACTIONS(1370), + [anon_sym_DASH] = ACTIONS(1368), + [anon_sym_PLUS] = ACTIONS(1368), + [anon_sym_STAR] = ACTIONS(1370), + [anon_sym_AMP] = ACTIONS(1370), + [anon_sym_SEMI] = ACTIONS(1370), + [anon_sym___extension__] = ACTIONS(1368), + [anon_sym_typedef] = ACTIONS(1368), + [anon_sym_extern] = ACTIONS(1368), + [anon_sym___attribute__] = ACTIONS(1368), + [anon_sym___attribute] = ACTIONS(1368), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1370), + [anon_sym___declspec] = ACTIONS(1368), + [anon_sym___cdecl] = ACTIONS(1368), + [anon_sym___clrcall] = ACTIONS(1368), + [anon_sym___stdcall] = ACTIONS(1368), + [anon_sym___fastcall] = ACTIONS(1368), + [anon_sym___thiscall] = ACTIONS(1368), + [anon_sym___vectorcall] = ACTIONS(1368), + [anon_sym_LBRACE] = ACTIONS(1370), + [anon_sym_signed] = ACTIONS(1368), + [anon_sym_unsigned] = ACTIONS(1368), + [anon_sym_long] = ACTIONS(1368), + [anon_sym_short] = ACTIONS(1368), + [anon_sym_static] = ACTIONS(1368), + [anon_sym_auto] = ACTIONS(1368), + [anon_sym_register] = ACTIONS(1368), + [anon_sym_inline] = ACTIONS(1368), + [anon_sym___inline] = ACTIONS(1368), + [anon_sym___inline__] = ACTIONS(1368), + [anon_sym___forceinline] = ACTIONS(1368), + [anon_sym_thread_local] = ACTIONS(1368), + [anon_sym___thread] = ACTIONS(1368), + [anon_sym_const] = ACTIONS(1368), + [anon_sym_constexpr] = ACTIONS(1368), + [anon_sym_volatile] = ACTIONS(1368), + [anon_sym_restrict] = ACTIONS(1368), + [anon_sym___restrict__] = ACTIONS(1368), + [anon_sym__Atomic] = ACTIONS(1368), + [anon_sym__Noreturn] = ACTIONS(1368), + [anon_sym_noreturn] = ACTIONS(1368), + [anon_sym__Nonnull] = ACTIONS(1368), + [anon_sym_alignas] = ACTIONS(1368), + [anon_sym__Alignas] = ACTIONS(1368), + [sym_primitive_type] = ACTIONS(1368), + [anon_sym_enum] = ACTIONS(1368), + [anon_sym_struct] = ACTIONS(1368), + [anon_sym_union] = ACTIONS(1368), + [anon_sym_if] = ACTIONS(1368), + [anon_sym_switch] = ACTIONS(1368), + [anon_sym_case] = ACTIONS(1368), + [anon_sym_default] = ACTIONS(1368), + [anon_sym_while] = ACTIONS(1368), + [anon_sym_do] = ACTIONS(1368), + [anon_sym_for] = ACTIONS(1368), + [anon_sym_return] = ACTIONS(1368), + [anon_sym_break] = ACTIONS(1368), + [anon_sym_continue] = ACTIONS(1368), + [anon_sym_goto] = ACTIONS(1368), + [anon_sym___try] = ACTIONS(1368), + [anon_sym___leave] = ACTIONS(1368), + [anon_sym_DASH_DASH] = ACTIONS(1370), + [anon_sym_PLUS_PLUS] = ACTIONS(1370), + [anon_sym_sizeof] = ACTIONS(1368), + [anon_sym___alignof__] = ACTIONS(1368), + [anon_sym___alignof] = ACTIONS(1368), + [anon_sym__alignof] = ACTIONS(1368), + [anon_sym_alignof] = ACTIONS(1368), + [anon_sym__Alignof] = ACTIONS(1368), + [anon_sym_offsetof] = ACTIONS(1368), + [anon_sym__Generic] = ACTIONS(1368), + [anon_sym_asm] = ACTIONS(1368), + [anon_sym___asm__] = ACTIONS(1368), + [anon_sym___asm] = ACTIONS(1368), + [sym_number_literal] = ACTIONS(1370), + [anon_sym_L_SQUOTE] = ACTIONS(1370), + [anon_sym_u_SQUOTE] = ACTIONS(1370), + [anon_sym_U_SQUOTE] = ACTIONS(1370), + [anon_sym_u8_SQUOTE] = ACTIONS(1370), + [anon_sym_SQUOTE] = ACTIONS(1370), + [anon_sym_L_DQUOTE] = ACTIONS(1370), + [anon_sym_u_DQUOTE] = ACTIONS(1370), + [anon_sym_U_DQUOTE] = ACTIONS(1370), + [anon_sym_u8_DQUOTE] = ACTIONS(1370), + [anon_sym_DQUOTE] = ACTIONS(1370), + [sym_true] = ACTIONS(1368), + [sym_false] = ACTIONS(1368), + [anon_sym_NULL] = ACTIONS(1368), + [anon_sym_nullptr] = ACTIONS(1368), + [sym_comment] = ACTIONS(3), + }, + [146] = { + [sym_identifier] = ACTIONS(1372), + [aux_sym_preproc_include_token1] = ACTIONS(1372), + [aux_sym_preproc_def_token1] = ACTIONS(1372), + [aux_sym_preproc_if_token1] = ACTIONS(1372), + [aux_sym_preproc_if_token2] = ACTIONS(1372), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1372), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1372), + [aux_sym_preproc_else_token1] = ACTIONS(1372), + [aux_sym_preproc_elif_token1] = ACTIONS(1372), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1372), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1372), + [sym_preproc_directive] = ACTIONS(1372), + [anon_sym_LPAREN2] = ACTIONS(1374), + [anon_sym_BANG] = ACTIONS(1374), + [anon_sym_TILDE] = ACTIONS(1374), + [anon_sym_DASH] = ACTIONS(1372), + [anon_sym_PLUS] = ACTIONS(1372), + [anon_sym_STAR] = ACTIONS(1374), + [anon_sym_AMP] = ACTIONS(1374), + [anon_sym_SEMI] = ACTIONS(1374), + [anon_sym___extension__] = ACTIONS(1372), + [anon_sym_typedef] = ACTIONS(1372), + [anon_sym_extern] = ACTIONS(1372), + [anon_sym___attribute__] = ACTIONS(1372), + [anon_sym___attribute] = ACTIONS(1372), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1374), + [anon_sym___declspec] = ACTIONS(1372), + [anon_sym___cdecl] = ACTIONS(1372), + [anon_sym___clrcall] = ACTIONS(1372), + [anon_sym___stdcall] = ACTIONS(1372), + [anon_sym___fastcall] = ACTIONS(1372), + [anon_sym___thiscall] = ACTIONS(1372), + [anon_sym___vectorcall] = ACTIONS(1372), + [anon_sym_LBRACE] = ACTIONS(1374), + [anon_sym_signed] = ACTIONS(1372), + [anon_sym_unsigned] = ACTIONS(1372), + [anon_sym_long] = ACTIONS(1372), + [anon_sym_short] = ACTIONS(1372), + [anon_sym_static] = ACTIONS(1372), + [anon_sym_auto] = ACTIONS(1372), + [anon_sym_register] = ACTIONS(1372), + [anon_sym_inline] = ACTIONS(1372), + [anon_sym___inline] = ACTIONS(1372), + [anon_sym___inline__] = ACTIONS(1372), + [anon_sym___forceinline] = ACTIONS(1372), + [anon_sym_thread_local] = ACTIONS(1372), + [anon_sym___thread] = ACTIONS(1372), + [anon_sym_const] = ACTIONS(1372), + [anon_sym_constexpr] = ACTIONS(1372), + [anon_sym_volatile] = ACTIONS(1372), + [anon_sym_restrict] = ACTIONS(1372), + [anon_sym___restrict__] = ACTIONS(1372), + [anon_sym__Atomic] = ACTIONS(1372), + [anon_sym__Noreturn] = ACTIONS(1372), + [anon_sym_noreturn] = ACTIONS(1372), + [anon_sym__Nonnull] = ACTIONS(1372), + [anon_sym_alignas] = ACTIONS(1372), + [anon_sym__Alignas] = ACTIONS(1372), + [sym_primitive_type] = ACTIONS(1372), + [anon_sym_enum] = ACTIONS(1372), + [anon_sym_struct] = ACTIONS(1372), + [anon_sym_union] = ACTIONS(1372), + [anon_sym_if] = ACTIONS(1372), + [anon_sym_switch] = ACTIONS(1372), + [anon_sym_case] = ACTIONS(1372), + [anon_sym_default] = ACTIONS(1372), + [anon_sym_while] = ACTIONS(1372), + [anon_sym_do] = ACTIONS(1372), + [anon_sym_for] = ACTIONS(1372), + [anon_sym_return] = ACTIONS(1372), + [anon_sym_break] = ACTIONS(1372), + [anon_sym_continue] = ACTIONS(1372), + [anon_sym_goto] = ACTIONS(1372), + [anon_sym___try] = ACTIONS(1372), + [anon_sym___leave] = ACTIONS(1372), + [anon_sym_DASH_DASH] = ACTIONS(1374), + [anon_sym_PLUS_PLUS] = ACTIONS(1374), + [anon_sym_sizeof] = ACTIONS(1372), + [anon_sym___alignof__] = ACTIONS(1372), + [anon_sym___alignof] = ACTIONS(1372), + [anon_sym__alignof] = ACTIONS(1372), + [anon_sym_alignof] = ACTIONS(1372), + [anon_sym__Alignof] = ACTIONS(1372), + [anon_sym_offsetof] = ACTIONS(1372), + [anon_sym__Generic] = ACTIONS(1372), + [anon_sym_asm] = ACTIONS(1372), + [anon_sym___asm__] = ACTIONS(1372), + [anon_sym___asm] = ACTIONS(1372), + [sym_number_literal] = ACTIONS(1374), + [anon_sym_L_SQUOTE] = ACTIONS(1374), + [anon_sym_u_SQUOTE] = ACTIONS(1374), + [anon_sym_U_SQUOTE] = ACTIONS(1374), + [anon_sym_u8_SQUOTE] = ACTIONS(1374), + [anon_sym_SQUOTE] = ACTIONS(1374), + [anon_sym_L_DQUOTE] = ACTIONS(1374), + [anon_sym_u_DQUOTE] = ACTIONS(1374), + [anon_sym_U_DQUOTE] = ACTIONS(1374), + [anon_sym_u8_DQUOTE] = ACTIONS(1374), + [anon_sym_DQUOTE] = ACTIONS(1374), + [sym_true] = ACTIONS(1372), + [sym_false] = ACTIONS(1372), + [anon_sym_NULL] = ACTIONS(1372), + [anon_sym_nullptr] = ACTIONS(1372), + [sym_comment] = ACTIONS(3), + }, + [147] = { + [sym_identifier] = ACTIONS(1376), + [aux_sym_preproc_include_token1] = ACTIONS(1376), + [aux_sym_preproc_def_token1] = ACTIONS(1376), + [aux_sym_preproc_if_token1] = ACTIONS(1376), + [aux_sym_preproc_if_token2] = ACTIONS(1376), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1376), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1376), + [aux_sym_preproc_else_token1] = ACTIONS(1376), + [aux_sym_preproc_elif_token1] = ACTIONS(1376), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1376), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1376), + [sym_preproc_directive] = ACTIONS(1376), + [anon_sym_LPAREN2] = ACTIONS(1378), + [anon_sym_BANG] = ACTIONS(1378), + [anon_sym_TILDE] = ACTIONS(1378), + [anon_sym_DASH] = ACTIONS(1376), + [anon_sym_PLUS] = ACTIONS(1376), + [anon_sym_STAR] = ACTIONS(1378), + [anon_sym_AMP] = ACTIONS(1378), + [anon_sym_SEMI] = ACTIONS(1378), + [anon_sym___extension__] = ACTIONS(1376), + [anon_sym_typedef] = ACTIONS(1376), + [anon_sym_extern] = ACTIONS(1376), + [anon_sym___attribute__] = ACTIONS(1376), + [anon_sym___attribute] = ACTIONS(1376), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1378), + [anon_sym___declspec] = ACTIONS(1376), + [anon_sym___cdecl] = ACTIONS(1376), + [anon_sym___clrcall] = ACTIONS(1376), + [anon_sym___stdcall] = ACTIONS(1376), + [anon_sym___fastcall] = ACTIONS(1376), + [anon_sym___thiscall] = ACTIONS(1376), + [anon_sym___vectorcall] = ACTIONS(1376), + [anon_sym_LBRACE] = ACTIONS(1378), + [anon_sym_signed] = ACTIONS(1376), + [anon_sym_unsigned] = ACTIONS(1376), + [anon_sym_long] = ACTIONS(1376), + [anon_sym_short] = ACTIONS(1376), + [anon_sym_static] = ACTIONS(1376), + [anon_sym_auto] = ACTIONS(1376), + [anon_sym_register] = ACTIONS(1376), + [anon_sym_inline] = ACTIONS(1376), + [anon_sym___inline] = ACTIONS(1376), + [anon_sym___inline__] = ACTIONS(1376), + [anon_sym___forceinline] = ACTIONS(1376), + [anon_sym_thread_local] = ACTIONS(1376), + [anon_sym___thread] = ACTIONS(1376), + [anon_sym_const] = ACTIONS(1376), + [anon_sym_constexpr] = ACTIONS(1376), + [anon_sym_volatile] = ACTIONS(1376), + [anon_sym_restrict] = ACTIONS(1376), + [anon_sym___restrict__] = ACTIONS(1376), + [anon_sym__Atomic] = ACTIONS(1376), + [anon_sym__Noreturn] = ACTIONS(1376), + [anon_sym_noreturn] = ACTIONS(1376), + [anon_sym__Nonnull] = ACTIONS(1376), + [anon_sym_alignas] = ACTIONS(1376), + [anon_sym__Alignas] = ACTIONS(1376), + [sym_primitive_type] = ACTIONS(1376), + [anon_sym_enum] = ACTIONS(1376), + [anon_sym_struct] = ACTIONS(1376), + [anon_sym_union] = ACTIONS(1376), + [anon_sym_if] = ACTIONS(1376), + [anon_sym_switch] = ACTIONS(1376), + [anon_sym_case] = ACTIONS(1376), + [anon_sym_default] = ACTIONS(1376), + [anon_sym_while] = ACTIONS(1376), + [anon_sym_do] = ACTIONS(1376), + [anon_sym_for] = ACTIONS(1376), + [anon_sym_return] = ACTIONS(1376), + [anon_sym_break] = ACTIONS(1376), + [anon_sym_continue] = ACTIONS(1376), + [anon_sym_goto] = ACTIONS(1376), + [anon_sym___try] = ACTIONS(1376), + [anon_sym___leave] = ACTIONS(1376), + [anon_sym_DASH_DASH] = ACTIONS(1378), + [anon_sym_PLUS_PLUS] = ACTIONS(1378), + [anon_sym_sizeof] = ACTIONS(1376), + [anon_sym___alignof__] = ACTIONS(1376), + [anon_sym___alignof] = ACTIONS(1376), + [anon_sym__alignof] = ACTIONS(1376), + [anon_sym_alignof] = ACTIONS(1376), + [anon_sym__Alignof] = ACTIONS(1376), + [anon_sym_offsetof] = ACTIONS(1376), + [anon_sym__Generic] = ACTIONS(1376), + [anon_sym_asm] = ACTIONS(1376), + [anon_sym___asm__] = ACTIONS(1376), + [anon_sym___asm] = ACTIONS(1376), + [sym_number_literal] = ACTIONS(1378), + [anon_sym_L_SQUOTE] = ACTIONS(1378), + [anon_sym_u_SQUOTE] = ACTIONS(1378), + [anon_sym_U_SQUOTE] = ACTIONS(1378), + [anon_sym_u8_SQUOTE] = ACTIONS(1378), + [anon_sym_SQUOTE] = ACTIONS(1378), + [anon_sym_L_DQUOTE] = ACTIONS(1378), + [anon_sym_u_DQUOTE] = ACTIONS(1378), + [anon_sym_U_DQUOTE] = ACTIONS(1378), + [anon_sym_u8_DQUOTE] = ACTIONS(1378), + [anon_sym_DQUOTE] = ACTIONS(1378), + [sym_true] = ACTIONS(1376), + [sym_false] = ACTIONS(1376), + [anon_sym_NULL] = ACTIONS(1376), + [anon_sym_nullptr] = ACTIONS(1376), + [sym_comment] = ACTIONS(3), + }, + [148] = { + [sym_else_clause] = STATE(199), + [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___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__Nonnull] = 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(1380), + [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), + [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), + }, + [149] = { + [sym_else_clause] = STATE(243), + [ts_builtin_sym_end] = ACTIONS(1130), + [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___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__Nonnull] = 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(1382), + [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), + [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), + }, + [150] = { + [sym_else_clause] = STATE(223), + [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___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__Nonnull] = 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(1384), + [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), + [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), + }, + [151] = { + [ts_builtin_sym_end] = ACTIONS(1172), + [sym_identifier] = ACTIONS(1170), + [aux_sym_preproc_include_token1] = ACTIONS(1170), + [aux_sym_preproc_def_token1] = ACTIONS(1170), + [aux_sym_preproc_if_token1] = ACTIONS(1170), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1170), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1170), + [sym_preproc_directive] = ACTIONS(1170), + [anon_sym_LPAREN2] = ACTIONS(1172), + [anon_sym_BANG] = ACTIONS(1172), + [anon_sym_TILDE] = ACTIONS(1172), + [anon_sym_DASH] = ACTIONS(1170), + [anon_sym_PLUS] = ACTIONS(1170), + [anon_sym_STAR] = ACTIONS(1172), + [anon_sym_AMP] = ACTIONS(1172), + [anon_sym_SEMI] = ACTIONS(1172), + [anon_sym___extension__] = ACTIONS(1170), + [anon_sym_typedef] = ACTIONS(1170), + [anon_sym_extern] = ACTIONS(1170), + [anon_sym___attribute__] = ACTIONS(1170), + [anon_sym___attribute] = ACTIONS(1170), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1172), + [anon_sym___declspec] = ACTIONS(1170), + [anon_sym___cdecl] = ACTIONS(1170), + [anon_sym___clrcall] = ACTIONS(1170), + [anon_sym___stdcall] = ACTIONS(1170), + [anon_sym___fastcall] = ACTIONS(1170), + [anon_sym___thiscall] = ACTIONS(1170), + [anon_sym___vectorcall] = ACTIONS(1170), + [anon_sym_LBRACE] = ACTIONS(1172), + [anon_sym_signed] = ACTIONS(1170), + [anon_sym_unsigned] = ACTIONS(1170), + [anon_sym_long] = ACTIONS(1170), + [anon_sym_short] = ACTIONS(1170), + [anon_sym_static] = ACTIONS(1170), + [anon_sym_auto] = ACTIONS(1170), + [anon_sym_register] = ACTIONS(1170), + [anon_sym_inline] = ACTIONS(1170), + [anon_sym___inline] = ACTIONS(1170), + [anon_sym___inline__] = ACTIONS(1170), + [anon_sym___forceinline] = ACTIONS(1170), + [anon_sym_thread_local] = ACTIONS(1170), + [anon_sym___thread] = ACTIONS(1170), + [anon_sym_const] = ACTIONS(1170), + [anon_sym_constexpr] = ACTIONS(1170), + [anon_sym_volatile] = ACTIONS(1170), + [anon_sym_restrict] = ACTIONS(1170), + [anon_sym___restrict__] = ACTIONS(1170), + [anon_sym__Atomic] = ACTIONS(1170), + [anon_sym__Noreturn] = ACTIONS(1170), + [anon_sym_noreturn] = ACTIONS(1170), + [anon_sym__Nonnull] = ACTIONS(1170), + [anon_sym_alignas] = ACTIONS(1170), + [anon_sym__Alignas] = ACTIONS(1170), + [sym_primitive_type] = ACTIONS(1170), + [anon_sym_enum] = ACTIONS(1170), + [anon_sym_struct] = ACTIONS(1170), + [anon_sym_union] = ACTIONS(1170), + [anon_sym_if] = ACTIONS(1170), + [anon_sym_else] = ACTIONS(1170), + [anon_sym_switch] = ACTIONS(1170), + [anon_sym_case] = ACTIONS(1170), + [anon_sym_default] = ACTIONS(1170), + [anon_sym_while] = ACTIONS(1170), + [anon_sym_do] = ACTIONS(1170), + [anon_sym_for] = ACTIONS(1170), + [anon_sym_return] = ACTIONS(1170), + [anon_sym_break] = ACTIONS(1170), + [anon_sym_continue] = ACTIONS(1170), + [anon_sym_goto] = ACTIONS(1170), + [anon_sym___try] = ACTIONS(1170), + [anon_sym___leave] = ACTIONS(1170), + [anon_sym_DASH_DASH] = ACTIONS(1172), + [anon_sym_PLUS_PLUS] = ACTIONS(1172), + [anon_sym_sizeof] = ACTIONS(1170), + [anon_sym___alignof__] = ACTIONS(1170), + [anon_sym___alignof] = ACTIONS(1170), + [anon_sym__alignof] = ACTIONS(1170), + [anon_sym_alignof] = ACTIONS(1170), + [anon_sym__Alignof] = ACTIONS(1170), + [anon_sym_offsetof] = ACTIONS(1170), + [anon_sym__Generic] = ACTIONS(1170), + [anon_sym_asm] = ACTIONS(1170), + [anon_sym___asm__] = ACTIONS(1170), + [anon_sym___asm] = ACTIONS(1170), + [sym_number_literal] = ACTIONS(1172), + [anon_sym_L_SQUOTE] = ACTIONS(1172), + [anon_sym_u_SQUOTE] = ACTIONS(1172), + [anon_sym_U_SQUOTE] = ACTIONS(1172), + [anon_sym_u8_SQUOTE] = ACTIONS(1172), + [anon_sym_SQUOTE] = ACTIONS(1172), + [anon_sym_L_DQUOTE] = ACTIONS(1172), + [anon_sym_u_DQUOTE] = ACTIONS(1172), + [anon_sym_U_DQUOTE] = ACTIONS(1172), + [anon_sym_u8_DQUOTE] = ACTIONS(1172), + [anon_sym_DQUOTE] = ACTIONS(1172), + [sym_true] = ACTIONS(1170), + [sym_false] = ACTIONS(1170), + [anon_sym_NULL] = ACTIONS(1170), + [anon_sym_nullptr] = ACTIONS(1170), + [sym_comment] = ACTIONS(3), + }, + [152] = { + [sym_identifier] = ACTIONS(1202), + [aux_sym_preproc_include_token1] = ACTIONS(1202), + [aux_sym_preproc_def_token1] = ACTIONS(1202), + [aux_sym_preproc_if_token1] = ACTIONS(1202), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1202), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1202), + [sym_preproc_directive] = ACTIONS(1202), + [anon_sym_LPAREN2] = ACTIONS(1204), + [anon_sym_BANG] = ACTIONS(1204), + [anon_sym_TILDE] = ACTIONS(1204), + [anon_sym_DASH] = ACTIONS(1202), + [anon_sym_PLUS] = ACTIONS(1202), + [anon_sym_STAR] = ACTIONS(1204), + [anon_sym_AMP] = ACTIONS(1204), + [anon_sym_SEMI] = ACTIONS(1204), + [anon_sym___extension__] = ACTIONS(1202), + [anon_sym_typedef] = ACTIONS(1202), + [anon_sym_extern] = ACTIONS(1202), + [anon_sym___attribute__] = ACTIONS(1202), + [anon_sym___attribute] = ACTIONS(1202), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1204), + [anon_sym___declspec] = ACTIONS(1202), + [anon_sym___cdecl] = ACTIONS(1202), + [anon_sym___clrcall] = ACTIONS(1202), + [anon_sym___stdcall] = ACTIONS(1202), + [anon_sym___fastcall] = ACTIONS(1202), + [anon_sym___thiscall] = ACTIONS(1202), + [anon_sym___vectorcall] = ACTIONS(1202), + [anon_sym_LBRACE] = ACTIONS(1204), + [anon_sym_RBRACE] = ACTIONS(1204), + [anon_sym_signed] = ACTIONS(1202), + [anon_sym_unsigned] = ACTIONS(1202), + [anon_sym_long] = ACTIONS(1202), + [anon_sym_short] = ACTIONS(1202), + [anon_sym_static] = ACTIONS(1202), + [anon_sym_auto] = ACTIONS(1202), + [anon_sym_register] = ACTIONS(1202), + [anon_sym_inline] = ACTIONS(1202), + [anon_sym___inline] = ACTIONS(1202), + [anon_sym___inline__] = ACTIONS(1202), + [anon_sym___forceinline] = ACTIONS(1202), + [anon_sym_thread_local] = ACTIONS(1202), + [anon_sym___thread] = ACTIONS(1202), + [anon_sym_const] = ACTIONS(1202), + [anon_sym_constexpr] = ACTIONS(1202), + [anon_sym_volatile] = ACTIONS(1202), + [anon_sym_restrict] = ACTIONS(1202), + [anon_sym___restrict__] = ACTIONS(1202), + [anon_sym__Atomic] = ACTIONS(1202), + [anon_sym__Noreturn] = ACTIONS(1202), + [anon_sym_noreturn] = ACTIONS(1202), + [anon_sym__Nonnull] = ACTIONS(1202), + [anon_sym_alignas] = ACTIONS(1202), + [anon_sym__Alignas] = ACTIONS(1202), + [sym_primitive_type] = ACTIONS(1202), + [anon_sym_enum] = ACTIONS(1202), + [anon_sym_struct] = ACTIONS(1202), + [anon_sym_union] = ACTIONS(1202), + [anon_sym_if] = ACTIONS(1202), + [anon_sym_else] = ACTIONS(1202), + [anon_sym_switch] = ACTIONS(1202), + [anon_sym_case] = ACTIONS(1202), + [anon_sym_default] = ACTIONS(1202), + [anon_sym_while] = ACTIONS(1202), + [anon_sym_do] = ACTIONS(1202), + [anon_sym_for] = ACTIONS(1202), + [anon_sym_return] = ACTIONS(1202), + [anon_sym_break] = ACTIONS(1202), + [anon_sym_continue] = ACTIONS(1202), + [anon_sym_goto] = ACTIONS(1202), + [anon_sym___try] = ACTIONS(1202), + [anon_sym___leave] = ACTIONS(1202), + [anon_sym_DASH_DASH] = ACTIONS(1204), + [anon_sym_PLUS_PLUS] = ACTIONS(1204), + [anon_sym_sizeof] = ACTIONS(1202), + [anon_sym___alignof__] = ACTIONS(1202), + [anon_sym___alignof] = ACTIONS(1202), + [anon_sym__alignof] = ACTIONS(1202), + [anon_sym_alignof] = ACTIONS(1202), + [anon_sym__Alignof] = ACTIONS(1202), + [anon_sym_offsetof] = ACTIONS(1202), + [anon_sym__Generic] = ACTIONS(1202), + [anon_sym_asm] = ACTIONS(1202), + [anon_sym___asm__] = ACTIONS(1202), + [anon_sym___asm] = ACTIONS(1202), + [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(1202), + [sym_false] = ACTIONS(1202), + [anon_sym_NULL] = ACTIONS(1202), + [anon_sym_nullptr] = ACTIONS(1202), + [sym_comment] = ACTIONS(3), + }, + [153] = { + [sym_identifier] = ACTIONS(1202), + [aux_sym_preproc_include_token1] = ACTIONS(1202), + [aux_sym_preproc_def_token1] = ACTIONS(1202), + [aux_sym_preproc_if_token1] = ACTIONS(1202), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1202), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1202), + [sym_preproc_directive] = ACTIONS(1202), + [anon_sym_LPAREN2] = ACTIONS(1204), + [anon_sym_BANG] = ACTIONS(1204), + [anon_sym_TILDE] = ACTIONS(1204), + [anon_sym_DASH] = ACTIONS(1202), + [anon_sym_PLUS] = ACTIONS(1202), + [anon_sym_STAR] = ACTIONS(1204), + [anon_sym_AMP] = ACTIONS(1204), + [anon_sym_SEMI] = ACTIONS(1204), + [anon_sym___extension__] = ACTIONS(1202), + [anon_sym_typedef] = ACTIONS(1202), + [anon_sym_extern] = ACTIONS(1202), + [anon_sym___attribute__] = ACTIONS(1202), + [anon_sym___attribute] = ACTIONS(1202), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1204), + [anon_sym___declspec] = ACTIONS(1202), + [anon_sym___cdecl] = ACTIONS(1202), + [anon_sym___clrcall] = ACTIONS(1202), + [anon_sym___stdcall] = ACTIONS(1202), + [anon_sym___fastcall] = ACTIONS(1202), + [anon_sym___thiscall] = ACTIONS(1202), + [anon_sym___vectorcall] = ACTIONS(1202), + [anon_sym_LBRACE] = ACTIONS(1204), + [anon_sym_RBRACE] = ACTIONS(1204), + [anon_sym_signed] = ACTIONS(1202), + [anon_sym_unsigned] = ACTIONS(1202), + [anon_sym_long] = ACTIONS(1202), + [anon_sym_short] = ACTIONS(1202), + [anon_sym_static] = ACTIONS(1202), + [anon_sym_auto] = ACTIONS(1202), + [anon_sym_register] = ACTIONS(1202), + [anon_sym_inline] = ACTIONS(1202), + [anon_sym___inline] = ACTIONS(1202), + [anon_sym___inline__] = ACTIONS(1202), + [anon_sym___forceinline] = ACTIONS(1202), + [anon_sym_thread_local] = ACTIONS(1202), + [anon_sym___thread] = ACTIONS(1202), + [anon_sym_const] = ACTIONS(1202), + [anon_sym_constexpr] = ACTIONS(1202), + [anon_sym_volatile] = ACTIONS(1202), + [anon_sym_restrict] = ACTIONS(1202), + [anon_sym___restrict__] = ACTIONS(1202), + [anon_sym__Atomic] = ACTIONS(1202), + [anon_sym__Noreturn] = ACTIONS(1202), + [anon_sym_noreturn] = ACTIONS(1202), + [anon_sym__Nonnull] = ACTIONS(1202), + [anon_sym_alignas] = ACTIONS(1202), + [anon_sym__Alignas] = ACTIONS(1202), + [sym_primitive_type] = ACTIONS(1202), + [anon_sym_enum] = ACTIONS(1202), + [anon_sym_struct] = ACTIONS(1202), + [anon_sym_union] = ACTIONS(1202), + [anon_sym_if] = ACTIONS(1202), + [anon_sym_else] = ACTIONS(1202), + [anon_sym_switch] = ACTIONS(1202), + [anon_sym_case] = ACTIONS(1202), + [anon_sym_default] = ACTIONS(1202), + [anon_sym_while] = ACTIONS(1202), + [anon_sym_do] = ACTIONS(1202), + [anon_sym_for] = ACTIONS(1202), + [anon_sym_return] = ACTIONS(1202), + [anon_sym_break] = ACTIONS(1202), + [anon_sym_continue] = ACTIONS(1202), + [anon_sym_goto] = ACTIONS(1202), + [anon_sym___try] = ACTIONS(1202), + [anon_sym___leave] = ACTIONS(1202), + [anon_sym_DASH_DASH] = ACTIONS(1204), + [anon_sym_PLUS_PLUS] = ACTIONS(1204), + [anon_sym_sizeof] = ACTIONS(1202), + [anon_sym___alignof__] = ACTIONS(1202), + [anon_sym___alignof] = ACTIONS(1202), + [anon_sym__alignof] = ACTIONS(1202), + [anon_sym_alignof] = ACTIONS(1202), + [anon_sym__Alignof] = ACTIONS(1202), + [anon_sym_offsetof] = ACTIONS(1202), + [anon_sym__Generic] = ACTIONS(1202), + [anon_sym_asm] = ACTIONS(1202), + [anon_sym___asm__] = ACTIONS(1202), + [anon_sym___asm] = ACTIONS(1202), + [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(1202), + [sym_false] = ACTIONS(1202), + [anon_sym_NULL] = ACTIONS(1202), + [anon_sym_nullptr] = ACTIONS(1202), + [sym_comment] = ACTIONS(3), + }, + [154] = { + [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(1208), + [anon_sym_BANG] = ACTIONS(1208), + [anon_sym_TILDE] = ACTIONS(1208), + [anon_sym_DASH] = ACTIONS(1206), + [anon_sym_PLUS] = ACTIONS(1206), + [anon_sym_STAR] = ACTIONS(1208), + [anon_sym_AMP] = ACTIONS(1208), + [anon_sym_SEMI] = ACTIONS(1208), + [anon_sym___extension__] = ACTIONS(1206), + [anon_sym_typedef] = ACTIONS(1206), + [anon_sym_extern] = ACTIONS(1206), + [anon_sym___attribute__] = ACTIONS(1206), + [anon_sym___attribute] = ACTIONS(1206), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1208), + [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(1208), + [anon_sym_RBRACE] = ACTIONS(1208), + [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__Nonnull] = 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(1208), + [anon_sym_PLUS_PLUS] = ACTIONS(1208), + [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), + [anon_sym___asm] = ACTIONS(1206), + [sym_number_literal] = ACTIONS(1208), + [anon_sym_L_SQUOTE] = ACTIONS(1208), + [anon_sym_u_SQUOTE] = ACTIONS(1208), + [anon_sym_U_SQUOTE] = ACTIONS(1208), + [anon_sym_u8_SQUOTE] = ACTIONS(1208), + [anon_sym_SQUOTE] = ACTIONS(1208), + [anon_sym_L_DQUOTE] = ACTIONS(1208), + [anon_sym_u_DQUOTE] = ACTIONS(1208), + [anon_sym_U_DQUOTE] = ACTIONS(1208), + [anon_sym_u8_DQUOTE] = ACTIONS(1208), + [anon_sym_DQUOTE] = ACTIONS(1208), + [sym_true] = ACTIONS(1206), + [sym_false] = ACTIONS(1206), + [anon_sym_NULL] = ACTIONS(1206), + [anon_sym_nullptr] = ACTIONS(1206), + [sym_comment] = ACTIONS(3), + }, + [155] = { + [ts_builtin_sym_end] = ACTIONS(1212), + [sym_identifier] = ACTIONS(1210), + [aux_sym_preproc_include_token1] = ACTIONS(1210), + [aux_sym_preproc_def_token1] = ACTIONS(1210), + [aux_sym_preproc_if_token1] = ACTIONS(1210), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1210), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1210), + [sym_preproc_directive] = ACTIONS(1210), + [anon_sym_LPAREN2] = ACTIONS(1212), + [anon_sym_BANG] = ACTIONS(1212), + [anon_sym_TILDE] = ACTIONS(1212), + [anon_sym_DASH] = ACTIONS(1210), + [anon_sym_PLUS] = ACTIONS(1210), + [anon_sym_STAR] = ACTIONS(1212), + [anon_sym_AMP] = ACTIONS(1212), + [anon_sym_SEMI] = ACTIONS(1212), + [anon_sym___extension__] = ACTIONS(1210), + [anon_sym_typedef] = ACTIONS(1210), + [anon_sym_extern] = ACTIONS(1210), + [anon_sym___attribute__] = ACTIONS(1210), + [anon_sym___attribute] = ACTIONS(1210), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1212), + [anon_sym___declspec] = ACTIONS(1210), + [anon_sym___cdecl] = ACTIONS(1210), + [anon_sym___clrcall] = ACTIONS(1210), + [anon_sym___stdcall] = ACTIONS(1210), + [anon_sym___fastcall] = ACTIONS(1210), + [anon_sym___thiscall] = ACTIONS(1210), + [anon_sym___vectorcall] = ACTIONS(1210), + [anon_sym_LBRACE] = ACTIONS(1212), + [anon_sym_signed] = ACTIONS(1210), + [anon_sym_unsigned] = ACTIONS(1210), + [anon_sym_long] = ACTIONS(1210), + [anon_sym_short] = ACTIONS(1210), + [anon_sym_static] = ACTIONS(1210), + [anon_sym_auto] = ACTIONS(1210), + [anon_sym_register] = ACTIONS(1210), + [anon_sym_inline] = ACTIONS(1210), + [anon_sym___inline] = ACTIONS(1210), + [anon_sym___inline__] = ACTIONS(1210), + [anon_sym___forceinline] = ACTIONS(1210), + [anon_sym_thread_local] = ACTIONS(1210), + [anon_sym___thread] = ACTIONS(1210), + [anon_sym_const] = ACTIONS(1210), + [anon_sym_constexpr] = ACTIONS(1210), + [anon_sym_volatile] = ACTIONS(1210), + [anon_sym_restrict] = ACTIONS(1210), + [anon_sym___restrict__] = ACTIONS(1210), + [anon_sym__Atomic] = ACTIONS(1210), + [anon_sym__Noreturn] = ACTIONS(1210), + [anon_sym_noreturn] = ACTIONS(1210), + [anon_sym__Nonnull] = ACTIONS(1210), + [anon_sym_alignas] = ACTIONS(1210), + [anon_sym__Alignas] = ACTIONS(1210), + [sym_primitive_type] = ACTIONS(1210), + [anon_sym_enum] = ACTIONS(1210), + [anon_sym_struct] = ACTIONS(1210), + [anon_sym_union] = ACTIONS(1210), + [anon_sym_if] = ACTIONS(1210), + [anon_sym_else] = ACTIONS(1210), + [anon_sym_switch] = ACTIONS(1210), + [anon_sym_case] = ACTIONS(1210), + [anon_sym_default] = ACTIONS(1210), + [anon_sym_while] = ACTIONS(1210), + [anon_sym_do] = ACTIONS(1210), + [anon_sym_for] = ACTIONS(1210), + [anon_sym_return] = ACTIONS(1210), + [anon_sym_break] = ACTIONS(1210), + [anon_sym_continue] = ACTIONS(1210), + [anon_sym_goto] = ACTIONS(1210), + [anon_sym___try] = ACTIONS(1210), + [anon_sym___leave] = ACTIONS(1210), + [anon_sym_DASH_DASH] = ACTIONS(1212), + [anon_sym_PLUS_PLUS] = ACTIONS(1212), + [anon_sym_sizeof] = ACTIONS(1210), + [anon_sym___alignof__] = ACTIONS(1210), + [anon_sym___alignof] = ACTIONS(1210), + [anon_sym__alignof] = ACTIONS(1210), + [anon_sym_alignof] = ACTIONS(1210), + [anon_sym__Alignof] = ACTIONS(1210), + [anon_sym_offsetof] = ACTIONS(1210), + [anon_sym__Generic] = ACTIONS(1210), + [anon_sym_asm] = ACTIONS(1210), + [anon_sym___asm__] = ACTIONS(1210), + [anon_sym___asm] = ACTIONS(1210), + [sym_number_literal] = ACTIONS(1212), + [anon_sym_L_SQUOTE] = ACTIONS(1212), + [anon_sym_u_SQUOTE] = ACTIONS(1212), + [anon_sym_U_SQUOTE] = ACTIONS(1212), + [anon_sym_u8_SQUOTE] = ACTIONS(1212), + [anon_sym_SQUOTE] = ACTIONS(1212), + [anon_sym_L_DQUOTE] = ACTIONS(1212), + [anon_sym_u_DQUOTE] = ACTIONS(1212), + [anon_sym_U_DQUOTE] = ACTIONS(1212), + [anon_sym_u8_DQUOTE] = ACTIONS(1212), + [anon_sym_DQUOTE] = ACTIONS(1212), + [sym_true] = ACTIONS(1210), + [sym_false] = ACTIONS(1210), + [anon_sym_NULL] = ACTIONS(1210), + [anon_sym_nullptr] = ACTIONS(1210), + [sym_comment] = ACTIONS(3), + }, + [156] = { + [sym_identifier] = ACTIONS(1214), + [aux_sym_preproc_include_token1] = ACTIONS(1214), + [aux_sym_preproc_def_token1] = ACTIONS(1214), + [aux_sym_preproc_if_token1] = ACTIONS(1214), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1214), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1214), + [sym_preproc_directive] = ACTIONS(1214), + [anon_sym_LPAREN2] = ACTIONS(1216), + [anon_sym_BANG] = ACTIONS(1216), + [anon_sym_TILDE] = ACTIONS(1216), + [anon_sym_DASH] = ACTIONS(1214), + [anon_sym_PLUS] = ACTIONS(1214), + [anon_sym_STAR] = ACTIONS(1216), + [anon_sym_AMP] = ACTIONS(1216), + [anon_sym_SEMI] = ACTIONS(1216), + [anon_sym___extension__] = ACTIONS(1214), + [anon_sym_typedef] = ACTIONS(1214), + [anon_sym_extern] = ACTIONS(1214), + [anon_sym___attribute__] = ACTIONS(1214), + [anon_sym___attribute] = ACTIONS(1214), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1216), + [anon_sym___declspec] = ACTIONS(1214), + [anon_sym___cdecl] = ACTIONS(1214), + [anon_sym___clrcall] = ACTIONS(1214), + [anon_sym___stdcall] = ACTIONS(1214), + [anon_sym___fastcall] = ACTIONS(1214), + [anon_sym___thiscall] = ACTIONS(1214), + [anon_sym___vectorcall] = ACTIONS(1214), + [anon_sym_LBRACE] = ACTIONS(1216), + [anon_sym_RBRACE] = ACTIONS(1216), + [anon_sym_signed] = ACTIONS(1214), + [anon_sym_unsigned] = ACTIONS(1214), + [anon_sym_long] = ACTIONS(1214), + [anon_sym_short] = ACTIONS(1214), + [anon_sym_static] = ACTIONS(1214), + [anon_sym_auto] = ACTIONS(1214), + [anon_sym_register] = ACTIONS(1214), + [anon_sym_inline] = ACTIONS(1214), + [anon_sym___inline] = ACTIONS(1214), + [anon_sym___inline__] = ACTIONS(1214), + [anon_sym___forceinline] = ACTIONS(1214), + [anon_sym_thread_local] = ACTIONS(1214), + [anon_sym___thread] = ACTIONS(1214), + [anon_sym_const] = ACTIONS(1214), + [anon_sym_constexpr] = ACTIONS(1214), + [anon_sym_volatile] = ACTIONS(1214), + [anon_sym_restrict] = ACTIONS(1214), + [anon_sym___restrict__] = ACTIONS(1214), + [anon_sym__Atomic] = ACTIONS(1214), + [anon_sym__Noreturn] = ACTIONS(1214), + [anon_sym_noreturn] = ACTIONS(1214), + [anon_sym__Nonnull] = ACTIONS(1214), + [anon_sym_alignas] = ACTIONS(1214), + [anon_sym__Alignas] = ACTIONS(1214), + [sym_primitive_type] = ACTIONS(1214), + [anon_sym_enum] = ACTIONS(1214), + [anon_sym_struct] = ACTIONS(1214), + [anon_sym_union] = ACTIONS(1214), + [anon_sym_if] = ACTIONS(1214), + [anon_sym_else] = ACTIONS(1214), + [anon_sym_switch] = ACTIONS(1214), + [anon_sym_case] = ACTIONS(1214), + [anon_sym_default] = ACTIONS(1214), + [anon_sym_while] = ACTIONS(1214), + [anon_sym_do] = ACTIONS(1214), + [anon_sym_for] = ACTIONS(1214), + [anon_sym_return] = ACTIONS(1214), + [anon_sym_break] = ACTIONS(1214), + [anon_sym_continue] = ACTIONS(1214), + [anon_sym_goto] = ACTIONS(1214), + [anon_sym___try] = ACTIONS(1214), + [anon_sym___leave] = ACTIONS(1214), + [anon_sym_DASH_DASH] = ACTIONS(1216), + [anon_sym_PLUS_PLUS] = ACTIONS(1216), + [anon_sym_sizeof] = ACTIONS(1214), + [anon_sym___alignof__] = ACTIONS(1214), + [anon_sym___alignof] = ACTIONS(1214), + [anon_sym__alignof] = ACTIONS(1214), + [anon_sym_alignof] = ACTIONS(1214), + [anon_sym__Alignof] = ACTIONS(1214), + [anon_sym_offsetof] = ACTIONS(1214), + [anon_sym__Generic] = ACTIONS(1214), + [anon_sym_asm] = ACTIONS(1214), + [anon_sym___asm__] = ACTIONS(1214), + [anon_sym___asm] = ACTIONS(1214), + [sym_number_literal] = ACTIONS(1216), + [anon_sym_L_SQUOTE] = ACTIONS(1216), + [anon_sym_u_SQUOTE] = ACTIONS(1216), + [anon_sym_U_SQUOTE] = ACTIONS(1216), + [anon_sym_u8_SQUOTE] = ACTIONS(1216), + [anon_sym_SQUOTE] = ACTIONS(1216), + [anon_sym_L_DQUOTE] = ACTIONS(1216), + [anon_sym_u_DQUOTE] = ACTIONS(1216), + [anon_sym_U_DQUOTE] = ACTIONS(1216), + [anon_sym_u8_DQUOTE] = ACTIONS(1216), + [anon_sym_DQUOTE] = ACTIONS(1216), + [sym_true] = ACTIONS(1214), + [sym_false] = ACTIONS(1214), + [anon_sym_NULL] = ACTIONS(1214), + [anon_sym_nullptr] = ACTIONS(1214), + [sym_comment] = ACTIONS(3), + }, + [157] = { + [sym_identifier] = ACTIONS(1230), + [aux_sym_preproc_include_token1] = ACTIONS(1230), + [aux_sym_preproc_def_token1] = ACTIONS(1230), + [aux_sym_preproc_if_token1] = ACTIONS(1230), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1230), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1230), + [sym_preproc_directive] = ACTIONS(1230), + [anon_sym_LPAREN2] = ACTIONS(1232), + [anon_sym_BANG] = ACTIONS(1232), + [anon_sym_TILDE] = ACTIONS(1232), + [anon_sym_DASH] = ACTIONS(1230), + [anon_sym_PLUS] = ACTIONS(1230), + [anon_sym_STAR] = ACTIONS(1232), + [anon_sym_AMP] = ACTIONS(1232), + [anon_sym_SEMI] = ACTIONS(1232), + [anon_sym___extension__] = ACTIONS(1230), + [anon_sym_typedef] = ACTIONS(1230), + [anon_sym_extern] = ACTIONS(1230), + [anon_sym___attribute__] = ACTIONS(1230), + [anon_sym___attribute] = ACTIONS(1230), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1232), + [anon_sym___declspec] = ACTIONS(1230), + [anon_sym___cdecl] = ACTIONS(1230), + [anon_sym___clrcall] = ACTIONS(1230), + [anon_sym___stdcall] = ACTIONS(1230), + [anon_sym___fastcall] = ACTIONS(1230), + [anon_sym___thiscall] = ACTIONS(1230), + [anon_sym___vectorcall] = ACTIONS(1230), + [anon_sym_LBRACE] = ACTIONS(1232), + [anon_sym_RBRACE] = ACTIONS(1232), + [anon_sym_signed] = ACTIONS(1230), + [anon_sym_unsigned] = ACTIONS(1230), + [anon_sym_long] = ACTIONS(1230), + [anon_sym_short] = ACTIONS(1230), + [anon_sym_static] = ACTIONS(1230), + [anon_sym_auto] = ACTIONS(1230), + [anon_sym_register] = ACTIONS(1230), + [anon_sym_inline] = ACTIONS(1230), + [anon_sym___inline] = ACTIONS(1230), + [anon_sym___inline__] = ACTIONS(1230), + [anon_sym___forceinline] = ACTIONS(1230), + [anon_sym_thread_local] = ACTIONS(1230), + [anon_sym___thread] = ACTIONS(1230), + [anon_sym_const] = ACTIONS(1230), + [anon_sym_constexpr] = ACTIONS(1230), + [anon_sym_volatile] = ACTIONS(1230), + [anon_sym_restrict] = ACTIONS(1230), + [anon_sym___restrict__] = ACTIONS(1230), + [anon_sym__Atomic] = ACTIONS(1230), + [anon_sym__Noreturn] = ACTIONS(1230), + [anon_sym_noreturn] = ACTIONS(1230), + [anon_sym__Nonnull] = ACTIONS(1230), + [anon_sym_alignas] = ACTIONS(1230), + [anon_sym__Alignas] = ACTIONS(1230), + [sym_primitive_type] = ACTIONS(1230), + [anon_sym_enum] = ACTIONS(1230), + [anon_sym_struct] = ACTIONS(1230), + [anon_sym_union] = ACTIONS(1230), + [anon_sym_if] = ACTIONS(1230), + [anon_sym_else] = ACTIONS(1230), + [anon_sym_switch] = ACTIONS(1230), + [anon_sym_case] = ACTIONS(1230), + [anon_sym_default] = ACTIONS(1230), + [anon_sym_while] = ACTIONS(1230), + [anon_sym_do] = ACTIONS(1230), + [anon_sym_for] = ACTIONS(1230), + [anon_sym_return] = ACTIONS(1230), + [anon_sym_break] = ACTIONS(1230), + [anon_sym_continue] = ACTIONS(1230), + [anon_sym_goto] = ACTIONS(1230), + [anon_sym___try] = ACTIONS(1230), + [anon_sym___leave] = ACTIONS(1230), + [anon_sym_DASH_DASH] = ACTIONS(1232), + [anon_sym_PLUS_PLUS] = ACTIONS(1232), + [anon_sym_sizeof] = ACTIONS(1230), + [anon_sym___alignof__] = ACTIONS(1230), + [anon_sym___alignof] = ACTIONS(1230), + [anon_sym__alignof] = ACTIONS(1230), + [anon_sym_alignof] = ACTIONS(1230), + [anon_sym__Alignof] = ACTIONS(1230), + [anon_sym_offsetof] = ACTIONS(1230), + [anon_sym__Generic] = ACTIONS(1230), + [anon_sym_asm] = ACTIONS(1230), + [anon_sym___asm__] = ACTIONS(1230), + [anon_sym___asm] = ACTIONS(1230), + [sym_number_literal] = ACTIONS(1232), + [anon_sym_L_SQUOTE] = ACTIONS(1232), + [anon_sym_u_SQUOTE] = ACTIONS(1232), + [anon_sym_U_SQUOTE] = ACTIONS(1232), + [anon_sym_u8_SQUOTE] = ACTIONS(1232), + [anon_sym_SQUOTE] = ACTIONS(1232), + [anon_sym_L_DQUOTE] = ACTIONS(1232), + [anon_sym_u_DQUOTE] = ACTIONS(1232), + [anon_sym_U_DQUOTE] = ACTIONS(1232), + [anon_sym_u8_DQUOTE] = ACTIONS(1232), + [anon_sym_DQUOTE] = ACTIONS(1232), + [sym_true] = ACTIONS(1230), + [sym_false] = ACTIONS(1230), + [anon_sym_NULL] = ACTIONS(1230), + [anon_sym_nullptr] = ACTIONS(1230), + [sym_comment] = ACTIONS(3), + }, + [158] = { + [ts_builtin_sym_end] = ACTIONS(1192), + [sym_identifier] = ACTIONS(1190), + [aux_sym_preproc_include_token1] = ACTIONS(1190), + [aux_sym_preproc_def_token1] = ACTIONS(1190), + [aux_sym_preproc_if_token1] = ACTIONS(1190), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1190), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1190), + [sym_preproc_directive] = ACTIONS(1190), + [anon_sym_LPAREN2] = ACTIONS(1192), + [anon_sym_BANG] = ACTIONS(1192), + [anon_sym_TILDE] = ACTIONS(1192), + [anon_sym_DASH] = ACTIONS(1190), + [anon_sym_PLUS] = ACTIONS(1190), + [anon_sym_STAR] = ACTIONS(1192), + [anon_sym_AMP] = ACTIONS(1192), + [anon_sym_SEMI] = ACTIONS(1192), + [anon_sym___extension__] = ACTIONS(1190), + [anon_sym_typedef] = ACTIONS(1190), + [anon_sym_extern] = ACTIONS(1190), + [anon_sym___attribute__] = ACTIONS(1190), + [anon_sym___attribute] = ACTIONS(1190), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1192), + [anon_sym___declspec] = ACTIONS(1190), + [anon_sym___cdecl] = ACTIONS(1190), + [anon_sym___clrcall] = ACTIONS(1190), + [anon_sym___stdcall] = ACTIONS(1190), + [anon_sym___fastcall] = ACTIONS(1190), + [anon_sym___thiscall] = ACTIONS(1190), + [anon_sym___vectorcall] = ACTIONS(1190), + [anon_sym_LBRACE] = ACTIONS(1192), + [anon_sym_signed] = ACTIONS(1190), + [anon_sym_unsigned] = ACTIONS(1190), + [anon_sym_long] = ACTIONS(1190), + [anon_sym_short] = ACTIONS(1190), + [anon_sym_static] = ACTIONS(1190), + [anon_sym_auto] = ACTIONS(1190), + [anon_sym_register] = ACTIONS(1190), + [anon_sym_inline] = ACTIONS(1190), + [anon_sym___inline] = ACTIONS(1190), + [anon_sym___inline__] = ACTIONS(1190), + [anon_sym___forceinline] = ACTIONS(1190), + [anon_sym_thread_local] = ACTIONS(1190), + [anon_sym___thread] = ACTIONS(1190), + [anon_sym_const] = ACTIONS(1190), + [anon_sym_constexpr] = ACTIONS(1190), + [anon_sym_volatile] = ACTIONS(1190), + [anon_sym_restrict] = ACTIONS(1190), + [anon_sym___restrict__] = ACTIONS(1190), + [anon_sym__Atomic] = ACTIONS(1190), + [anon_sym__Noreturn] = ACTIONS(1190), + [anon_sym_noreturn] = ACTIONS(1190), + [anon_sym__Nonnull] = ACTIONS(1190), + [anon_sym_alignas] = ACTIONS(1190), + [anon_sym__Alignas] = ACTIONS(1190), + [sym_primitive_type] = ACTIONS(1190), + [anon_sym_enum] = ACTIONS(1190), + [anon_sym_struct] = ACTIONS(1190), + [anon_sym_union] = ACTIONS(1190), + [anon_sym_if] = ACTIONS(1190), + [anon_sym_else] = ACTIONS(1190), + [anon_sym_switch] = ACTIONS(1190), + [anon_sym_case] = ACTIONS(1190), + [anon_sym_default] = ACTIONS(1190), + [anon_sym_while] = ACTIONS(1190), + [anon_sym_do] = ACTIONS(1190), + [anon_sym_for] = ACTIONS(1190), + [anon_sym_return] = ACTIONS(1190), + [anon_sym_break] = ACTIONS(1190), + [anon_sym_continue] = ACTIONS(1190), + [anon_sym_goto] = ACTIONS(1190), + [anon_sym___try] = ACTIONS(1190), + [anon_sym___leave] = ACTIONS(1190), + [anon_sym_DASH_DASH] = ACTIONS(1192), + [anon_sym_PLUS_PLUS] = ACTIONS(1192), + [anon_sym_sizeof] = ACTIONS(1190), + [anon_sym___alignof__] = ACTIONS(1190), + [anon_sym___alignof] = ACTIONS(1190), + [anon_sym__alignof] = ACTIONS(1190), + [anon_sym_alignof] = ACTIONS(1190), + [anon_sym__Alignof] = ACTIONS(1190), + [anon_sym_offsetof] = ACTIONS(1190), + [anon_sym__Generic] = ACTIONS(1190), + [anon_sym_asm] = ACTIONS(1190), + [anon_sym___asm__] = ACTIONS(1190), + [anon_sym___asm] = ACTIONS(1190), + [sym_number_literal] = ACTIONS(1192), + [anon_sym_L_SQUOTE] = ACTIONS(1192), + [anon_sym_u_SQUOTE] = ACTIONS(1192), + [anon_sym_U_SQUOTE] = ACTIONS(1192), + [anon_sym_u8_SQUOTE] = ACTIONS(1192), + [anon_sym_SQUOTE] = ACTIONS(1192), + [anon_sym_L_DQUOTE] = ACTIONS(1192), + [anon_sym_u_DQUOTE] = ACTIONS(1192), + [anon_sym_U_DQUOTE] = ACTIONS(1192), + [anon_sym_u8_DQUOTE] = ACTIONS(1192), + [anon_sym_DQUOTE] = ACTIONS(1192), + [sym_true] = ACTIONS(1190), + [sym_false] = ACTIONS(1190), + [anon_sym_NULL] = ACTIONS(1190), + [anon_sym_nullptr] = ACTIONS(1190), + [sym_comment] = ACTIONS(3), + }, + [159] = { + [ts_builtin_sym_end] = ACTIONS(1236), + [sym_identifier] = ACTIONS(1234), + [aux_sym_preproc_include_token1] = ACTIONS(1234), + [aux_sym_preproc_def_token1] = ACTIONS(1234), + [aux_sym_preproc_if_token1] = ACTIONS(1234), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1234), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1234), + [sym_preproc_directive] = ACTIONS(1234), + [anon_sym_LPAREN2] = ACTIONS(1236), + [anon_sym_BANG] = ACTIONS(1236), + [anon_sym_TILDE] = ACTIONS(1236), + [anon_sym_DASH] = ACTIONS(1234), + [anon_sym_PLUS] = ACTIONS(1234), + [anon_sym_STAR] = ACTIONS(1236), + [anon_sym_AMP] = ACTIONS(1236), + [anon_sym_SEMI] = ACTIONS(1236), + [anon_sym___extension__] = ACTIONS(1234), + [anon_sym_typedef] = ACTIONS(1234), + [anon_sym_extern] = ACTIONS(1234), + [anon_sym___attribute__] = ACTIONS(1234), + [anon_sym___attribute] = ACTIONS(1234), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1236), + [anon_sym___declspec] = ACTIONS(1234), + [anon_sym___cdecl] = ACTIONS(1234), + [anon_sym___clrcall] = ACTIONS(1234), + [anon_sym___stdcall] = ACTIONS(1234), + [anon_sym___fastcall] = ACTIONS(1234), + [anon_sym___thiscall] = ACTIONS(1234), + [anon_sym___vectorcall] = ACTIONS(1234), + [anon_sym_LBRACE] = ACTIONS(1236), + [anon_sym_signed] = ACTIONS(1234), + [anon_sym_unsigned] = ACTIONS(1234), + [anon_sym_long] = ACTIONS(1234), + [anon_sym_short] = ACTIONS(1234), + [anon_sym_static] = ACTIONS(1234), + [anon_sym_auto] = ACTIONS(1234), + [anon_sym_register] = ACTIONS(1234), + [anon_sym_inline] = ACTIONS(1234), + [anon_sym___inline] = ACTIONS(1234), + [anon_sym___inline__] = ACTIONS(1234), + [anon_sym___forceinline] = ACTIONS(1234), + [anon_sym_thread_local] = ACTIONS(1234), + [anon_sym___thread] = ACTIONS(1234), + [anon_sym_const] = ACTIONS(1234), + [anon_sym_constexpr] = ACTIONS(1234), + [anon_sym_volatile] = ACTIONS(1234), + [anon_sym_restrict] = ACTIONS(1234), + [anon_sym___restrict__] = ACTIONS(1234), + [anon_sym__Atomic] = ACTIONS(1234), + [anon_sym__Noreturn] = ACTIONS(1234), + [anon_sym_noreturn] = ACTIONS(1234), + [anon_sym__Nonnull] = ACTIONS(1234), + [anon_sym_alignas] = ACTIONS(1234), + [anon_sym__Alignas] = ACTIONS(1234), + [sym_primitive_type] = ACTIONS(1234), + [anon_sym_enum] = ACTIONS(1234), + [anon_sym_struct] = ACTIONS(1234), + [anon_sym_union] = ACTIONS(1234), + [anon_sym_if] = ACTIONS(1234), + [anon_sym_else] = ACTIONS(1234), + [anon_sym_switch] = ACTIONS(1234), + [anon_sym_case] = ACTIONS(1234), + [anon_sym_default] = ACTIONS(1234), + [anon_sym_while] = ACTIONS(1234), + [anon_sym_do] = ACTIONS(1234), + [anon_sym_for] = ACTIONS(1234), + [anon_sym_return] = ACTIONS(1234), + [anon_sym_break] = ACTIONS(1234), + [anon_sym_continue] = ACTIONS(1234), + [anon_sym_goto] = ACTIONS(1234), + [anon_sym___try] = ACTIONS(1234), + [anon_sym___leave] = ACTIONS(1234), + [anon_sym_DASH_DASH] = ACTIONS(1236), + [anon_sym_PLUS_PLUS] = ACTIONS(1236), + [anon_sym_sizeof] = ACTIONS(1234), + [anon_sym___alignof__] = ACTIONS(1234), + [anon_sym___alignof] = ACTIONS(1234), + [anon_sym__alignof] = ACTIONS(1234), + [anon_sym_alignof] = ACTIONS(1234), + [anon_sym__Alignof] = ACTIONS(1234), + [anon_sym_offsetof] = ACTIONS(1234), + [anon_sym__Generic] = ACTIONS(1234), + [anon_sym_asm] = ACTIONS(1234), + [anon_sym___asm__] = ACTIONS(1234), + [anon_sym___asm] = ACTIONS(1234), + [sym_number_literal] = ACTIONS(1236), + [anon_sym_L_SQUOTE] = ACTIONS(1236), + [anon_sym_u_SQUOTE] = ACTIONS(1236), + [anon_sym_U_SQUOTE] = ACTIONS(1236), + [anon_sym_u8_SQUOTE] = ACTIONS(1236), + [anon_sym_SQUOTE] = ACTIONS(1236), + [anon_sym_L_DQUOTE] = ACTIONS(1236), + [anon_sym_u_DQUOTE] = ACTIONS(1236), + [anon_sym_U_DQUOTE] = ACTIONS(1236), + [anon_sym_u8_DQUOTE] = ACTIONS(1236), + [anon_sym_DQUOTE] = ACTIONS(1236), + [sym_true] = ACTIONS(1234), + [sym_false] = ACTIONS(1234), + [anon_sym_NULL] = ACTIONS(1234), + [anon_sym_nullptr] = ACTIONS(1234), + [sym_comment] = ACTIONS(3), + }, + [160] = { + [ts_builtin_sym_end] = ACTIONS(1196), + [sym_identifier] = ACTIONS(1194), + [aux_sym_preproc_include_token1] = ACTIONS(1194), + [aux_sym_preproc_def_token1] = ACTIONS(1194), + [aux_sym_preproc_if_token1] = ACTIONS(1194), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1194), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1194), + [sym_preproc_directive] = ACTIONS(1194), + [anon_sym_LPAREN2] = ACTIONS(1196), + [anon_sym_BANG] = ACTIONS(1196), + [anon_sym_TILDE] = ACTIONS(1196), + [anon_sym_DASH] = ACTIONS(1194), + [anon_sym_PLUS] = ACTIONS(1194), + [anon_sym_STAR] = ACTIONS(1196), + [anon_sym_AMP] = ACTIONS(1196), + [anon_sym_SEMI] = ACTIONS(1196), + [anon_sym___extension__] = ACTIONS(1194), + [anon_sym_typedef] = ACTIONS(1194), + [anon_sym_extern] = ACTIONS(1194), + [anon_sym___attribute__] = ACTIONS(1194), + [anon_sym___attribute] = ACTIONS(1194), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1196), + [anon_sym___declspec] = ACTIONS(1194), + [anon_sym___cdecl] = ACTIONS(1194), + [anon_sym___clrcall] = ACTIONS(1194), + [anon_sym___stdcall] = ACTIONS(1194), + [anon_sym___fastcall] = ACTIONS(1194), + [anon_sym___thiscall] = ACTIONS(1194), + [anon_sym___vectorcall] = ACTIONS(1194), + [anon_sym_LBRACE] = ACTIONS(1196), + [anon_sym_signed] = ACTIONS(1194), + [anon_sym_unsigned] = ACTIONS(1194), + [anon_sym_long] = ACTIONS(1194), + [anon_sym_short] = ACTIONS(1194), + [anon_sym_static] = ACTIONS(1194), + [anon_sym_auto] = ACTIONS(1194), + [anon_sym_register] = ACTIONS(1194), + [anon_sym_inline] = ACTIONS(1194), + [anon_sym___inline] = ACTIONS(1194), + [anon_sym___inline__] = ACTIONS(1194), + [anon_sym___forceinline] = ACTIONS(1194), + [anon_sym_thread_local] = ACTIONS(1194), + [anon_sym___thread] = ACTIONS(1194), + [anon_sym_const] = ACTIONS(1194), + [anon_sym_constexpr] = ACTIONS(1194), + [anon_sym_volatile] = ACTIONS(1194), + [anon_sym_restrict] = ACTIONS(1194), + [anon_sym___restrict__] = ACTIONS(1194), + [anon_sym__Atomic] = ACTIONS(1194), + [anon_sym__Noreturn] = ACTIONS(1194), + [anon_sym_noreturn] = ACTIONS(1194), + [anon_sym__Nonnull] = ACTIONS(1194), + [anon_sym_alignas] = ACTIONS(1194), + [anon_sym__Alignas] = ACTIONS(1194), + [sym_primitive_type] = ACTIONS(1194), + [anon_sym_enum] = ACTIONS(1194), + [anon_sym_struct] = ACTIONS(1194), + [anon_sym_union] = ACTIONS(1194), + [anon_sym_if] = ACTIONS(1194), + [anon_sym_else] = ACTIONS(1194), + [anon_sym_switch] = ACTIONS(1194), + [anon_sym_case] = ACTIONS(1194), + [anon_sym_default] = ACTIONS(1194), + [anon_sym_while] = ACTIONS(1194), + [anon_sym_do] = ACTIONS(1194), + [anon_sym_for] = ACTIONS(1194), + [anon_sym_return] = ACTIONS(1194), + [anon_sym_break] = ACTIONS(1194), + [anon_sym_continue] = ACTIONS(1194), + [anon_sym_goto] = ACTIONS(1194), + [anon_sym___try] = ACTIONS(1194), + [anon_sym___leave] = ACTIONS(1194), + [anon_sym_DASH_DASH] = ACTIONS(1196), + [anon_sym_PLUS_PLUS] = ACTIONS(1196), + [anon_sym_sizeof] = ACTIONS(1194), + [anon_sym___alignof__] = ACTIONS(1194), + [anon_sym___alignof] = ACTIONS(1194), + [anon_sym__alignof] = ACTIONS(1194), + [anon_sym_alignof] = ACTIONS(1194), + [anon_sym__Alignof] = ACTIONS(1194), + [anon_sym_offsetof] = ACTIONS(1194), + [anon_sym__Generic] = ACTIONS(1194), + [anon_sym_asm] = ACTIONS(1194), + [anon_sym___asm__] = ACTIONS(1194), + [anon_sym___asm] = ACTIONS(1194), + [sym_number_literal] = ACTIONS(1196), + [anon_sym_L_SQUOTE] = ACTIONS(1196), + [anon_sym_u_SQUOTE] = ACTIONS(1196), + [anon_sym_U_SQUOTE] = ACTIONS(1196), + [anon_sym_u8_SQUOTE] = ACTIONS(1196), + [anon_sym_SQUOTE] = ACTIONS(1196), + [anon_sym_L_DQUOTE] = ACTIONS(1196), + [anon_sym_u_DQUOTE] = ACTIONS(1196), + [anon_sym_U_DQUOTE] = ACTIONS(1196), + [anon_sym_u8_DQUOTE] = ACTIONS(1196), + [anon_sym_DQUOTE] = ACTIONS(1196), + [sym_true] = ACTIONS(1194), + [sym_false] = ACTIONS(1194), + [anon_sym_NULL] = ACTIONS(1194), + [anon_sym_nullptr] = ACTIONS(1194), + [sym_comment] = ACTIONS(3), + }, + [161] = { + [ts_builtin_sym_end] = ACTIONS(1240), + [sym_identifier] = ACTIONS(1238), + [aux_sym_preproc_include_token1] = ACTIONS(1238), + [aux_sym_preproc_def_token1] = ACTIONS(1238), + [aux_sym_preproc_if_token1] = ACTIONS(1238), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1238), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1238), + [sym_preproc_directive] = ACTIONS(1238), + [anon_sym_LPAREN2] = ACTIONS(1240), + [anon_sym_BANG] = ACTIONS(1240), + [anon_sym_TILDE] = ACTIONS(1240), + [anon_sym_DASH] = ACTIONS(1238), + [anon_sym_PLUS] = ACTIONS(1238), + [anon_sym_STAR] = ACTIONS(1240), + [anon_sym_AMP] = ACTIONS(1240), + [anon_sym_SEMI] = ACTIONS(1240), + [anon_sym___extension__] = ACTIONS(1238), + [anon_sym_typedef] = ACTIONS(1238), + [anon_sym_extern] = ACTIONS(1238), + [anon_sym___attribute__] = ACTIONS(1238), + [anon_sym___attribute] = ACTIONS(1238), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1240), + [anon_sym___declspec] = ACTIONS(1238), + [anon_sym___cdecl] = ACTIONS(1238), + [anon_sym___clrcall] = ACTIONS(1238), + [anon_sym___stdcall] = ACTIONS(1238), + [anon_sym___fastcall] = ACTIONS(1238), + [anon_sym___thiscall] = ACTIONS(1238), + [anon_sym___vectorcall] = ACTIONS(1238), + [anon_sym_LBRACE] = ACTIONS(1240), + [anon_sym_signed] = ACTIONS(1238), + [anon_sym_unsigned] = ACTIONS(1238), + [anon_sym_long] = ACTIONS(1238), + [anon_sym_short] = ACTIONS(1238), + [anon_sym_static] = ACTIONS(1238), + [anon_sym_auto] = ACTIONS(1238), + [anon_sym_register] = ACTIONS(1238), + [anon_sym_inline] = ACTIONS(1238), + [anon_sym___inline] = ACTIONS(1238), + [anon_sym___inline__] = ACTIONS(1238), + [anon_sym___forceinline] = ACTIONS(1238), + [anon_sym_thread_local] = ACTIONS(1238), + [anon_sym___thread] = ACTIONS(1238), + [anon_sym_const] = ACTIONS(1238), + [anon_sym_constexpr] = ACTIONS(1238), + [anon_sym_volatile] = ACTIONS(1238), + [anon_sym_restrict] = ACTIONS(1238), + [anon_sym___restrict__] = ACTIONS(1238), + [anon_sym__Atomic] = ACTIONS(1238), + [anon_sym__Noreturn] = ACTIONS(1238), + [anon_sym_noreturn] = ACTIONS(1238), + [anon_sym__Nonnull] = ACTIONS(1238), + [anon_sym_alignas] = ACTIONS(1238), + [anon_sym__Alignas] = ACTIONS(1238), + [sym_primitive_type] = ACTIONS(1238), + [anon_sym_enum] = ACTIONS(1238), + [anon_sym_struct] = ACTIONS(1238), + [anon_sym_union] = ACTIONS(1238), + [anon_sym_if] = ACTIONS(1238), + [anon_sym_else] = ACTIONS(1238), + [anon_sym_switch] = ACTIONS(1238), + [anon_sym_case] = ACTIONS(1238), + [anon_sym_default] = ACTIONS(1238), + [anon_sym_while] = ACTIONS(1238), + [anon_sym_do] = ACTIONS(1238), + [anon_sym_for] = ACTIONS(1238), + [anon_sym_return] = ACTIONS(1238), + [anon_sym_break] = ACTIONS(1238), + [anon_sym_continue] = ACTIONS(1238), + [anon_sym_goto] = ACTIONS(1238), + [anon_sym___try] = ACTIONS(1238), + [anon_sym___leave] = ACTIONS(1238), + [anon_sym_DASH_DASH] = ACTIONS(1240), + [anon_sym_PLUS_PLUS] = ACTIONS(1240), + [anon_sym_sizeof] = ACTIONS(1238), + [anon_sym___alignof__] = ACTIONS(1238), + [anon_sym___alignof] = ACTIONS(1238), + [anon_sym__alignof] = ACTIONS(1238), + [anon_sym_alignof] = ACTIONS(1238), + [anon_sym__Alignof] = ACTIONS(1238), + [anon_sym_offsetof] = ACTIONS(1238), + [anon_sym__Generic] = ACTIONS(1238), + [anon_sym_asm] = ACTIONS(1238), + [anon_sym___asm__] = ACTIONS(1238), + [anon_sym___asm] = ACTIONS(1238), + [sym_number_literal] = ACTIONS(1240), + [anon_sym_L_SQUOTE] = ACTIONS(1240), + [anon_sym_u_SQUOTE] = ACTIONS(1240), + [anon_sym_U_SQUOTE] = ACTIONS(1240), + [anon_sym_u8_SQUOTE] = ACTIONS(1240), + [anon_sym_SQUOTE] = ACTIONS(1240), + [anon_sym_L_DQUOTE] = ACTIONS(1240), + [anon_sym_u_DQUOTE] = ACTIONS(1240), + [anon_sym_U_DQUOTE] = ACTIONS(1240), + [anon_sym_u8_DQUOTE] = ACTIONS(1240), + [anon_sym_DQUOTE] = ACTIONS(1240), + [sym_true] = ACTIONS(1238), + [sym_false] = ACTIONS(1238), + [anon_sym_NULL] = ACTIONS(1238), + [anon_sym_nullptr] = ACTIONS(1238), + [sym_comment] = ACTIONS(3), + }, + [162] = { + [ts_builtin_sym_end] = ACTIONS(1200), + [sym_identifier] = ACTIONS(1198), + [aux_sym_preproc_include_token1] = ACTIONS(1198), + [aux_sym_preproc_def_token1] = ACTIONS(1198), + [aux_sym_preproc_if_token1] = ACTIONS(1198), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1198), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1198), + [sym_preproc_directive] = ACTIONS(1198), + [anon_sym_LPAREN2] = ACTIONS(1200), + [anon_sym_BANG] = ACTIONS(1200), + [anon_sym_TILDE] = ACTIONS(1200), + [anon_sym_DASH] = ACTIONS(1198), + [anon_sym_PLUS] = ACTIONS(1198), + [anon_sym_STAR] = ACTIONS(1200), + [anon_sym_AMP] = ACTIONS(1200), + [anon_sym_SEMI] = ACTIONS(1200), + [anon_sym___extension__] = ACTIONS(1198), + [anon_sym_typedef] = ACTIONS(1198), + [anon_sym_extern] = ACTIONS(1198), + [anon_sym___attribute__] = ACTIONS(1198), + [anon_sym___attribute] = ACTIONS(1198), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1200), + [anon_sym___declspec] = ACTIONS(1198), + [anon_sym___cdecl] = ACTIONS(1198), + [anon_sym___clrcall] = ACTIONS(1198), + [anon_sym___stdcall] = ACTIONS(1198), + [anon_sym___fastcall] = ACTIONS(1198), + [anon_sym___thiscall] = ACTIONS(1198), + [anon_sym___vectorcall] = ACTIONS(1198), + [anon_sym_LBRACE] = ACTIONS(1200), + [anon_sym_signed] = ACTIONS(1198), + [anon_sym_unsigned] = ACTIONS(1198), + [anon_sym_long] = ACTIONS(1198), + [anon_sym_short] = ACTIONS(1198), + [anon_sym_static] = ACTIONS(1198), + [anon_sym_auto] = ACTIONS(1198), + [anon_sym_register] = ACTIONS(1198), + [anon_sym_inline] = ACTIONS(1198), + [anon_sym___inline] = ACTIONS(1198), + [anon_sym___inline__] = ACTIONS(1198), + [anon_sym___forceinline] = ACTIONS(1198), + [anon_sym_thread_local] = ACTIONS(1198), + [anon_sym___thread] = ACTIONS(1198), + [anon_sym_const] = ACTIONS(1198), + [anon_sym_constexpr] = ACTIONS(1198), + [anon_sym_volatile] = ACTIONS(1198), + [anon_sym_restrict] = ACTIONS(1198), + [anon_sym___restrict__] = ACTIONS(1198), + [anon_sym__Atomic] = ACTIONS(1198), + [anon_sym__Noreturn] = ACTIONS(1198), + [anon_sym_noreturn] = ACTIONS(1198), + [anon_sym__Nonnull] = ACTIONS(1198), + [anon_sym_alignas] = ACTIONS(1198), + [anon_sym__Alignas] = ACTIONS(1198), + [sym_primitive_type] = ACTIONS(1198), + [anon_sym_enum] = ACTIONS(1198), + [anon_sym_struct] = ACTIONS(1198), + [anon_sym_union] = ACTIONS(1198), + [anon_sym_if] = ACTIONS(1198), + [anon_sym_else] = ACTIONS(1198), + [anon_sym_switch] = ACTIONS(1198), + [anon_sym_case] = ACTIONS(1198), + [anon_sym_default] = ACTIONS(1198), + [anon_sym_while] = ACTIONS(1198), + [anon_sym_do] = ACTIONS(1198), + [anon_sym_for] = ACTIONS(1198), + [anon_sym_return] = ACTIONS(1198), + [anon_sym_break] = ACTIONS(1198), + [anon_sym_continue] = ACTIONS(1198), + [anon_sym_goto] = ACTIONS(1198), + [anon_sym___try] = ACTIONS(1198), + [anon_sym___leave] = ACTIONS(1198), + [anon_sym_DASH_DASH] = ACTIONS(1200), + [anon_sym_PLUS_PLUS] = ACTIONS(1200), + [anon_sym_sizeof] = ACTIONS(1198), + [anon_sym___alignof__] = ACTIONS(1198), + [anon_sym___alignof] = ACTIONS(1198), + [anon_sym__alignof] = ACTIONS(1198), + [anon_sym_alignof] = ACTIONS(1198), + [anon_sym__Alignof] = ACTIONS(1198), + [anon_sym_offsetof] = ACTIONS(1198), + [anon_sym__Generic] = ACTIONS(1198), + [anon_sym_asm] = ACTIONS(1198), + [anon_sym___asm__] = ACTIONS(1198), + [anon_sym___asm] = ACTIONS(1198), + [sym_number_literal] = ACTIONS(1200), + [anon_sym_L_SQUOTE] = ACTIONS(1200), + [anon_sym_u_SQUOTE] = ACTIONS(1200), + [anon_sym_U_SQUOTE] = ACTIONS(1200), + [anon_sym_u8_SQUOTE] = ACTIONS(1200), + [anon_sym_SQUOTE] = ACTIONS(1200), + [anon_sym_L_DQUOTE] = ACTIONS(1200), + [anon_sym_u_DQUOTE] = ACTIONS(1200), + [anon_sym_U_DQUOTE] = ACTIONS(1200), + [anon_sym_u8_DQUOTE] = ACTIONS(1200), + [anon_sym_DQUOTE] = ACTIONS(1200), + [sym_true] = ACTIONS(1198), + [sym_false] = ACTIONS(1198), + [anon_sym_NULL] = ACTIONS(1198), + [anon_sym_nullptr] = ACTIONS(1198), + [sym_comment] = ACTIONS(3), + }, + [163] = { + [sym_identifier] = ACTIONS(1238), + [aux_sym_preproc_include_token1] = ACTIONS(1238), + [aux_sym_preproc_def_token1] = ACTIONS(1238), + [aux_sym_preproc_if_token1] = ACTIONS(1238), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1238), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1238), + [sym_preproc_directive] = ACTIONS(1238), + [anon_sym_LPAREN2] = ACTIONS(1240), + [anon_sym_BANG] = ACTIONS(1240), + [anon_sym_TILDE] = ACTIONS(1240), + [anon_sym_DASH] = ACTIONS(1238), + [anon_sym_PLUS] = ACTIONS(1238), + [anon_sym_STAR] = ACTIONS(1240), + [anon_sym_AMP] = ACTIONS(1240), + [anon_sym_SEMI] = ACTIONS(1240), + [anon_sym___extension__] = ACTIONS(1238), + [anon_sym_typedef] = ACTIONS(1238), + [anon_sym_extern] = ACTIONS(1238), + [anon_sym___attribute__] = ACTIONS(1238), + [anon_sym___attribute] = ACTIONS(1238), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1240), + [anon_sym___declspec] = ACTIONS(1238), + [anon_sym___cdecl] = ACTIONS(1238), + [anon_sym___clrcall] = ACTIONS(1238), + [anon_sym___stdcall] = ACTIONS(1238), + [anon_sym___fastcall] = ACTIONS(1238), + [anon_sym___thiscall] = ACTIONS(1238), + [anon_sym___vectorcall] = ACTIONS(1238), + [anon_sym_LBRACE] = ACTIONS(1240), + [anon_sym_RBRACE] = ACTIONS(1240), + [anon_sym_signed] = ACTIONS(1238), + [anon_sym_unsigned] = ACTIONS(1238), + [anon_sym_long] = ACTIONS(1238), + [anon_sym_short] = ACTIONS(1238), + [anon_sym_static] = ACTIONS(1238), + [anon_sym_auto] = ACTIONS(1238), + [anon_sym_register] = ACTIONS(1238), + [anon_sym_inline] = ACTIONS(1238), + [anon_sym___inline] = ACTIONS(1238), + [anon_sym___inline__] = ACTIONS(1238), + [anon_sym___forceinline] = ACTIONS(1238), + [anon_sym_thread_local] = ACTIONS(1238), + [anon_sym___thread] = ACTIONS(1238), + [anon_sym_const] = ACTIONS(1238), + [anon_sym_constexpr] = ACTIONS(1238), + [anon_sym_volatile] = ACTIONS(1238), + [anon_sym_restrict] = ACTIONS(1238), + [anon_sym___restrict__] = ACTIONS(1238), + [anon_sym__Atomic] = ACTIONS(1238), + [anon_sym__Noreturn] = ACTIONS(1238), + [anon_sym_noreturn] = ACTIONS(1238), + [anon_sym__Nonnull] = ACTIONS(1238), + [anon_sym_alignas] = ACTIONS(1238), + [anon_sym__Alignas] = ACTIONS(1238), + [sym_primitive_type] = ACTIONS(1238), + [anon_sym_enum] = ACTIONS(1238), + [anon_sym_struct] = ACTIONS(1238), + [anon_sym_union] = ACTIONS(1238), + [anon_sym_if] = ACTIONS(1238), + [anon_sym_else] = ACTIONS(1238), + [anon_sym_switch] = ACTIONS(1238), + [anon_sym_case] = ACTIONS(1238), + [anon_sym_default] = ACTIONS(1238), + [anon_sym_while] = ACTIONS(1238), + [anon_sym_do] = ACTIONS(1238), + [anon_sym_for] = ACTIONS(1238), + [anon_sym_return] = ACTIONS(1238), + [anon_sym_break] = ACTIONS(1238), + [anon_sym_continue] = ACTIONS(1238), + [anon_sym_goto] = ACTIONS(1238), + [anon_sym___try] = ACTIONS(1238), + [anon_sym___leave] = ACTIONS(1238), + [anon_sym_DASH_DASH] = ACTIONS(1240), + [anon_sym_PLUS_PLUS] = ACTIONS(1240), + [anon_sym_sizeof] = ACTIONS(1238), + [anon_sym___alignof__] = ACTIONS(1238), + [anon_sym___alignof] = ACTIONS(1238), + [anon_sym__alignof] = ACTIONS(1238), + [anon_sym_alignof] = ACTIONS(1238), + [anon_sym__Alignof] = ACTIONS(1238), + [anon_sym_offsetof] = ACTIONS(1238), + [anon_sym__Generic] = ACTIONS(1238), + [anon_sym_asm] = ACTIONS(1238), + [anon_sym___asm__] = ACTIONS(1238), + [anon_sym___asm] = ACTIONS(1238), + [sym_number_literal] = ACTIONS(1240), + [anon_sym_L_SQUOTE] = ACTIONS(1240), + [anon_sym_u_SQUOTE] = ACTIONS(1240), + [anon_sym_U_SQUOTE] = ACTIONS(1240), + [anon_sym_u8_SQUOTE] = ACTIONS(1240), + [anon_sym_SQUOTE] = ACTIONS(1240), + [anon_sym_L_DQUOTE] = ACTIONS(1240), + [anon_sym_u_DQUOTE] = ACTIONS(1240), + [anon_sym_U_DQUOTE] = ACTIONS(1240), + [anon_sym_u8_DQUOTE] = ACTIONS(1240), + [anon_sym_DQUOTE] = ACTIONS(1240), + [sym_true] = ACTIONS(1238), + [sym_false] = ACTIONS(1238), + [anon_sym_NULL] = ACTIONS(1238), + [anon_sym_nullptr] = ACTIONS(1238), + [sym_comment] = ACTIONS(3), + }, + [164] = { + [sym_identifier] = ACTIONS(1242), + [aux_sym_preproc_include_token1] = ACTIONS(1242), + [aux_sym_preproc_def_token1] = ACTIONS(1242), + [aux_sym_preproc_if_token1] = ACTIONS(1242), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1242), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1242), + [sym_preproc_directive] = ACTIONS(1242), + [anon_sym_LPAREN2] = ACTIONS(1244), + [anon_sym_BANG] = ACTIONS(1244), + [anon_sym_TILDE] = ACTIONS(1244), + [anon_sym_DASH] = ACTIONS(1242), + [anon_sym_PLUS] = ACTIONS(1242), + [anon_sym_STAR] = ACTIONS(1244), + [anon_sym_AMP] = ACTIONS(1244), + [anon_sym_SEMI] = ACTIONS(1244), + [anon_sym___extension__] = ACTIONS(1242), + [anon_sym_typedef] = ACTIONS(1242), + [anon_sym_extern] = ACTIONS(1242), + [anon_sym___attribute__] = ACTIONS(1242), + [anon_sym___attribute] = ACTIONS(1242), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1244), + [anon_sym___declspec] = ACTIONS(1242), + [anon_sym___cdecl] = ACTIONS(1242), + [anon_sym___clrcall] = ACTIONS(1242), + [anon_sym___stdcall] = ACTIONS(1242), + [anon_sym___fastcall] = ACTIONS(1242), + [anon_sym___thiscall] = ACTIONS(1242), + [anon_sym___vectorcall] = ACTIONS(1242), + [anon_sym_LBRACE] = ACTIONS(1244), + [anon_sym_RBRACE] = ACTIONS(1244), + [anon_sym_signed] = ACTIONS(1242), + [anon_sym_unsigned] = ACTIONS(1242), + [anon_sym_long] = ACTIONS(1242), + [anon_sym_short] = ACTIONS(1242), + [anon_sym_static] = ACTIONS(1242), + [anon_sym_auto] = ACTIONS(1242), + [anon_sym_register] = ACTIONS(1242), + [anon_sym_inline] = ACTIONS(1242), + [anon_sym___inline] = ACTIONS(1242), + [anon_sym___inline__] = ACTIONS(1242), + [anon_sym___forceinline] = ACTIONS(1242), + [anon_sym_thread_local] = ACTIONS(1242), + [anon_sym___thread] = ACTIONS(1242), + [anon_sym_const] = ACTIONS(1242), + [anon_sym_constexpr] = ACTIONS(1242), + [anon_sym_volatile] = ACTIONS(1242), + [anon_sym_restrict] = ACTIONS(1242), + [anon_sym___restrict__] = ACTIONS(1242), + [anon_sym__Atomic] = ACTIONS(1242), + [anon_sym__Noreturn] = ACTIONS(1242), + [anon_sym_noreturn] = ACTIONS(1242), + [anon_sym__Nonnull] = ACTIONS(1242), + [anon_sym_alignas] = ACTIONS(1242), + [anon_sym__Alignas] = ACTIONS(1242), + [sym_primitive_type] = ACTIONS(1242), + [anon_sym_enum] = ACTIONS(1242), + [anon_sym_struct] = ACTIONS(1242), + [anon_sym_union] = ACTIONS(1242), + [anon_sym_if] = ACTIONS(1242), + [anon_sym_else] = ACTIONS(1242), + [anon_sym_switch] = ACTIONS(1242), + [anon_sym_case] = ACTIONS(1242), + [anon_sym_default] = ACTIONS(1242), + [anon_sym_while] = ACTIONS(1242), + [anon_sym_do] = ACTIONS(1242), + [anon_sym_for] = ACTIONS(1242), + [anon_sym_return] = ACTIONS(1242), + [anon_sym_break] = ACTIONS(1242), + [anon_sym_continue] = ACTIONS(1242), + [anon_sym_goto] = ACTIONS(1242), + [anon_sym___try] = ACTIONS(1242), + [anon_sym___leave] = ACTIONS(1242), + [anon_sym_DASH_DASH] = ACTIONS(1244), + [anon_sym_PLUS_PLUS] = ACTIONS(1244), + [anon_sym_sizeof] = ACTIONS(1242), + [anon_sym___alignof__] = ACTIONS(1242), + [anon_sym___alignof] = ACTIONS(1242), + [anon_sym__alignof] = ACTIONS(1242), + [anon_sym_alignof] = ACTIONS(1242), + [anon_sym__Alignof] = ACTIONS(1242), + [anon_sym_offsetof] = ACTIONS(1242), + [anon_sym__Generic] = ACTIONS(1242), + [anon_sym_asm] = ACTIONS(1242), + [anon_sym___asm__] = ACTIONS(1242), + [anon_sym___asm] = ACTIONS(1242), + [sym_number_literal] = ACTIONS(1244), + [anon_sym_L_SQUOTE] = ACTIONS(1244), + [anon_sym_u_SQUOTE] = ACTIONS(1244), + [anon_sym_U_SQUOTE] = ACTIONS(1244), + [anon_sym_u8_SQUOTE] = ACTIONS(1244), + [anon_sym_SQUOTE] = ACTIONS(1244), + [anon_sym_L_DQUOTE] = ACTIONS(1244), + [anon_sym_u_DQUOTE] = ACTIONS(1244), + [anon_sym_U_DQUOTE] = ACTIONS(1244), + [anon_sym_u8_DQUOTE] = ACTIONS(1244), + [anon_sym_DQUOTE] = ACTIONS(1244), + [sym_true] = ACTIONS(1242), + [sym_false] = ACTIONS(1242), + [anon_sym_NULL] = ACTIONS(1242), + [anon_sym_nullptr] = ACTIONS(1242), + [sym_comment] = ACTIONS(3), + }, + [165] = { + [sym_identifier] = ACTIONS(1246), + [aux_sym_preproc_include_token1] = ACTIONS(1246), + [aux_sym_preproc_def_token1] = ACTIONS(1246), + [aux_sym_preproc_if_token1] = ACTIONS(1246), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1246), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1246), + [sym_preproc_directive] = ACTIONS(1246), + [anon_sym_LPAREN2] = ACTIONS(1248), + [anon_sym_BANG] = ACTIONS(1248), + [anon_sym_TILDE] = ACTIONS(1248), + [anon_sym_DASH] = ACTIONS(1246), + [anon_sym_PLUS] = ACTIONS(1246), + [anon_sym_STAR] = ACTIONS(1248), + [anon_sym_AMP] = ACTIONS(1248), + [anon_sym_SEMI] = ACTIONS(1248), + [anon_sym___extension__] = ACTIONS(1246), + [anon_sym_typedef] = ACTIONS(1246), + [anon_sym_extern] = ACTIONS(1246), + [anon_sym___attribute__] = ACTIONS(1246), + [anon_sym___attribute] = ACTIONS(1246), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1248), + [anon_sym___declspec] = ACTIONS(1246), + [anon_sym___cdecl] = ACTIONS(1246), + [anon_sym___clrcall] = ACTIONS(1246), + [anon_sym___stdcall] = ACTIONS(1246), + [anon_sym___fastcall] = ACTIONS(1246), + [anon_sym___thiscall] = ACTIONS(1246), + [anon_sym___vectorcall] = ACTIONS(1246), + [anon_sym_LBRACE] = ACTIONS(1248), + [anon_sym_RBRACE] = ACTIONS(1248), + [anon_sym_signed] = ACTIONS(1246), + [anon_sym_unsigned] = ACTIONS(1246), + [anon_sym_long] = ACTIONS(1246), + [anon_sym_short] = ACTIONS(1246), + [anon_sym_static] = ACTIONS(1246), + [anon_sym_auto] = ACTIONS(1246), + [anon_sym_register] = ACTIONS(1246), + [anon_sym_inline] = ACTIONS(1246), + [anon_sym___inline] = ACTIONS(1246), + [anon_sym___inline__] = ACTIONS(1246), + [anon_sym___forceinline] = ACTIONS(1246), + [anon_sym_thread_local] = ACTIONS(1246), + [anon_sym___thread] = ACTIONS(1246), + [anon_sym_const] = ACTIONS(1246), + [anon_sym_constexpr] = ACTIONS(1246), + [anon_sym_volatile] = ACTIONS(1246), + [anon_sym_restrict] = ACTIONS(1246), + [anon_sym___restrict__] = ACTIONS(1246), + [anon_sym__Atomic] = ACTIONS(1246), + [anon_sym__Noreturn] = ACTIONS(1246), + [anon_sym_noreturn] = ACTIONS(1246), + [anon_sym__Nonnull] = ACTIONS(1246), + [anon_sym_alignas] = ACTIONS(1246), + [anon_sym__Alignas] = ACTIONS(1246), + [sym_primitive_type] = ACTIONS(1246), + [anon_sym_enum] = ACTIONS(1246), + [anon_sym_struct] = ACTIONS(1246), + [anon_sym_union] = ACTIONS(1246), + [anon_sym_if] = ACTIONS(1246), + [anon_sym_else] = ACTIONS(1246), + [anon_sym_switch] = ACTIONS(1246), + [anon_sym_case] = ACTIONS(1246), + [anon_sym_default] = ACTIONS(1246), + [anon_sym_while] = ACTIONS(1246), + [anon_sym_do] = ACTIONS(1246), + [anon_sym_for] = ACTIONS(1246), + [anon_sym_return] = ACTIONS(1246), + [anon_sym_break] = ACTIONS(1246), + [anon_sym_continue] = ACTIONS(1246), + [anon_sym_goto] = ACTIONS(1246), + [anon_sym___try] = ACTIONS(1246), + [anon_sym___leave] = ACTIONS(1246), + [anon_sym_DASH_DASH] = ACTIONS(1248), + [anon_sym_PLUS_PLUS] = ACTIONS(1248), + [anon_sym_sizeof] = ACTIONS(1246), + [anon_sym___alignof__] = ACTIONS(1246), + [anon_sym___alignof] = ACTIONS(1246), + [anon_sym__alignof] = ACTIONS(1246), + [anon_sym_alignof] = ACTIONS(1246), + [anon_sym__Alignof] = ACTIONS(1246), + [anon_sym_offsetof] = ACTIONS(1246), + [anon_sym__Generic] = ACTIONS(1246), + [anon_sym_asm] = ACTIONS(1246), + [anon_sym___asm__] = ACTIONS(1246), + [anon_sym___asm] = ACTIONS(1246), + [sym_number_literal] = ACTIONS(1248), + [anon_sym_L_SQUOTE] = ACTIONS(1248), + [anon_sym_u_SQUOTE] = ACTIONS(1248), + [anon_sym_U_SQUOTE] = ACTIONS(1248), + [anon_sym_u8_SQUOTE] = ACTIONS(1248), + [anon_sym_SQUOTE] = ACTIONS(1248), + [anon_sym_L_DQUOTE] = ACTIONS(1248), + [anon_sym_u_DQUOTE] = ACTIONS(1248), + [anon_sym_U_DQUOTE] = ACTIONS(1248), + [anon_sym_u8_DQUOTE] = ACTIONS(1248), + [anon_sym_DQUOTE] = ACTIONS(1248), + [sym_true] = ACTIONS(1246), + [sym_false] = ACTIONS(1246), + [anon_sym_NULL] = ACTIONS(1246), + [anon_sym_nullptr] = ACTIONS(1246), + [sym_comment] = ACTIONS(3), + }, + [166] = { + [ts_builtin_sym_end] = ACTIONS(1204), + [sym_identifier] = ACTIONS(1202), + [aux_sym_preproc_include_token1] = ACTIONS(1202), + [aux_sym_preproc_def_token1] = ACTIONS(1202), + [aux_sym_preproc_if_token1] = ACTIONS(1202), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1202), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1202), + [sym_preproc_directive] = ACTIONS(1202), + [anon_sym_LPAREN2] = ACTIONS(1204), + [anon_sym_BANG] = ACTIONS(1204), + [anon_sym_TILDE] = ACTIONS(1204), + [anon_sym_DASH] = ACTIONS(1202), + [anon_sym_PLUS] = ACTIONS(1202), + [anon_sym_STAR] = ACTIONS(1204), + [anon_sym_AMP] = ACTIONS(1204), + [anon_sym_SEMI] = ACTIONS(1204), + [anon_sym___extension__] = ACTIONS(1202), + [anon_sym_typedef] = ACTIONS(1202), + [anon_sym_extern] = ACTIONS(1202), + [anon_sym___attribute__] = ACTIONS(1202), + [anon_sym___attribute] = ACTIONS(1202), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1204), + [anon_sym___declspec] = ACTIONS(1202), + [anon_sym___cdecl] = ACTIONS(1202), + [anon_sym___clrcall] = ACTIONS(1202), + [anon_sym___stdcall] = ACTIONS(1202), + [anon_sym___fastcall] = ACTIONS(1202), + [anon_sym___thiscall] = ACTIONS(1202), + [anon_sym___vectorcall] = ACTIONS(1202), + [anon_sym_LBRACE] = ACTIONS(1204), + [anon_sym_signed] = ACTIONS(1202), + [anon_sym_unsigned] = ACTIONS(1202), + [anon_sym_long] = ACTIONS(1202), + [anon_sym_short] = ACTIONS(1202), + [anon_sym_static] = ACTIONS(1202), + [anon_sym_auto] = ACTIONS(1202), + [anon_sym_register] = ACTIONS(1202), + [anon_sym_inline] = ACTIONS(1202), + [anon_sym___inline] = ACTIONS(1202), + [anon_sym___inline__] = ACTIONS(1202), + [anon_sym___forceinline] = ACTIONS(1202), + [anon_sym_thread_local] = ACTIONS(1202), + [anon_sym___thread] = ACTIONS(1202), + [anon_sym_const] = ACTIONS(1202), + [anon_sym_constexpr] = ACTIONS(1202), + [anon_sym_volatile] = ACTIONS(1202), + [anon_sym_restrict] = ACTIONS(1202), + [anon_sym___restrict__] = ACTIONS(1202), + [anon_sym__Atomic] = ACTIONS(1202), + [anon_sym__Noreturn] = ACTIONS(1202), + [anon_sym_noreturn] = ACTIONS(1202), + [anon_sym__Nonnull] = ACTIONS(1202), + [anon_sym_alignas] = ACTIONS(1202), + [anon_sym__Alignas] = ACTIONS(1202), + [sym_primitive_type] = ACTIONS(1202), + [anon_sym_enum] = ACTIONS(1202), + [anon_sym_struct] = ACTIONS(1202), + [anon_sym_union] = ACTIONS(1202), + [anon_sym_if] = ACTIONS(1202), + [anon_sym_else] = ACTIONS(1202), + [anon_sym_switch] = ACTIONS(1202), + [anon_sym_case] = ACTIONS(1202), + [anon_sym_default] = ACTIONS(1202), + [anon_sym_while] = ACTIONS(1202), + [anon_sym_do] = ACTIONS(1202), + [anon_sym_for] = ACTIONS(1202), + [anon_sym_return] = ACTIONS(1202), + [anon_sym_break] = ACTIONS(1202), + [anon_sym_continue] = ACTIONS(1202), + [anon_sym_goto] = ACTIONS(1202), + [anon_sym___try] = ACTIONS(1202), + [anon_sym___leave] = ACTIONS(1202), + [anon_sym_DASH_DASH] = ACTIONS(1204), + [anon_sym_PLUS_PLUS] = ACTIONS(1204), + [anon_sym_sizeof] = ACTIONS(1202), + [anon_sym___alignof__] = ACTIONS(1202), + [anon_sym___alignof] = ACTIONS(1202), + [anon_sym__alignof] = ACTIONS(1202), + [anon_sym_alignof] = ACTIONS(1202), + [anon_sym__Alignof] = ACTIONS(1202), + [anon_sym_offsetof] = ACTIONS(1202), + [anon_sym__Generic] = ACTIONS(1202), + [anon_sym_asm] = ACTIONS(1202), + [anon_sym___asm__] = ACTIONS(1202), + [anon_sym___asm] = ACTIONS(1202), + [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(1202), + [sym_false] = ACTIONS(1202), + [anon_sym_NULL] = ACTIONS(1202), + [anon_sym_nullptr] = ACTIONS(1202), + [sym_comment] = ACTIONS(3), + }, + [167] = { + [sym_identifier] = ACTIONS(1250), + [aux_sym_preproc_include_token1] = ACTIONS(1250), + [aux_sym_preproc_def_token1] = ACTIONS(1250), + [aux_sym_preproc_if_token1] = ACTIONS(1250), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1250), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1250), + [sym_preproc_directive] = ACTIONS(1250), + [anon_sym_LPAREN2] = ACTIONS(1252), + [anon_sym_BANG] = ACTIONS(1252), + [anon_sym_TILDE] = ACTIONS(1252), + [anon_sym_DASH] = ACTIONS(1250), + [anon_sym_PLUS] = ACTIONS(1250), + [anon_sym_STAR] = ACTIONS(1252), + [anon_sym_AMP] = ACTIONS(1252), + [anon_sym_SEMI] = ACTIONS(1252), + [anon_sym___extension__] = ACTIONS(1250), + [anon_sym_typedef] = ACTIONS(1250), + [anon_sym_extern] = ACTIONS(1250), + [anon_sym___attribute__] = ACTIONS(1250), + [anon_sym___attribute] = ACTIONS(1250), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1252), + [anon_sym___declspec] = ACTIONS(1250), + [anon_sym___cdecl] = ACTIONS(1250), + [anon_sym___clrcall] = ACTIONS(1250), + [anon_sym___stdcall] = ACTIONS(1250), + [anon_sym___fastcall] = ACTIONS(1250), + [anon_sym___thiscall] = ACTIONS(1250), + [anon_sym___vectorcall] = ACTIONS(1250), + [anon_sym_LBRACE] = ACTIONS(1252), + [anon_sym_RBRACE] = ACTIONS(1252), + [anon_sym_signed] = ACTIONS(1250), + [anon_sym_unsigned] = ACTIONS(1250), + [anon_sym_long] = ACTIONS(1250), + [anon_sym_short] = ACTIONS(1250), + [anon_sym_static] = ACTIONS(1250), + [anon_sym_auto] = ACTIONS(1250), + [anon_sym_register] = ACTIONS(1250), + [anon_sym_inline] = ACTIONS(1250), + [anon_sym___inline] = ACTIONS(1250), + [anon_sym___inline__] = ACTIONS(1250), + [anon_sym___forceinline] = ACTIONS(1250), + [anon_sym_thread_local] = ACTIONS(1250), + [anon_sym___thread] = ACTIONS(1250), + [anon_sym_const] = ACTIONS(1250), + [anon_sym_constexpr] = ACTIONS(1250), + [anon_sym_volatile] = ACTIONS(1250), + [anon_sym_restrict] = ACTIONS(1250), + [anon_sym___restrict__] = ACTIONS(1250), + [anon_sym__Atomic] = ACTIONS(1250), + [anon_sym__Noreturn] = ACTIONS(1250), + [anon_sym_noreturn] = ACTIONS(1250), + [anon_sym__Nonnull] = ACTIONS(1250), + [anon_sym_alignas] = ACTIONS(1250), + [anon_sym__Alignas] = ACTIONS(1250), + [sym_primitive_type] = ACTIONS(1250), + [anon_sym_enum] = ACTIONS(1250), + [anon_sym_struct] = ACTIONS(1250), + [anon_sym_union] = ACTIONS(1250), + [anon_sym_if] = ACTIONS(1250), + [anon_sym_else] = ACTIONS(1250), + [anon_sym_switch] = ACTIONS(1250), + [anon_sym_case] = ACTIONS(1250), + [anon_sym_default] = ACTIONS(1250), + [anon_sym_while] = ACTIONS(1250), + [anon_sym_do] = ACTIONS(1250), + [anon_sym_for] = ACTIONS(1250), + [anon_sym_return] = ACTIONS(1250), + [anon_sym_break] = ACTIONS(1250), + [anon_sym_continue] = ACTIONS(1250), + [anon_sym_goto] = ACTIONS(1250), + [anon_sym___try] = ACTIONS(1250), + [anon_sym___leave] = ACTIONS(1250), + [anon_sym_DASH_DASH] = ACTIONS(1252), + [anon_sym_PLUS_PLUS] = ACTIONS(1252), + [anon_sym_sizeof] = ACTIONS(1250), + [anon_sym___alignof__] = ACTIONS(1250), + [anon_sym___alignof] = ACTIONS(1250), + [anon_sym__alignof] = ACTIONS(1250), + [anon_sym_alignof] = ACTIONS(1250), + [anon_sym__Alignof] = ACTIONS(1250), + [anon_sym_offsetof] = ACTIONS(1250), + [anon_sym__Generic] = ACTIONS(1250), + [anon_sym_asm] = ACTIONS(1250), + [anon_sym___asm__] = ACTIONS(1250), + [anon_sym___asm] = ACTIONS(1250), + [sym_number_literal] = ACTIONS(1252), + [anon_sym_L_SQUOTE] = ACTIONS(1252), + [anon_sym_u_SQUOTE] = ACTIONS(1252), + [anon_sym_U_SQUOTE] = ACTIONS(1252), + [anon_sym_u8_SQUOTE] = ACTIONS(1252), + [anon_sym_SQUOTE] = ACTIONS(1252), + [anon_sym_L_DQUOTE] = ACTIONS(1252), + [anon_sym_u_DQUOTE] = ACTIONS(1252), + [anon_sym_U_DQUOTE] = ACTIONS(1252), + [anon_sym_u8_DQUOTE] = ACTIONS(1252), + [anon_sym_DQUOTE] = ACTIONS(1252), + [sym_true] = ACTIONS(1250), + [sym_false] = ACTIONS(1250), + [anon_sym_NULL] = ACTIONS(1250), + [anon_sym_nullptr] = ACTIONS(1250), + [sym_comment] = ACTIONS(3), + }, + [168] = { + [ts_builtin_sym_end] = ACTIONS(1260), + [sym_identifier] = ACTIONS(1258), + [aux_sym_preproc_include_token1] = ACTIONS(1258), + [aux_sym_preproc_def_token1] = ACTIONS(1258), + [aux_sym_preproc_if_token1] = ACTIONS(1258), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1258), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1258), + [sym_preproc_directive] = ACTIONS(1258), + [anon_sym_LPAREN2] = ACTIONS(1260), + [anon_sym_BANG] = ACTIONS(1260), + [anon_sym_TILDE] = ACTIONS(1260), + [anon_sym_DASH] = ACTIONS(1258), + [anon_sym_PLUS] = ACTIONS(1258), + [anon_sym_STAR] = ACTIONS(1260), + [anon_sym_AMP] = ACTIONS(1260), + [anon_sym_SEMI] = ACTIONS(1260), + [anon_sym___extension__] = ACTIONS(1258), + [anon_sym_typedef] = ACTIONS(1258), + [anon_sym_extern] = ACTIONS(1258), + [anon_sym___attribute__] = ACTIONS(1258), + [anon_sym___attribute] = ACTIONS(1258), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1260), + [anon_sym___declspec] = ACTIONS(1258), + [anon_sym___cdecl] = ACTIONS(1258), + [anon_sym___clrcall] = ACTIONS(1258), + [anon_sym___stdcall] = ACTIONS(1258), + [anon_sym___fastcall] = ACTIONS(1258), + [anon_sym___thiscall] = ACTIONS(1258), + [anon_sym___vectorcall] = ACTIONS(1258), + [anon_sym_LBRACE] = ACTIONS(1260), + [anon_sym_signed] = ACTIONS(1258), + [anon_sym_unsigned] = ACTIONS(1258), + [anon_sym_long] = ACTIONS(1258), + [anon_sym_short] = ACTIONS(1258), + [anon_sym_static] = ACTIONS(1258), + [anon_sym_auto] = ACTIONS(1258), + [anon_sym_register] = ACTIONS(1258), + [anon_sym_inline] = ACTIONS(1258), + [anon_sym___inline] = ACTIONS(1258), + [anon_sym___inline__] = ACTIONS(1258), + [anon_sym___forceinline] = ACTIONS(1258), + [anon_sym_thread_local] = ACTIONS(1258), + [anon_sym___thread] = ACTIONS(1258), + [anon_sym_const] = ACTIONS(1258), + [anon_sym_constexpr] = ACTIONS(1258), + [anon_sym_volatile] = ACTIONS(1258), + [anon_sym_restrict] = ACTIONS(1258), + [anon_sym___restrict__] = ACTIONS(1258), + [anon_sym__Atomic] = ACTIONS(1258), + [anon_sym__Noreturn] = ACTIONS(1258), + [anon_sym_noreturn] = ACTIONS(1258), + [anon_sym__Nonnull] = ACTIONS(1258), + [anon_sym_alignas] = ACTIONS(1258), + [anon_sym__Alignas] = ACTIONS(1258), + [sym_primitive_type] = ACTIONS(1258), + [anon_sym_enum] = ACTIONS(1258), + [anon_sym_struct] = ACTIONS(1258), + [anon_sym_union] = ACTIONS(1258), + [anon_sym_if] = ACTIONS(1258), + [anon_sym_else] = ACTIONS(1258), + [anon_sym_switch] = ACTIONS(1258), + [anon_sym_case] = ACTIONS(1258), + [anon_sym_default] = ACTIONS(1258), + [anon_sym_while] = ACTIONS(1258), + [anon_sym_do] = ACTIONS(1258), + [anon_sym_for] = ACTIONS(1258), + [anon_sym_return] = ACTIONS(1258), + [anon_sym_break] = ACTIONS(1258), + [anon_sym_continue] = ACTIONS(1258), + [anon_sym_goto] = ACTIONS(1258), + [anon_sym___try] = ACTIONS(1258), + [anon_sym___leave] = ACTIONS(1258), + [anon_sym_DASH_DASH] = ACTIONS(1260), + [anon_sym_PLUS_PLUS] = ACTIONS(1260), + [anon_sym_sizeof] = ACTIONS(1258), + [anon_sym___alignof__] = ACTIONS(1258), + [anon_sym___alignof] = ACTIONS(1258), + [anon_sym__alignof] = ACTIONS(1258), + [anon_sym_alignof] = ACTIONS(1258), + [anon_sym__Alignof] = ACTIONS(1258), + [anon_sym_offsetof] = ACTIONS(1258), + [anon_sym__Generic] = ACTIONS(1258), + [anon_sym_asm] = ACTIONS(1258), + [anon_sym___asm__] = ACTIONS(1258), + [anon_sym___asm] = ACTIONS(1258), + [sym_number_literal] = ACTIONS(1260), + [anon_sym_L_SQUOTE] = ACTIONS(1260), + [anon_sym_u_SQUOTE] = ACTIONS(1260), + [anon_sym_U_SQUOTE] = ACTIONS(1260), + [anon_sym_u8_SQUOTE] = ACTIONS(1260), + [anon_sym_SQUOTE] = ACTIONS(1260), + [anon_sym_L_DQUOTE] = ACTIONS(1260), + [anon_sym_u_DQUOTE] = ACTIONS(1260), + [anon_sym_U_DQUOTE] = ACTIONS(1260), + [anon_sym_u8_DQUOTE] = ACTIONS(1260), + [anon_sym_DQUOTE] = ACTIONS(1260), + [sym_true] = ACTIONS(1258), + [sym_false] = ACTIONS(1258), + [anon_sym_NULL] = ACTIONS(1258), + [anon_sym_nullptr] = ACTIONS(1258), + [sym_comment] = ACTIONS(3), + }, + [169] = { + [ts_builtin_sym_end] = ACTIONS(1228), + [sym_identifier] = ACTIONS(1226), + [aux_sym_preproc_include_token1] = ACTIONS(1226), + [aux_sym_preproc_def_token1] = ACTIONS(1226), + [aux_sym_preproc_if_token1] = ACTIONS(1226), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1226), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1226), + [sym_preproc_directive] = ACTIONS(1226), + [anon_sym_LPAREN2] = ACTIONS(1228), + [anon_sym_BANG] = ACTIONS(1228), + [anon_sym_TILDE] = ACTIONS(1228), + [anon_sym_DASH] = ACTIONS(1226), + [anon_sym_PLUS] = ACTIONS(1226), + [anon_sym_STAR] = ACTIONS(1228), + [anon_sym_AMP] = ACTIONS(1228), + [anon_sym_SEMI] = ACTIONS(1228), + [anon_sym___extension__] = ACTIONS(1226), + [anon_sym_typedef] = ACTIONS(1226), + [anon_sym_extern] = ACTIONS(1226), + [anon_sym___attribute__] = ACTIONS(1226), + [anon_sym___attribute] = ACTIONS(1226), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1228), + [anon_sym___declspec] = ACTIONS(1226), + [anon_sym___cdecl] = ACTIONS(1226), + [anon_sym___clrcall] = ACTIONS(1226), + [anon_sym___stdcall] = ACTIONS(1226), + [anon_sym___fastcall] = ACTIONS(1226), + [anon_sym___thiscall] = ACTIONS(1226), + [anon_sym___vectorcall] = ACTIONS(1226), + [anon_sym_LBRACE] = ACTIONS(1228), + [anon_sym_signed] = ACTIONS(1226), + [anon_sym_unsigned] = ACTIONS(1226), + [anon_sym_long] = ACTIONS(1226), + [anon_sym_short] = ACTIONS(1226), + [anon_sym_static] = ACTIONS(1226), + [anon_sym_auto] = ACTIONS(1226), + [anon_sym_register] = ACTIONS(1226), + [anon_sym_inline] = ACTIONS(1226), + [anon_sym___inline] = ACTIONS(1226), + [anon_sym___inline__] = ACTIONS(1226), + [anon_sym___forceinline] = ACTIONS(1226), + [anon_sym_thread_local] = ACTIONS(1226), + [anon_sym___thread] = ACTIONS(1226), + [anon_sym_const] = ACTIONS(1226), + [anon_sym_constexpr] = ACTIONS(1226), + [anon_sym_volatile] = ACTIONS(1226), + [anon_sym_restrict] = ACTIONS(1226), + [anon_sym___restrict__] = ACTIONS(1226), + [anon_sym__Atomic] = ACTIONS(1226), + [anon_sym__Noreturn] = ACTIONS(1226), + [anon_sym_noreturn] = ACTIONS(1226), + [anon_sym__Nonnull] = ACTIONS(1226), + [anon_sym_alignas] = ACTIONS(1226), + [anon_sym__Alignas] = ACTIONS(1226), + [sym_primitive_type] = ACTIONS(1226), + [anon_sym_enum] = ACTIONS(1226), + [anon_sym_struct] = ACTIONS(1226), + [anon_sym_union] = ACTIONS(1226), + [anon_sym_if] = ACTIONS(1226), + [anon_sym_else] = ACTIONS(1226), + [anon_sym_switch] = ACTIONS(1226), + [anon_sym_case] = ACTIONS(1226), + [anon_sym_default] = ACTIONS(1226), + [anon_sym_while] = ACTIONS(1226), + [anon_sym_do] = ACTIONS(1226), + [anon_sym_for] = ACTIONS(1226), + [anon_sym_return] = ACTIONS(1226), + [anon_sym_break] = ACTIONS(1226), + [anon_sym_continue] = ACTIONS(1226), + [anon_sym_goto] = ACTIONS(1226), + [anon_sym___try] = ACTIONS(1226), + [anon_sym___leave] = ACTIONS(1226), + [anon_sym_DASH_DASH] = ACTIONS(1228), + [anon_sym_PLUS_PLUS] = ACTIONS(1228), + [anon_sym_sizeof] = ACTIONS(1226), + [anon_sym___alignof__] = ACTIONS(1226), + [anon_sym___alignof] = ACTIONS(1226), + [anon_sym__alignof] = ACTIONS(1226), + [anon_sym_alignof] = ACTIONS(1226), + [anon_sym__Alignof] = ACTIONS(1226), + [anon_sym_offsetof] = ACTIONS(1226), + [anon_sym__Generic] = ACTIONS(1226), + [anon_sym_asm] = ACTIONS(1226), + [anon_sym___asm__] = ACTIONS(1226), + [anon_sym___asm] = ACTIONS(1226), + [sym_number_literal] = ACTIONS(1228), + [anon_sym_L_SQUOTE] = ACTIONS(1228), + [anon_sym_u_SQUOTE] = ACTIONS(1228), + [anon_sym_U_SQUOTE] = ACTIONS(1228), + [anon_sym_u8_SQUOTE] = ACTIONS(1228), + [anon_sym_SQUOTE] = ACTIONS(1228), + [anon_sym_L_DQUOTE] = ACTIONS(1228), + [anon_sym_u_DQUOTE] = ACTIONS(1228), + [anon_sym_U_DQUOTE] = ACTIONS(1228), + [anon_sym_u8_DQUOTE] = ACTIONS(1228), + [anon_sym_DQUOTE] = ACTIONS(1228), + [sym_true] = ACTIONS(1226), + [sym_false] = ACTIONS(1226), + [anon_sym_NULL] = ACTIONS(1226), + [anon_sym_nullptr] = ACTIONS(1226), + [sym_comment] = ACTIONS(3), + }, + [170] = { + [sym_identifier] = ACTIONS(1218), + [aux_sym_preproc_include_token1] = ACTIONS(1218), + [aux_sym_preproc_def_token1] = ACTIONS(1218), + [aux_sym_preproc_if_token1] = ACTIONS(1218), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1218), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1218), + [sym_preproc_directive] = ACTIONS(1218), + [anon_sym_LPAREN2] = ACTIONS(1220), + [anon_sym_BANG] = ACTIONS(1220), + [anon_sym_TILDE] = ACTIONS(1220), + [anon_sym_DASH] = ACTIONS(1218), + [anon_sym_PLUS] = ACTIONS(1218), + [anon_sym_STAR] = ACTIONS(1220), + [anon_sym_AMP] = ACTIONS(1220), + [anon_sym_SEMI] = ACTIONS(1220), + [anon_sym___extension__] = ACTIONS(1218), + [anon_sym_typedef] = ACTIONS(1218), + [anon_sym_extern] = ACTIONS(1218), + [anon_sym___attribute__] = ACTIONS(1218), + [anon_sym___attribute] = ACTIONS(1218), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1220), + [anon_sym___declspec] = ACTIONS(1218), + [anon_sym___cdecl] = ACTIONS(1218), + [anon_sym___clrcall] = ACTIONS(1218), + [anon_sym___stdcall] = ACTIONS(1218), + [anon_sym___fastcall] = ACTIONS(1218), + [anon_sym___thiscall] = ACTIONS(1218), + [anon_sym___vectorcall] = ACTIONS(1218), + [anon_sym_LBRACE] = ACTIONS(1220), + [anon_sym_RBRACE] = ACTIONS(1220), + [anon_sym_signed] = ACTIONS(1218), + [anon_sym_unsigned] = ACTIONS(1218), + [anon_sym_long] = ACTIONS(1218), + [anon_sym_short] = ACTIONS(1218), + [anon_sym_static] = ACTIONS(1218), + [anon_sym_auto] = ACTIONS(1218), + [anon_sym_register] = ACTIONS(1218), + [anon_sym_inline] = ACTIONS(1218), + [anon_sym___inline] = ACTIONS(1218), + [anon_sym___inline__] = ACTIONS(1218), + [anon_sym___forceinline] = ACTIONS(1218), + [anon_sym_thread_local] = ACTIONS(1218), + [anon_sym___thread] = ACTIONS(1218), + [anon_sym_const] = ACTIONS(1218), + [anon_sym_constexpr] = ACTIONS(1218), + [anon_sym_volatile] = ACTIONS(1218), + [anon_sym_restrict] = ACTIONS(1218), + [anon_sym___restrict__] = ACTIONS(1218), + [anon_sym__Atomic] = ACTIONS(1218), + [anon_sym__Noreturn] = ACTIONS(1218), + [anon_sym_noreturn] = ACTIONS(1218), + [anon_sym__Nonnull] = ACTIONS(1218), + [anon_sym_alignas] = ACTIONS(1218), + [anon_sym__Alignas] = ACTIONS(1218), + [sym_primitive_type] = ACTIONS(1218), + [anon_sym_enum] = ACTIONS(1218), + [anon_sym_struct] = ACTIONS(1218), + [anon_sym_union] = ACTIONS(1218), + [anon_sym_if] = ACTIONS(1218), + [anon_sym_else] = ACTIONS(1218), + [anon_sym_switch] = ACTIONS(1218), + [anon_sym_case] = ACTIONS(1218), + [anon_sym_default] = ACTIONS(1218), + [anon_sym_while] = ACTIONS(1218), + [anon_sym_do] = ACTIONS(1218), + [anon_sym_for] = ACTIONS(1218), + [anon_sym_return] = ACTIONS(1218), + [anon_sym_break] = ACTIONS(1218), + [anon_sym_continue] = ACTIONS(1218), + [anon_sym_goto] = ACTIONS(1218), + [anon_sym___try] = ACTIONS(1218), + [anon_sym___leave] = ACTIONS(1218), + [anon_sym_DASH_DASH] = ACTIONS(1220), + [anon_sym_PLUS_PLUS] = ACTIONS(1220), + [anon_sym_sizeof] = ACTIONS(1218), + [anon_sym___alignof__] = ACTIONS(1218), + [anon_sym___alignof] = ACTIONS(1218), + [anon_sym__alignof] = ACTIONS(1218), + [anon_sym_alignof] = ACTIONS(1218), + [anon_sym__Alignof] = ACTIONS(1218), + [anon_sym_offsetof] = ACTIONS(1218), + [anon_sym__Generic] = ACTIONS(1218), + [anon_sym_asm] = ACTIONS(1218), + [anon_sym___asm__] = ACTIONS(1218), + [anon_sym___asm] = ACTIONS(1218), + [sym_number_literal] = ACTIONS(1220), + [anon_sym_L_SQUOTE] = ACTIONS(1220), + [anon_sym_u_SQUOTE] = ACTIONS(1220), + [anon_sym_U_SQUOTE] = ACTIONS(1220), + [anon_sym_u8_SQUOTE] = ACTIONS(1220), + [anon_sym_SQUOTE] = ACTIONS(1220), + [anon_sym_L_DQUOTE] = ACTIONS(1220), + [anon_sym_u_DQUOTE] = ACTIONS(1220), + [anon_sym_U_DQUOTE] = ACTIONS(1220), + [anon_sym_u8_DQUOTE] = ACTIONS(1220), + [anon_sym_DQUOTE] = ACTIONS(1220), + [sym_true] = ACTIONS(1218), + [sym_false] = ACTIONS(1218), + [anon_sym_NULL] = ACTIONS(1218), + [anon_sym_nullptr] = ACTIONS(1218), + [sym_comment] = ACTIONS(3), + }, + [171] = { + [ts_builtin_sym_end] = ACTIONS(1204), + [sym_identifier] = ACTIONS(1202), + [aux_sym_preproc_include_token1] = ACTIONS(1202), + [aux_sym_preproc_def_token1] = ACTIONS(1202), + [aux_sym_preproc_if_token1] = ACTIONS(1202), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1202), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1202), + [sym_preproc_directive] = ACTIONS(1202), + [anon_sym_LPAREN2] = ACTIONS(1204), + [anon_sym_BANG] = ACTIONS(1204), + [anon_sym_TILDE] = ACTIONS(1204), + [anon_sym_DASH] = ACTIONS(1202), + [anon_sym_PLUS] = ACTIONS(1202), + [anon_sym_STAR] = ACTIONS(1204), + [anon_sym_AMP] = ACTIONS(1204), + [anon_sym_SEMI] = ACTIONS(1204), + [anon_sym___extension__] = ACTIONS(1202), + [anon_sym_typedef] = ACTIONS(1202), + [anon_sym_extern] = ACTIONS(1202), + [anon_sym___attribute__] = ACTIONS(1202), + [anon_sym___attribute] = ACTIONS(1202), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1204), + [anon_sym___declspec] = ACTIONS(1202), + [anon_sym___cdecl] = ACTIONS(1202), + [anon_sym___clrcall] = ACTIONS(1202), + [anon_sym___stdcall] = ACTIONS(1202), + [anon_sym___fastcall] = ACTIONS(1202), + [anon_sym___thiscall] = ACTIONS(1202), + [anon_sym___vectorcall] = ACTIONS(1202), + [anon_sym_LBRACE] = ACTIONS(1204), + [anon_sym_signed] = ACTIONS(1202), + [anon_sym_unsigned] = ACTIONS(1202), + [anon_sym_long] = ACTIONS(1202), + [anon_sym_short] = ACTIONS(1202), + [anon_sym_static] = ACTIONS(1202), + [anon_sym_auto] = ACTIONS(1202), + [anon_sym_register] = ACTIONS(1202), + [anon_sym_inline] = ACTIONS(1202), + [anon_sym___inline] = ACTIONS(1202), + [anon_sym___inline__] = ACTIONS(1202), + [anon_sym___forceinline] = ACTIONS(1202), + [anon_sym_thread_local] = ACTIONS(1202), + [anon_sym___thread] = ACTIONS(1202), + [anon_sym_const] = ACTIONS(1202), + [anon_sym_constexpr] = ACTIONS(1202), + [anon_sym_volatile] = ACTIONS(1202), + [anon_sym_restrict] = ACTIONS(1202), + [anon_sym___restrict__] = ACTIONS(1202), + [anon_sym__Atomic] = ACTIONS(1202), + [anon_sym__Noreturn] = ACTIONS(1202), + [anon_sym_noreturn] = ACTIONS(1202), + [anon_sym__Nonnull] = ACTIONS(1202), + [anon_sym_alignas] = ACTIONS(1202), + [anon_sym__Alignas] = ACTIONS(1202), + [sym_primitive_type] = ACTIONS(1202), + [anon_sym_enum] = ACTIONS(1202), + [anon_sym_struct] = ACTIONS(1202), + [anon_sym_union] = ACTIONS(1202), + [anon_sym_if] = ACTIONS(1202), + [anon_sym_else] = ACTIONS(1202), + [anon_sym_switch] = ACTIONS(1202), + [anon_sym_case] = ACTIONS(1202), + [anon_sym_default] = ACTIONS(1202), + [anon_sym_while] = ACTIONS(1202), + [anon_sym_do] = ACTIONS(1202), + [anon_sym_for] = ACTIONS(1202), + [anon_sym_return] = ACTIONS(1202), + [anon_sym_break] = ACTIONS(1202), + [anon_sym_continue] = ACTIONS(1202), + [anon_sym_goto] = ACTIONS(1202), + [anon_sym___try] = ACTIONS(1202), + [anon_sym___leave] = ACTIONS(1202), + [anon_sym_DASH_DASH] = ACTIONS(1204), + [anon_sym_PLUS_PLUS] = ACTIONS(1204), + [anon_sym_sizeof] = ACTIONS(1202), + [anon_sym___alignof__] = ACTIONS(1202), + [anon_sym___alignof] = ACTIONS(1202), + [anon_sym__alignof] = ACTIONS(1202), + [anon_sym_alignof] = ACTIONS(1202), + [anon_sym__Alignof] = ACTIONS(1202), + [anon_sym_offsetof] = ACTIONS(1202), + [anon_sym__Generic] = ACTIONS(1202), + [anon_sym_asm] = ACTIONS(1202), + [anon_sym___asm__] = ACTIONS(1202), + [anon_sym___asm] = ACTIONS(1202), + [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(1202), + [sym_false] = ACTIONS(1202), + [anon_sym_NULL] = ACTIONS(1202), + [anon_sym_nullptr] = ACTIONS(1202), + [sym_comment] = ACTIONS(3), + }, + [172] = { + [ts_builtin_sym_end] = ACTIONS(1188), + [sym_identifier] = ACTIONS(1186), + [aux_sym_preproc_include_token1] = ACTIONS(1186), + [aux_sym_preproc_def_token1] = ACTIONS(1186), + [aux_sym_preproc_if_token1] = ACTIONS(1186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1186), + [sym_preproc_directive] = ACTIONS(1186), + [anon_sym_LPAREN2] = ACTIONS(1188), + [anon_sym_BANG] = ACTIONS(1188), + [anon_sym_TILDE] = ACTIONS(1188), + [anon_sym_DASH] = ACTIONS(1186), + [anon_sym_PLUS] = ACTIONS(1186), + [anon_sym_STAR] = ACTIONS(1188), + [anon_sym_AMP] = ACTIONS(1188), + [anon_sym_SEMI] = ACTIONS(1188), + [anon_sym___extension__] = ACTIONS(1186), + [anon_sym_typedef] = ACTIONS(1186), + [anon_sym_extern] = ACTIONS(1186), + [anon_sym___attribute__] = ACTIONS(1186), + [anon_sym___attribute] = ACTIONS(1186), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1188), + [anon_sym___declspec] = ACTIONS(1186), + [anon_sym___cdecl] = ACTIONS(1186), + [anon_sym___clrcall] = ACTIONS(1186), + [anon_sym___stdcall] = ACTIONS(1186), + [anon_sym___fastcall] = ACTIONS(1186), + [anon_sym___thiscall] = ACTIONS(1186), + [anon_sym___vectorcall] = ACTIONS(1186), + [anon_sym_LBRACE] = ACTIONS(1188), + [anon_sym_signed] = ACTIONS(1186), + [anon_sym_unsigned] = ACTIONS(1186), + [anon_sym_long] = ACTIONS(1186), + [anon_sym_short] = ACTIONS(1186), + [anon_sym_static] = ACTIONS(1186), + [anon_sym_auto] = ACTIONS(1186), + [anon_sym_register] = ACTIONS(1186), + [anon_sym_inline] = ACTIONS(1186), + [anon_sym___inline] = ACTIONS(1186), + [anon_sym___inline__] = ACTIONS(1186), + [anon_sym___forceinline] = ACTIONS(1186), + [anon_sym_thread_local] = ACTIONS(1186), + [anon_sym___thread] = ACTIONS(1186), + [anon_sym_const] = ACTIONS(1186), + [anon_sym_constexpr] = ACTIONS(1186), + [anon_sym_volatile] = ACTIONS(1186), + [anon_sym_restrict] = ACTIONS(1186), + [anon_sym___restrict__] = ACTIONS(1186), + [anon_sym__Atomic] = ACTIONS(1186), + [anon_sym__Noreturn] = ACTIONS(1186), + [anon_sym_noreturn] = ACTIONS(1186), + [anon_sym__Nonnull] = ACTIONS(1186), + [anon_sym_alignas] = ACTIONS(1186), + [anon_sym__Alignas] = ACTIONS(1186), + [sym_primitive_type] = ACTIONS(1186), + [anon_sym_enum] = ACTIONS(1186), + [anon_sym_struct] = ACTIONS(1186), + [anon_sym_union] = ACTIONS(1186), + [anon_sym_if] = ACTIONS(1186), + [anon_sym_else] = ACTIONS(1186), + [anon_sym_switch] = ACTIONS(1186), + [anon_sym_case] = ACTIONS(1186), + [anon_sym_default] = ACTIONS(1186), + [anon_sym_while] = ACTIONS(1186), + [anon_sym_do] = ACTIONS(1186), + [anon_sym_for] = ACTIONS(1186), + [anon_sym_return] = ACTIONS(1186), + [anon_sym_break] = ACTIONS(1186), + [anon_sym_continue] = ACTIONS(1186), + [anon_sym_goto] = ACTIONS(1186), + [anon_sym___try] = ACTIONS(1186), + [anon_sym___leave] = ACTIONS(1186), + [anon_sym_DASH_DASH] = ACTIONS(1188), + [anon_sym_PLUS_PLUS] = ACTIONS(1188), + [anon_sym_sizeof] = ACTIONS(1186), + [anon_sym___alignof__] = ACTIONS(1186), + [anon_sym___alignof] = ACTIONS(1186), + [anon_sym__alignof] = ACTIONS(1186), + [anon_sym_alignof] = ACTIONS(1186), + [anon_sym__Alignof] = ACTIONS(1186), + [anon_sym_offsetof] = ACTIONS(1186), + [anon_sym__Generic] = ACTIONS(1186), + [anon_sym_asm] = ACTIONS(1186), + [anon_sym___asm__] = ACTIONS(1186), + [anon_sym___asm] = ACTIONS(1186), + [sym_number_literal] = ACTIONS(1188), + [anon_sym_L_SQUOTE] = ACTIONS(1188), + [anon_sym_u_SQUOTE] = ACTIONS(1188), + [anon_sym_U_SQUOTE] = ACTIONS(1188), + [anon_sym_u8_SQUOTE] = ACTIONS(1188), + [anon_sym_SQUOTE] = ACTIONS(1188), + [anon_sym_L_DQUOTE] = ACTIONS(1188), + [anon_sym_u_DQUOTE] = ACTIONS(1188), + [anon_sym_U_DQUOTE] = ACTIONS(1188), + [anon_sym_u8_DQUOTE] = ACTIONS(1188), + [anon_sym_DQUOTE] = ACTIONS(1188), + [sym_true] = ACTIONS(1186), + [sym_false] = ACTIONS(1186), + [anon_sym_NULL] = ACTIONS(1186), + [anon_sym_nullptr] = ACTIONS(1186), + [sym_comment] = ACTIONS(3), + }, + [173] = { + [sym_identifier] = ACTIONS(1254), + [aux_sym_preproc_include_token1] = ACTIONS(1254), + [aux_sym_preproc_def_token1] = ACTIONS(1254), + [aux_sym_preproc_if_token1] = ACTIONS(1254), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1254), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1254), + [sym_preproc_directive] = ACTIONS(1254), + [anon_sym_LPAREN2] = ACTIONS(1256), + [anon_sym_BANG] = ACTIONS(1256), + [anon_sym_TILDE] = ACTIONS(1256), + [anon_sym_DASH] = ACTIONS(1254), + [anon_sym_PLUS] = ACTIONS(1254), + [anon_sym_STAR] = ACTIONS(1256), + [anon_sym_AMP] = ACTIONS(1256), + [anon_sym_SEMI] = ACTIONS(1256), + [anon_sym___extension__] = ACTIONS(1254), + [anon_sym_typedef] = ACTIONS(1254), + [anon_sym_extern] = ACTIONS(1254), + [anon_sym___attribute__] = ACTIONS(1254), + [anon_sym___attribute] = ACTIONS(1254), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1256), + [anon_sym___declspec] = ACTIONS(1254), + [anon_sym___cdecl] = ACTIONS(1254), + [anon_sym___clrcall] = ACTIONS(1254), + [anon_sym___stdcall] = ACTIONS(1254), + [anon_sym___fastcall] = ACTIONS(1254), + [anon_sym___thiscall] = ACTIONS(1254), + [anon_sym___vectorcall] = ACTIONS(1254), + [anon_sym_LBRACE] = ACTIONS(1256), + [anon_sym_RBRACE] = ACTIONS(1256), + [anon_sym_signed] = ACTIONS(1254), + [anon_sym_unsigned] = ACTIONS(1254), + [anon_sym_long] = ACTIONS(1254), + [anon_sym_short] = ACTIONS(1254), + [anon_sym_static] = ACTIONS(1254), + [anon_sym_auto] = ACTIONS(1254), + [anon_sym_register] = ACTIONS(1254), + [anon_sym_inline] = ACTIONS(1254), + [anon_sym___inline] = ACTIONS(1254), + [anon_sym___inline__] = ACTIONS(1254), + [anon_sym___forceinline] = ACTIONS(1254), + [anon_sym_thread_local] = ACTIONS(1254), + [anon_sym___thread] = ACTIONS(1254), + [anon_sym_const] = ACTIONS(1254), + [anon_sym_constexpr] = ACTIONS(1254), + [anon_sym_volatile] = ACTIONS(1254), + [anon_sym_restrict] = ACTIONS(1254), + [anon_sym___restrict__] = ACTIONS(1254), + [anon_sym__Atomic] = ACTIONS(1254), + [anon_sym__Noreturn] = ACTIONS(1254), + [anon_sym_noreturn] = ACTIONS(1254), + [anon_sym__Nonnull] = ACTIONS(1254), + [anon_sym_alignas] = ACTIONS(1254), + [anon_sym__Alignas] = ACTIONS(1254), + [sym_primitive_type] = ACTIONS(1254), + [anon_sym_enum] = ACTIONS(1254), + [anon_sym_struct] = ACTIONS(1254), + [anon_sym_union] = ACTIONS(1254), + [anon_sym_if] = ACTIONS(1254), + [anon_sym_else] = ACTIONS(1254), + [anon_sym_switch] = ACTIONS(1254), + [anon_sym_case] = ACTIONS(1254), + [anon_sym_default] = ACTIONS(1254), + [anon_sym_while] = ACTIONS(1254), + [anon_sym_do] = ACTIONS(1254), + [anon_sym_for] = ACTIONS(1254), + [anon_sym_return] = ACTIONS(1254), + [anon_sym_break] = ACTIONS(1254), + [anon_sym_continue] = ACTIONS(1254), + [anon_sym_goto] = ACTIONS(1254), + [anon_sym___try] = ACTIONS(1254), + [anon_sym___leave] = ACTIONS(1254), + [anon_sym_DASH_DASH] = ACTIONS(1256), + [anon_sym_PLUS_PLUS] = ACTIONS(1256), + [anon_sym_sizeof] = ACTIONS(1254), + [anon_sym___alignof__] = ACTIONS(1254), + [anon_sym___alignof] = ACTIONS(1254), + [anon_sym__alignof] = ACTIONS(1254), + [anon_sym_alignof] = ACTIONS(1254), + [anon_sym__Alignof] = ACTIONS(1254), + [anon_sym_offsetof] = ACTIONS(1254), + [anon_sym__Generic] = ACTIONS(1254), + [anon_sym_asm] = ACTIONS(1254), + [anon_sym___asm__] = ACTIONS(1254), + [anon_sym___asm] = ACTIONS(1254), + [sym_number_literal] = ACTIONS(1256), + [anon_sym_L_SQUOTE] = ACTIONS(1256), + [anon_sym_u_SQUOTE] = ACTIONS(1256), + [anon_sym_U_SQUOTE] = ACTIONS(1256), + [anon_sym_u8_SQUOTE] = ACTIONS(1256), + [anon_sym_SQUOTE] = ACTIONS(1256), + [anon_sym_L_DQUOTE] = ACTIONS(1256), + [anon_sym_u_DQUOTE] = ACTIONS(1256), + [anon_sym_U_DQUOTE] = ACTIONS(1256), + [anon_sym_u8_DQUOTE] = ACTIONS(1256), + [anon_sym_DQUOTE] = ACTIONS(1256), + [sym_true] = ACTIONS(1254), + [sym_false] = ACTIONS(1254), + [anon_sym_NULL] = ACTIONS(1254), + [anon_sym_nullptr] = ACTIONS(1254), + [sym_comment] = ACTIONS(3), + }, + [174] = { + [ts_builtin_sym_end] = ACTIONS(1208), + [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(1208), + [anon_sym_BANG] = ACTIONS(1208), + [anon_sym_TILDE] = ACTIONS(1208), + [anon_sym_DASH] = ACTIONS(1206), + [anon_sym_PLUS] = ACTIONS(1206), + [anon_sym_STAR] = ACTIONS(1208), + [anon_sym_AMP] = ACTIONS(1208), + [anon_sym_SEMI] = ACTIONS(1208), + [anon_sym___extension__] = ACTIONS(1206), + [anon_sym_typedef] = ACTIONS(1206), + [anon_sym_extern] = ACTIONS(1206), + [anon_sym___attribute__] = ACTIONS(1206), + [anon_sym___attribute] = ACTIONS(1206), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1208), + [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(1208), + [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__Nonnull] = 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(1208), + [anon_sym_PLUS_PLUS] = ACTIONS(1208), + [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), + [anon_sym___asm] = ACTIONS(1206), + [sym_number_literal] = ACTIONS(1208), + [anon_sym_L_SQUOTE] = ACTIONS(1208), + [anon_sym_u_SQUOTE] = ACTIONS(1208), + [anon_sym_U_SQUOTE] = ACTIONS(1208), + [anon_sym_u8_SQUOTE] = ACTIONS(1208), + [anon_sym_SQUOTE] = ACTIONS(1208), + [anon_sym_L_DQUOTE] = ACTIONS(1208), + [anon_sym_u_DQUOTE] = ACTIONS(1208), + [anon_sym_U_DQUOTE] = ACTIONS(1208), + [anon_sym_u8_DQUOTE] = ACTIONS(1208), + [anon_sym_DQUOTE] = ACTIONS(1208), + [sym_true] = ACTIONS(1206), + [sym_false] = ACTIONS(1206), + [anon_sym_NULL] = ACTIONS(1206), + [anon_sym_nullptr] = ACTIONS(1206), + [sym_comment] = ACTIONS(3), + }, + [175] = { + [sym_identifier] = ACTIONS(1258), + [aux_sym_preproc_include_token1] = ACTIONS(1258), + [aux_sym_preproc_def_token1] = ACTIONS(1258), + [aux_sym_preproc_if_token1] = ACTIONS(1258), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1258), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1258), + [sym_preproc_directive] = ACTIONS(1258), + [anon_sym_LPAREN2] = ACTIONS(1260), + [anon_sym_BANG] = ACTIONS(1260), + [anon_sym_TILDE] = ACTIONS(1260), + [anon_sym_DASH] = ACTIONS(1258), + [anon_sym_PLUS] = ACTIONS(1258), + [anon_sym_STAR] = ACTIONS(1260), + [anon_sym_AMP] = ACTIONS(1260), + [anon_sym_SEMI] = ACTIONS(1260), + [anon_sym___extension__] = ACTIONS(1258), + [anon_sym_typedef] = ACTIONS(1258), + [anon_sym_extern] = ACTIONS(1258), + [anon_sym___attribute__] = ACTIONS(1258), + [anon_sym___attribute] = ACTIONS(1258), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1260), + [anon_sym___declspec] = ACTIONS(1258), + [anon_sym___cdecl] = ACTIONS(1258), + [anon_sym___clrcall] = ACTIONS(1258), + [anon_sym___stdcall] = ACTIONS(1258), + [anon_sym___fastcall] = ACTIONS(1258), + [anon_sym___thiscall] = ACTIONS(1258), + [anon_sym___vectorcall] = ACTIONS(1258), + [anon_sym_LBRACE] = ACTIONS(1260), + [anon_sym_RBRACE] = ACTIONS(1260), + [anon_sym_signed] = ACTIONS(1258), + [anon_sym_unsigned] = ACTIONS(1258), + [anon_sym_long] = ACTIONS(1258), + [anon_sym_short] = ACTIONS(1258), + [anon_sym_static] = ACTIONS(1258), + [anon_sym_auto] = ACTIONS(1258), + [anon_sym_register] = ACTIONS(1258), + [anon_sym_inline] = ACTIONS(1258), + [anon_sym___inline] = ACTIONS(1258), + [anon_sym___inline__] = ACTIONS(1258), + [anon_sym___forceinline] = ACTIONS(1258), + [anon_sym_thread_local] = ACTIONS(1258), + [anon_sym___thread] = ACTIONS(1258), + [anon_sym_const] = ACTIONS(1258), + [anon_sym_constexpr] = ACTIONS(1258), + [anon_sym_volatile] = ACTIONS(1258), + [anon_sym_restrict] = ACTIONS(1258), + [anon_sym___restrict__] = ACTIONS(1258), + [anon_sym__Atomic] = ACTIONS(1258), + [anon_sym__Noreturn] = ACTIONS(1258), + [anon_sym_noreturn] = ACTIONS(1258), + [anon_sym__Nonnull] = ACTIONS(1258), + [anon_sym_alignas] = ACTIONS(1258), + [anon_sym__Alignas] = ACTIONS(1258), + [sym_primitive_type] = ACTIONS(1258), + [anon_sym_enum] = ACTIONS(1258), + [anon_sym_struct] = ACTIONS(1258), + [anon_sym_union] = ACTIONS(1258), + [anon_sym_if] = ACTIONS(1258), + [anon_sym_else] = ACTIONS(1258), + [anon_sym_switch] = ACTIONS(1258), + [anon_sym_case] = ACTIONS(1258), + [anon_sym_default] = ACTIONS(1258), + [anon_sym_while] = ACTIONS(1258), + [anon_sym_do] = ACTIONS(1258), + [anon_sym_for] = ACTIONS(1258), + [anon_sym_return] = ACTIONS(1258), + [anon_sym_break] = ACTIONS(1258), + [anon_sym_continue] = ACTIONS(1258), + [anon_sym_goto] = ACTIONS(1258), + [anon_sym___try] = ACTIONS(1258), + [anon_sym___leave] = ACTIONS(1258), + [anon_sym_DASH_DASH] = ACTIONS(1260), + [anon_sym_PLUS_PLUS] = ACTIONS(1260), + [anon_sym_sizeof] = ACTIONS(1258), + [anon_sym___alignof__] = ACTIONS(1258), + [anon_sym___alignof] = ACTIONS(1258), + [anon_sym__alignof] = ACTIONS(1258), + [anon_sym_alignof] = ACTIONS(1258), + [anon_sym__Alignof] = ACTIONS(1258), + [anon_sym_offsetof] = ACTIONS(1258), + [anon_sym__Generic] = ACTIONS(1258), + [anon_sym_asm] = ACTIONS(1258), + [anon_sym___asm__] = ACTIONS(1258), + [anon_sym___asm] = ACTIONS(1258), + [sym_number_literal] = ACTIONS(1260), + [anon_sym_L_SQUOTE] = ACTIONS(1260), + [anon_sym_u_SQUOTE] = ACTIONS(1260), + [anon_sym_U_SQUOTE] = ACTIONS(1260), + [anon_sym_u8_SQUOTE] = ACTIONS(1260), + [anon_sym_SQUOTE] = ACTIONS(1260), + [anon_sym_L_DQUOTE] = ACTIONS(1260), + [anon_sym_u_DQUOTE] = ACTIONS(1260), + [anon_sym_U_DQUOTE] = ACTIONS(1260), + [anon_sym_u8_DQUOTE] = ACTIONS(1260), + [anon_sym_DQUOTE] = ACTIONS(1260), + [sym_true] = ACTIONS(1258), + [sym_false] = ACTIONS(1258), + [anon_sym_NULL] = ACTIONS(1258), + [anon_sym_nullptr] = ACTIONS(1258), + [sym_comment] = ACTIONS(3), + }, + [176] = { + [sym_identifier] = ACTIONS(1210), + [aux_sym_preproc_include_token1] = ACTIONS(1210), + [aux_sym_preproc_def_token1] = ACTIONS(1210), + [aux_sym_preproc_if_token1] = ACTIONS(1210), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1210), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1210), + [sym_preproc_directive] = ACTIONS(1210), + [anon_sym_LPAREN2] = ACTIONS(1212), + [anon_sym_BANG] = ACTIONS(1212), + [anon_sym_TILDE] = ACTIONS(1212), + [anon_sym_DASH] = ACTIONS(1210), + [anon_sym_PLUS] = ACTIONS(1210), + [anon_sym_STAR] = ACTIONS(1212), + [anon_sym_AMP] = ACTIONS(1212), + [anon_sym_SEMI] = ACTIONS(1212), + [anon_sym___extension__] = ACTIONS(1210), + [anon_sym_typedef] = ACTIONS(1210), + [anon_sym_extern] = ACTIONS(1210), + [anon_sym___attribute__] = ACTIONS(1210), + [anon_sym___attribute] = ACTIONS(1210), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1212), + [anon_sym___declspec] = ACTIONS(1210), + [anon_sym___cdecl] = ACTIONS(1210), + [anon_sym___clrcall] = ACTIONS(1210), + [anon_sym___stdcall] = ACTIONS(1210), + [anon_sym___fastcall] = ACTIONS(1210), + [anon_sym___thiscall] = ACTIONS(1210), + [anon_sym___vectorcall] = ACTIONS(1210), + [anon_sym_LBRACE] = ACTIONS(1212), + [anon_sym_RBRACE] = ACTIONS(1212), + [anon_sym_signed] = ACTIONS(1210), + [anon_sym_unsigned] = ACTIONS(1210), + [anon_sym_long] = ACTIONS(1210), + [anon_sym_short] = ACTIONS(1210), + [anon_sym_static] = ACTIONS(1210), + [anon_sym_auto] = ACTIONS(1210), + [anon_sym_register] = ACTIONS(1210), + [anon_sym_inline] = ACTIONS(1210), + [anon_sym___inline] = ACTIONS(1210), + [anon_sym___inline__] = ACTIONS(1210), + [anon_sym___forceinline] = ACTIONS(1210), + [anon_sym_thread_local] = ACTIONS(1210), + [anon_sym___thread] = ACTIONS(1210), + [anon_sym_const] = ACTIONS(1210), + [anon_sym_constexpr] = ACTIONS(1210), + [anon_sym_volatile] = ACTIONS(1210), + [anon_sym_restrict] = ACTIONS(1210), + [anon_sym___restrict__] = ACTIONS(1210), + [anon_sym__Atomic] = ACTIONS(1210), + [anon_sym__Noreturn] = ACTIONS(1210), + [anon_sym_noreturn] = ACTIONS(1210), + [anon_sym__Nonnull] = ACTIONS(1210), + [anon_sym_alignas] = ACTIONS(1210), + [anon_sym__Alignas] = ACTIONS(1210), + [sym_primitive_type] = ACTIONS(1210), + [anon_sym_enum] = ACTIONS(1210), + [anon_sym_struct] = ACTIONS(1210), + [anon_sym_union] = ACTIONS(1210), + [anon_sym_if] = ACTIONS(1210), + [anon_sym_else] = ACTIONS(1210), + [anon_sym_switch] = ACTIONS(1210), + [anon_sym_case] = ACTIONS(1210), + [anon_sym_default] = ACTIONS(1210), + [anon_sym_while] = ACTIONS(1210), + [anon_sym_do] = ACTIONS(1210), + [anon_sym_for] = ACTIONS(1210), + [anon_sym_return] = ACTIONS(1210), + [anon_sym_break] = ACTIONS(1210), + [anon_sym_continue] = ACTIONS(1210), + [anon_sym_goto] = ACTIONS(1210), + [anon_sym___try] = ACTIONS(1210), + [anon_sym___leave] = ACTIONS(1210), + [anon_sym_DASH_DASH] = ACTIONS(1212), + [anon_sym_PLUS_PLUS] = ACTIONS(1212), + [anon_sym_sizeof] = ACTIONS(1210), + [anon_sym___alignof__] = ACTIONS(1210), + [anon_sym___alignof] = ACTIONS(1210), + [anon_sym__alignof] = ACTIONS(1210), + [anon_sym_alignof] = ACTIONS(1210), + [anon_sym__Alignof] = ACTIONS(1210), + [anon_sym_offsetof] = ACTIONS(1210), + [anon_sym__Generic] = ACTIONS(1210), + [anon_sym_asm] = ACTIONS(1210), + [anon_sym___asm__] = ACTIONS(1210), + [anon_sym___asm] = ACTIONS(1210), + [sym_number_literal] = ACTIONS(1212), + [anon_sym_L_SQUOTE] = ACTIONS(1212), + [anon_sym_u_SQUOTE] = ACTIONS(1212), + [anon_sym_U_SQUOTE] = ACTIONS(1212), + [anon_sym_u8_SQUOTE] = ACTIONS(1212), + [anon_sym_SQUOTE] = ACTIONS(1212), + [anon_sym_L_DQUOTE] = ACTIONS(1212), + [anon_sym_u_DQUOTE] = ACTIONS(1212), + [anon_sym_U_DQUOTE] = ACTIONS(1212), + [anon_sym_u8_DQUOTE] = ACTIONS(1212), + [anon_sym_DQUOTE] = ACTIONS(1212), + [sym_true] = ACTIONS(1210), + [sym_false] = ACTIONS(1210), + [anon_sym_NULL] = ACTIONS(1210), + [anon_sym_nullptr] = ACTIONS(1210), + [sym_comment] = ACTIONS(3), + }, + [177] = { + [sym_identifier] = ACTIONS(1138), + [aux_sym_preproc_include_token1] = ACTIONS(1138), + [aux_sym_preproc_def_token1] = ACTIONS(1138), + [aux_sym_preproc_if_token1] = ACTIONS(1138), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1138), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1138), + [sym_preproc_directive] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(1140), + [anon_sym_BANG] = ACTIONS(1140), + [anon_sym_TILDE] = ACTIONS(1140), + [anon_sym_DASH] = ACTIONS(1138), + [anon_sym_PLUS] = ACTIONS(1138), + [anon_sym_STAR] = ACTIONS(1140), + [anon_sym_AMP] = ACTIONS(1140), + [anon_sym_SEMI] = ACTIONS(1140), + [anon_sym___extension__] = ACTIONS(1138), + [anon_sym_typedef] = ACTIONS(1138), + [anon_sym_extern] = ACTIONS(1138), + [anon_sym___attribute__] = ACTIONS(1138), + [anon_sym___attribute] = ACTIONS(1138), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1140), + [anon_sym___declspec] = ACTIONS(1138), + [anon_sym___cdecl] = ACTIONS(1138), + [anon_sym___clrcall] = ACTIONS(1138), + [anon_sym___stdcall] = ACTIONS(1138), + [anon_sym___fastcall] = ACTIONS(1138), + [anon_sym___thiscall] = ACTIONS(1138), + [anon_sym___vectorcall] = ACTIONS(1138), + [anon_sym_LBRACE] = ACTIONS(1140), + [anon_sym_RBRACE] = ACTIONS(1140), + [anon_sym_signed] = ACTIONS(1138), + [anon_sym_unsigned] = ACTIONS(1138), + [anon_sym_long] = ACTIONS(1138), + [anon_sym_short] = ACTIONS(1138), + [anon_sym_static] = ACTIONS(1138), + [anon_sym_auto] = ACTIONS(1138), + [anon_sym_register] = ACTIONS(1138), + [anon_sym_inline] = ACTIONS(1138), + [anon_sym___inline] = ACTIONS(1138), + [anon_sym___inline__] = ACTIONS(1138), + [anon_sym___forceinline] = ACTIONS(1138), + [anon_sym_thread_local] = ACTIONS(1138), + [anon_sym___thread] = ACTIONS(1138), + [anon_sym_const] = ACTIONS(1138), + [anon_sym_constexpr] = ACTIONS(1138), + [anon_sym_volatile] = ACTIONS(1138), + [anon_sym_restrict] = ACTIONS(1138), + [anon_sym___restrict__] = ACTIONS(1138), + [anon_sym__Atomic] = ACTIONS(1138), + [anon_sym__Noreturn] = ACTIONS(1138), + [anon_sym_noreturn] = ACTIONS(1138), + [anon_sym__Nonnull] = ACTIONS(1138), + [anon_sym_alignas] = ACTIONS(1138), + [anon_sym__Alignas] = ACTIONS(1138), + [sym_primitive_type] = ACTIONS(1138), + [anon_sym_enum] = ACTIONS(1138), + [anon_sym_struct] = ACTIONS(1138), + [anon_sym_union] = ACTIONS(1138), + [anon_sym_if] = ACTIONS(1138), + [anon_sym_else] = ACTIONS(1138), + [anon_sym_switch] = ACTIONS(1138), + [anon_sym_case] = ACTIONS(1138), + [anon_sym_default] = ACTIONS(1138), + [anon_sym_while] = ACTIONS(1138), + [anon_sym_do] = ACTIONS(1138), + [anon_sym_for] = ACTIONS(1138), + [anon_sym_return] = ACTIONS(1138), + [anon_sym_break] = ACTIONS(1138), + [anon_sym_continue] = ACTIONS(1138), + [anon_sym_goto] = ACTIONS(1138), + [anon_sym___try] = ACTIONS(1138), + [anon_sym___leave] = ACTIONS(1138), + [anon_sym_DASH_DASH] = ACTIONS(1140), + [anon_sym_PLUS_PLUS] = ACTIONS(1140), + [anon_sym_sizeof] = ACTIONS(1138), + [anon_sym___alignof__] = ACTIONS(1138), + [anon_sym___alignof] = ACTIONS(1138), + [anon_sym__alignof] = ACTIONS(1138), + [anon_sym_alignof] = ACTIONS(1138), + [anon_sym__Alignof] = ACTIONS(1138), + [anon_sym_offsetof] = ACTIONS(1138), + [anon_sym__Generic] = ACTIONS(1138), + [anon_sym_asm] = ACTIONS(1138), + [anon_sym___asm__] = ACTIONS(1138), + [anon_sym___asm] = ACTIONS(1138), + [sym_number_literal] = ACTIONS(1140), + [anon_sym_L_SQUOTE] = ACTIONS(1140), + [anon_sym_u_SQUOTE] = ACTIONS(1140), + [anon_sym_U_SQUOTE] = ACTIONS(1140), + [anon_sym_u8_SQUOTE] = ACTIONS(1140), + [anon_sym_SQUOTE] = ACTIONS(1140), + [anon_sym_L_DQUOTE] = ACTIONS(1140), + [anon_sym_u_DQUOTE] = ACTIONS(1140), + [anon_sym_U_DQUOTE] = ACTIONS(1140), + [anon_sym_u8_DQUOTE] = ACTIONS(1140), + [anon_sym_DQUOTE] = ACTIONS(1140), + [sym_true] = ACTIONS(1138), + [sym_false] = ACTIONS(1138), + [anon_sym_NULL] = ACTIONS(1138), + [anon_sym_nullptr] = ACTIONS(1138), + [sym_comment] = ACTIONS(3), + }, + [178] = { + [sym_identifier] = ACTIONS(1222), + [aux_sym_preproc_include_token1] = ACTIONS(1222), + [aux_sym_preproc_def_token1] = ACTIONS(1222), + [aux_sym_preproc_if_token1] = ACTIONS(1222), + [aux_sym_preproc_if_token2] = ACTIONS(1222), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1222), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1222), + [sym_preproc_directive] = ACTIONS(1222), + [anon_sym_LPAREN2] = ACTIONS(1224), + [anon_sym_BANG] = ACTIONS(1224), + [anon_sym_TILDE] = ACTIONS(1224), + [anon_sym_DASH] = ACTIONS(1222), + [anon_sym_PLUS] = ACTIONS(1222), + [anon_sym_STAR] = ACTIONS(1224), + [anon_sym_AMP] = ACTIONS(1224), + [anon_sym_SEMI] = ACTIONS(1224), + [anon_sym___extension__] = ACTIONS(1222), + [anon_sym_typedef] = ACTIONS(1222), + [anon_sym_extern] = ACTIONS(1222), + [anon_sym___attribute__] = ACTIONS(1222), + [anon_sym___attribute] = ACTIONS(1222), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1224), + [anon_sym___declspec] = ACTIONS(1222), + [anon_sym___cdecl] = ACTIONS(1222), + [anon_sym___clrcall] = ACTIONS(1222), + [anon_sym___stdcall] = ACTIONS(1222), + [anon_sym___fastcall] = ACTIONS(1222), + [anon_sym___thiscall] = ACTIONS(1222), + [anon_sym___vectorcall] = ACTIONS(1222), + [anon_sym_LBRACE] = ACTIONS(1224), + [anon_sym_signed] = ACTIONS(1222), + [anon_sym_unsigned] = ACTIONS(1222), + [anon_sym_long] = ACTIONS(1222), + [anon_sym_short] = ACTIONS(1222), + [anon_sym_static] = ACTIONS(1222), + [anon_sym_auto] = ACTIONS(1222), + [anon_sym_register] = ACTIONS(1222), + [anon_sym_inline] = ACTIONS(1222), + [anon_sym___inline] = ACTIONS(1222), + [anon_sym___inline__] = ACTIONS(1222), + [anon_sym___forceinline] = ACTIONS(1222), + [anon_sym_thread_local] = ACTIONS(1222), + [anon_sym___thread] = ACTIONS(1222), + [anon_sym_const] = ACTIONS(1222), + [anon_sym_constexpr] = ACTIONS(1222), + [anon_sym_volatile] = ACTIONS(1222), + [anon_sym_restrict] = ACTIONS(1222), + [anon_sym___restrict__] = ACTIONS(1222), + [anon_sym__Atomic] = ACTIONS(1222), + [anon_sym__Noreturn] = ACTIONS(1222), + [anon_sym_noreturn] = ACTIONS(1222), + [anon_sym__Nonnull] = ACTIONS(1222), + [anon_sym_alignas] = ACTIONS(1222), + [anon_sym__Alignas] = ACTIONS(1222), + [sym_primitive_type] = ACTIONS(1222), + [anon_sym_enum] = ACTIONS(1222), + [anon_sym_struct] = ACTIONS(1222), + [anon_sym_union] = ACTIONS(1222), + [anon_sym_if] = ACTIONS(1222), + [anon_sym_else] = ACTIONS(1222), + [anon_sym_switch] = ACTIONS(1222), + [anon_sym_case] = ACTIONS(1222), + [anon_sym_default] = ACTIONS(1222), + [anon_sym_while] = ACTIONS(1222), + [anon_sym_do] = ACTIONS(1222), + [anon_sym_for] = ACTIONS(1222), + [anon_sym_return] = ACTIONS(1222), + [anon_sym_break] = ACTIONS(1222), + [anon_sym_continue] = ACTIONS(1222), + [anon_sym_goto] = ACTIONS(1222), + [anon_sym___try] = ACTIONS(1222), + [anon_sym___leave] = ACTIONS(1222), + [anon_sym_DASH_DASH] = ACTIONS(1224), + [anon_sym_PLUS_PLUS] = ACTIONS(1224), + [anon_sym_sizeof] = ACTIONS(1222), + [anon_sym___alignof__] = ACTIONS(1222), + [anon_sym___alignof] = ACTIONS(1222), + [anon_sym__alignof] = ACTIONS(1222), + [anon_sym_alignof] = ACTIONS(1222), + [anon_sym__Alignof] = ACTIONS(1222), + [anon_sym_offsetof] = ACTIONS(1222), + [anon_sym__Generic] = ACTIONS(1222), + [anon_sym_asm] = ACTIONS(1222), + [anon_sym___asm__] = ACTIONS(1222), + [anon_sym___asm] = ACTIONS(1222), + [sym_number_literal] = ACTIONS(1224), + [anon_sym_L_SQUOTE] = ACTIONS(1224), + [anon_sym_u_SQUOTE] = ACTIONS(1224), + [anon_sym_U_SQUOTE] = ACTIONS(1224), + [anon_sym_u8_SQUOTE] = ACTIONS(1224), + [anon_sym_SQUOTE] = ACTIONS(1224), + [anon_sym_L_DQUOTE] = ACTIONS(1224), + [anon_sym_u_DQUOTE] = ACTIONS(1224), + [anon_sym_U_DQUOTE] = ACTIONS(1224), + [anon_sym_u8_DQUOTE] = ACTIONS(1224), + [anon_sym_DQUOTE] = ACTIONS(1224), + [sym_true] = ACTIONS(1222), + [sym_false] = ACTIONS(1222), + [anon_sym_NULL] = ACTIONS(1222), + [anon_sym_nullptr] = ACTIONS(1222), + [sym_comment] = ACTIONS(3), + }, + [179] = { + [sym_identifier] = ACTIONS(1230), + [aux_sym_preproc_include_token1] = ACTIONS(1230), + [aux_sym_preproc_def_token1] = ACTIONS(1230), + [aux_sym_preproc_if_token1] = ACTIONS(1230), + [aux_sym_preproc_if_token2] = ACTIONS(1230), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1230), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1230), + [sym_preproc_directive] = ACTIONS(1230), + [anon_sym_LPAREN2] = ACTIONS(1232), + [anon_sym_BANG] = ACTIONS(1232), + [anon_sym_TILDE] = ACTIONS(1232), + [anon_sym_DASH] = ACTIONS(1230), + [anon_sym_PLUS] = ACTIONS(1230), + [anon_sym_STAR] = ACTIONS(1232), + [anon_sym_AMP] = ACTIONS(1232), + [anon_sym_SEMI] = ACTIONS(1232), + [anon_sym___extension__] = ACTIONS(1230), + [anon_sym_typedef] = ACTIONS(1230), + [anon_sym_extern] = ACTIONS(1230), + [anon_sym___attribute__] = ACTIONS(1230), + [anon_sym___attribute] = ACTIONS(1230), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1232), + [anon_sym___declspec] = ACTIONS(1230), + [anon_sym___cdecl] = ACTIONS(1230), + [anon_sym___clrcall] = ACTIONS(1230), + [anon_sym___stdcall] = ACTIONS(1230), + [anon_sym___fastcall] = ACTIONS(1230), + [anon_sym___thiscall] = ACTIONS(1230), + [anon_sym___vectorcall] = ACTIONS(1230), + [anon_sym_LBRACE] = ACTIONS(1232), + [anon_sym_signed] = ACTIONS(1230), + [anon_sym_unsigned] = ACTIONS(1230), + [anon_sym_long] = ACTIONS(1230), + [anon_sym_short] = ACTIONS(1230), + [anon_sym_static] = ACTIONS(1230), + [anon_sym_auto] = ACTIONS(1230), + [anon_sym_register] = ACTIONS(1230), + [anon_sym_inline] = ACTIONS(1230), + [anon_sym___inline] = ACTIONS(1230), + [anon_sym___inline__] = ACTIONS(1230), + [anon_sym___forceinline] = ACTIONS(1230), + [anon_sym_thread_local] = ACTIONS(1230), + [anon_sym___thread] = ACTIONS(1230), + [anon_sym_const] = ACTIONS(1230), + [anon_sym_constexpr] = ACTIONS(1230), + [anon_sym_volatile] = ACTIONS(1230), + [anon_sym_restrict] = ACTIONS(1230), + [anon_sym___restrict__] = ACTIONS(1230), + [anon_sym__Atomic] = ACTIONS(1230), + [anon_sym__Noreturn] = ACTIONS(1230), + [anon_sym_noreturn] = ACTIONS(1230), + [anon_sym__Nonnull] = ACTIONS(1230), + [anon_sym_alignas] = ACTIONS(1230), + [anon_sym__Alignas] = ACTIONS(1230), + [sym_primitive_type] = ACTIONS(1230), + [anon_sym_enum] = ACTIONS(1230), + [anon_sym_struct] = ACTIONS(1230), + [anon_sym_union] = ACTIONS(1230), + [anon_sym_if] = ACTIONS(1230), + [anon_sym_else] = ACTIONS(1230), + [anon_sym_switch] = ACTIONS(1230), + [anon_sym_case] = ACTIONS(1230), + [anon_sym_default] = ACTIONS(1230), + [anon_sym_while] = ACTIONS(1230), + [anon_sym_do] = ACTIONS(1230), + [anon_sym_for] = ACTIONS(1230), + [anon_sym_return] = ACTIONS(1230), + [anon_sym_break] = ACTIONS(1230), + [anon_sym_continue] = ACTIONS(1230), + [anon_sym_goto] = ACTIONS(1230), + [anon_sym___try] = ACTIONS(1230), + [anon_sym___leave] = ACTIONS(1230), + [anon_sym_DASH_DASH] = ACTIONS(1232), + [anon_sym_PLUS_PLUS] = ACTIONS(1232), + [anon_sym_sizeof] = ACTIONS(1230), + [anon_sym___alignof__] = ACTIONS(1230), + [anon_sym___alignof] = ACTIONS(1230), + [anon_sym__alignof] = ACTIONS(1230), + [anon_sym_alignof] = ACTIONS(1230), + [anon_sym__Alignof] = ACTIONS(1230), + [anon_sym_offsetof] = ACTIONS(1230), + [anon_sym__Generic] = ACTIONS(1230), + [anon_sym_asm] = ACTIONS(1230), + [anon_sym___asm__] = ACTIONS(1230), + [anon_sym___asm] = ACTIONS(1230), + [sym_number_literal] = ACTIONS(1232), + [anon_sym_L_SQUOTE] = ACTIONS(1232), + [anon_sym_u_SQUOTE] = ACTIONS(1232), + [anon_sym_U_SQUOTE] = ACTIONS(1232), + [anon_sym_u8_SQUOTE] = ACTIONS(1232), + [anon_sym_SQUOTE] = ACTIONS(1232), + [anon_sym_L_DQUOTE] = ACTIONS(1232), + [anon_sym_u_DQUOTE] = ACTIONS(1232), + [anon_sym_U_DQUOTE] = ACTIONS(1232), + [anon_sym_u8_DQUOTE] = ACTIONS(1232), + [anon_sym_DQUOTE] = ACTIONS(1232), + [sym_true] = ACTIONS(1230), + [sym_false] = ACTIONS(1230), + [anon_sym_NULL] = ACTIONS(1230), + [anon_sym_nullptr] = ACTIONS(1230), + [sym_comment] = ACTIONS(3), + }, + [180] = { + [sym_identifier] = ACTIONS(1234), + [aux_sym_preproc_include_token1] = ACTIONS(1234), + [aux_sym_preproc_def_token1] = ACTIONS(1234), + [aux_sym_preproc_if_token1] = ACTIONS(1234), + [aux_sym_preproc_if_token2] = ACTIONS(1234), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1234), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1234), + [sym_preproc_directive] = ACTIONS(1234), + [anon_sym_LPAREN2] = ACTIONS(1236), + [anon_sym_BANG] = ACTIONS(1236), + [anon_sym_TILDE] = ACTIONS(1236), + [anon_sym_DASH] = ACTIONS(1234), + [anon_sym_PLUS] = ACTIONS(1234), + [anon_sym_STAR] = ACTIONS(1236), + [anon_sym_AMP] = ACTIONS(1236), + [anon_sym_SEMI] = ACTIONS(1236), + [anon_sym___extension__] = ACTIONS(1234), + [anon_sym_typedef] = ACTIONS(1234), + [anon_sym_extern] = ACTIONS(1234), + [anon_sym___attribute__] = ACTIONS(1234), + [anon_sym___attribute] = ACTIONS(1234), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1236), + [anon_sym___declspec] = ACTIONS(1234), + [anon_sym___cdecl] = ACTIONS(1234), + [anon_sym___clrcall] = ACTIONS(1234), + [anon_sym___stdcall] = ACTIONS(1234), + [anon_sym___fastcall] = ACTIONS(1234), + [anon_sym___thiscall] = ACTIONS(1234), + [anon_sym___vectorcall] = ACTIONS(1234), + [anon_sym_LBRACE] = ACTIONS(1236), + [anon_sym_signed] = ACTIONS(1234), + [anon_sym_unsigned] = ACTIONS(1234), + [anon_sym_long] = ACTIONS(1234), + [anon_sym_short] = ACTIONS(1234), + [anon_sym_static] = ACTIONS(1234), + [anon_sym_auto] = ACTIONS(1234), + [anon_sym_register] = ACTIONS(1234), + [anon_sym_inline] = ACTIONS(1234), + [anon_sym___inline] = ACTIONS(1234), + [anon_sym___inline__] = ACTIONS(1234), + [anon_sym___forceinline] = ACTIONS(1234), + [anon_sym_thread_local] = ACTIONS(1234), + [anon_sym___thread] = ACTIONS(1234), + [anon_sym_const] = ACTIONS(1234), + [anon_sym_constexpr] = ACTIONS(1234), + [anon_sym_volatile] = ACTIONS(1234), + [anon_sym_restrict] = ACTIONS(1234), + [anon_sym___restrict__] = ACTIONS(1234), + [anon_sym__Atomic] = ACTIONS(1234), + [anon_sym__Noreturn] = ACTIONS(1234), + [anon_sym_noreturn] = ACTIONS(1234), + [anon_sym__Nonnull] = ACTIONS(1234), + [anon_sym_alignas] = ACTIONS(1234), + [anon_sym__Alignas] = ACTIONS(1234), + [sym_primitive_type] = ACTIONS(1234), + [anon_sym_enum] = ACTIONS(1234), + [anon_sym_struct] = ACTIONS(1234), + [anon_sym_union] = ACTIONS(1234), + [anon_sym_if] = ACTIONS(1234), + [anon_sym_else] = ACTIONS(1234), + [anon_sym_switch] = ACTIONS(1234), + [anon_sym_case] = ACTIONS(1234), + [anon_sym_default] = ACTIONS(1234), + [anon_sym_while] = ACTIONS(1234), + [anon_sym_do] = ACTIONS(1234), + [anon_sym_for] = ACTIONS(1234), + [anon_sym_return] = ACTIONS(1234), + [anon_sym_break] = ACTIONS(1234), + [anon_sym_continue] = ACTIONS(1234), + [anon_sym_goto] = ACTIONS(1234), + [anon_sym___try] = ACTIONS(1234), + [anon_sym___leave] = ACTIONS(1234), + [anon_sym_DASH_DASH] = ACTIONS(1236), + [anon_sym_PLUS_PLUS] = ACTIONS(1236), + [anon_sym_sizeof] = ACTIONS(1234), + [anon_sym___alignof__] = ACTIONS(1234), + [anon_sym___alignof] = ACTIONS(1234), + [anon_sym__alignof] = ACTIONS(1234), + [anon_sym_alignof] = ACTIONS(1234), + [anon_sym__Alignof] = ACTIONS(1234), + [anon_sym_offsetof] = ACTIONS(1234), + [anon_sym__Generic] = ACTIONS(1234), + [anon_sym_asm] = ACTIONS(1234), + [anon_sym___asm__] = ACTIONS(1234), + [anon_sym___asm] = ACTIONS(1234), + [sym_number_literal] = ACTIONS(1236), + [anon_sym_L_SQUOTE] = ACTIONS(1236), + [anon_sym_u_SQUOTE] = ACTIONS(1236), + [anon_sym_U_SQUOTE] = ACTIONS(1236), + [anon_sym_u8_SQUOTE] = ACTIONS(1236), + [anon_sym_SQUOTE] = ACTIONS(1236), + [anon_sym_L_DQUOTE] = ACTIONS(1236), + [anon_sym_u_DQUOTE] = ACTIONS(1236), + [anon_sym_U_DQUOTE] = ACTIONS(1236), + [anon_sym_u8_DQUOTE] = ACTIONS(1236), + [anon_sym_DQUOTE] = ACTIONS(1236), + [sym_true] = ACTIONS(1234), + [sym_false] = ACTIONS(1234), + [anon_sym_NULL] = ACTIONS(1234), + [anon_sym_nullptr] = ACTIONS(1234), + [sym_comment] = ACTIONS(3), + }, + [181] = { + [sym_identifier] = ACTIONS(1226), + [aux_sym_preproc_include_token1] = ACTIONS(1226), + [aux_sym_preproc_def_token1] = ACTIONS(1226), + [aux_sym_preproc_if_token1] = ACTIONS(1226), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1226), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1226), + [sym_preproc_directive] = ACTIONS(1226), + [anon_sym_LPAREN2] = ACTIONS(1228), + [anon_sym_BANG] = ACTIONS(1228), + [anon_sym_TILDE] = ACTIONS(1228), + [anon_sym_DASH] = ACTIONS(1226), + [anon_sym_PLUS] = ACTIONS(1226), + [anon_sym_STAR] = ACTIONS(1228), + [anon_sym_AMP] = ACTIONS(1228), + [anon_sym_SEMI] = ACTIONS(1228), + [anon_sym___extension__] = ACTIONS(1226), + [anon_sym_typedef] = ACTIONS(1226), + [anon_sym_extern] = ACTIONS(1226), + [anon_sym___attribute__] = ACTIONS(1226), + [anon_sym___attribute] = ACTIONS(1226), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1228), + [anon_sym___declspec] = ACTIONS(1226), + [anon_sym___cdecl] = ACTIONS(1226), + [anon_sym___clrcall] = ACTIONS(1226), + [anon_sym___stdcall] = ACTIONS(1226), + [anon_sym___fastcall] = ACTIONS(1226), + [anon_sym___thiscall] = ACTIONS(1226), + [anon_sym___vectorcall] = ACTIONS(1226), + [anon_sym_LBRACE] = ACTIONS(1228), + [anon_sym_RBRACE] = ACTIONS(1228), + [anon_sym_signed] = ACTIONS(1226), + [anon_sym_unsigned] = ACTIONS(1226), + [anon_sym_long] = ACTIONS(1226), + [anon_sym_short] = ACTIONS(1226), + [anon_sym_static] = ACTIONS(1226), + [anon_sym_auto] = ACTIONS(1226), + [anon_sym_register] = ACTIONS(1226), + [anon_sym_inline] = ACTIONS(1226), + [anon_sym___inline] = ACTIONS(1226), + [anon_sym___inline__] = ACTIONS(1226), + [anon_sym___forceinline] = ACTIONS(1226), + [anon_sym_thread_local] = ACTIONS(1226), + [anon_sym___thread] = ACTIONS(1226), + [anon_sym_const] = ACTIONS(1226), + [anon_sym_constexpr] = ACTIONS(1226), + [anon_sym_volatile] = ACTIONS(1226), + [anon_sym_restrict] = ACTIONS(1226), + [anon_sym___restrict__] = ACTIONS(1226), + [anon_sym__Atomic] = ACTIONS(1226), + [anon_sym__Noreturn] = ACTIONS(1226), + [anon_sym_noreturn] = ACTIONS(1226), + [anon_sym__Nonnull] = ACTIONS(1226), + [anon_sym_alignas] = ACTIONS(1226), + [anon_sym__Alignas] = ACTIONS(1226), + [sym_primitive_type] = ACTIONS(1226), + [anon_sym_enum] = ACTIONS(1226), + [anon_sym_struct] = ACTIONS(1226), + [anon_sym_union] = ACTIONS(1226), + [anon_sym_if] = ACTIONS(1226), + [anon_sym_else] = ACTIONS(1226), + [anon_sym_switch] = ACTIONS(1226), + [anon_sym_case] = ACTIONS(1226), + [anon_sym_default] = ACTIONS(1226), + [anon_sym_while] = ACTIONS(1226), + [anon_sym_do] = ACTIONS(1226), + [anon_sym_for] = ACTIONS(1226), + [anon_sym_return] = ACTIONS(1226), + [anon_sym_break] = ACTIONS(1226), + [anon_sym_continue] = ACTIONS(1226), + [anon_sym_goto] = ACTIONS(1226), + [anon_sym___try] = ACTIONS(1226), + [anon_sym___leave] = ACTIONS(1226), + [anon_sym_DASH_DASH] = ACTIONS(1228), + [anon_sym_PLUS_PLUS] = ACTIONS(1228), + [anon_sym_sizeof] = ACTIONS(1226), + [anon_sym___alignof__] = ACTIONS(1226), + [anon_sym___alignof] = ACTIONS(1226), + [anon_sym__alignof] = ACTIONS(1226), + [anon_sym_alignof] = ACTIONS(1226), + [anon_sym__Alignof] = ACTIONS(1226), + [anon_sym_offsetof] = ACTIONS(1226), + [anon_sym__Generic] = ACTIONS(1226), + [anon_sym_asm] = ACTIONS(1226), + [anon_sym___asm__] = ACTIONS(1226), + [anon_sym___asm] = ACTIONS(1226), + [sym_number_literal] = ACTIONS(1228), + [anon_sym_L_SQUOTE] = ACTIONS(1228), + [anon_sym_u_SQUOTE] = ACTIONS(1228), + [anon_sym_U_SQUOTE] = ACTIONS(1228), + [anon_sym_u8_SQUOTE] = ACTIONS(1228), + [anon_sym_SQUOTE] = ACTIONS(1228), + [anon_sym_L_DQUOTE] = ACTIONS(1228), + [anon_sym_u_DQUOTE] = ACTIONS(1228), + [anon_sym_U_DQUOTE] = ACTIONS(1228), + [anon_sym_u8_DQUOTE] = ACTIONS(1228), + [anon_sym_DQUOTE] = ACTIONS(1228), + [sym_true] = ACTIONS(1226), + [sym_false] = ACTIONS(1226), + [anon_sym_NULL] = ACTIONS(1226), + [anon_sym_nullptr] = ACTIONS(1226), + [sym_comment] = ACTIONS(3), + }, + [182] = { + [sym_identifier] = ACTIONS(1238), + [aux_sym_preproc_include_token1] = ACTIONS(1238), + [aux_sym_preproc_def_token1] = ACTIONS(1238), + [aux_sym_preproc_if_token1] = ACTIONS(1238), + [aux_sym_preproc_if_token2] = ACTIONS(1238), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1238), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1238), + [sym_preproc_directive] = ACTIONS(1238), + [anon_sym_LPAREN2] = ACTIONS(1240), + [anon_sym_BANG] = ACTIONS(1240), + [anon_sym_TILDE] = ACTIONS(1240), + [anon_sym_DASH] = ACTIONS(1238), + [anon_sym_PLUS] = ACTIONS(1238), + [anon_sym_STAR] = ACTIONS(1240), + [anon_sym_AMP] = ACTIONS(1240), + [anon_sym_SEMI] = ACTIONS(1240), + [anon_sym___extension__] = ACTIONS(1238), + [anon_sym_typedef] = ACTIONS(1238), + [anon_sym_extern] = ACTIONS(1238), + [anon_sym___attribute__] = ACTIONS(1238), + [anon_sym___attribute] = ACTIONS(1238), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1240), + [anon_sym___declspec] = ACTIONS(1238), + [anon_sym___cdecl] = ACTIONS(1238), + [anon_sym___clrcall] = ACTIONS(1238), + [anon_sym___stdcall] = ACTIONS(1238), + [anon_sym___fastcall] = ACTIONS(1238), + [anon_sym___thiscall] = ACTIONS(1238), + [anon_sym___vectorcall] = ACTIONS(1238), + [anon_sym_LBRACE] = ACTIONS(1240), + [anon_sym_signed] = ACTIONS(1238), + [anon_sym_unsigned] = ACTIONS(1238), + [anon_sym_long] = ACTIONS(1238), + [anon_sym_short] = ACTIONS(1238), + [anon_sym_static] = ACTIONS(1238), + [anon_sym_auto] = ACTIONS(1238), + [anon_sym_register] = ACTIONS(1238), + [anon_sym_inline] = ACTIONS(1238), + [anon_sym___inline] = ACTIONS(1238), + [anon_sym___inline__] = ACTIONS(1238), + [anon_sym___forceinline] = ACTIONS(1238), + [anon_sym_thread_local] = ACTIONS(1238), + [anon_sym___thread] = ACTIONS(1238), + [anon_sym_const] = ACTIONS(1238), + [anon_sym_constexpr] = ACTIONS(1238), + [anon_sym_volatile] = ACTIONS(1238), + [anon_sym_restrict] = ACTIONS(1238), + [anon_sym___restrict__] = ACTIONS(1238), + [anon_sym__Atomic] = ACTIONS(1238), + [anon_sym__Noreturn] = ACTIONS(1238), + [anon_sym_noreturn] = ACTIONS(1238), + [anon_sym__Nonnull] = ACTIONS(1238), + [anon_sym_alignas] = ACTIONS(1238), + [anon_sym__Alignas] = ACTIONS(1238), + [sym_primitive_type] = ACTIONS(1238), + [anon_sym_enum] = ACTIONS(1238), + [anon_sym_struct] = ACTIONS(1238), + [anon_sym_union] = ACTIONS(1238), + [anon_sym_if] = ACTIONS(1238), + [anon_sym_else] = ACTIONS(1238), + [anon_sym_switch] = ACTIONS(1238), + [anon_sym_case] = ACTIONS(1238), + [anon_sym_default] = ACTIONS(1238), + [anon_sym_while] = ACTIONS(1238), + [anon_sym_do] = ACTIONS(1238), + [anon_sym_for] = ACTIONS(1238), + [anon_sym_return] = ACTIONS(1238), + [anon_sym_break] = ACTIONS(1238), + [anon_sym_continue] = ACTIONS(1238), + [anon_sym_goto] = ACTIONS(1238), + [anon_sym___try] = ACTIONS(1238), + [anon_sym___leave] = ACTIONS(1238), + [anon_sym_DASH_DASH] = ACTIONS(1240), + [anon_sym_PLUS_PLUS] = ACTIONS(1240), + [anon_sym_sizeof] = ACTIONS(1238), + [anon_sym___alignof__] = ACTIONS(1238), + [anon_sym___alignof] = ACTIONS(1238), + [anon_sym__alignof] = ACTIONS(1238), + [anon_sym_alignof] = ACTIONS(1238), + [anon_sym__Alignof] = ACTIONS(1238), + [anon_sym_offsetof] = ACTIONS(1238), + [anon_sym__Generic] = ACTIONS(1238), + [anon_sym_asm] = ACTIONS(1238), + [anon_sym___asm__] = ACTIONS(1238), + [anon_sym___asm] = ACTIONS(1238), + [sym_number_literal] = ACTIONS(1240), + [anon_sym_L_SQUOTE] = ACTIONS(1240), + [anon_sym_u_SQUOTE] = ACTIONS(1240), + [anon_sym_U_SQUOTE] = ACTIONS(1240), + [anon_sym_u8_SQUOTE] = ACTIONS(1240), + [anon_sym_SQUOTE] = ACTIONS(1240), + [anon_sym_L_DQUOTE] = ACTIONS(1240), + [anon_sym_u_DQUOTE] = ACTIONS(1240), + [anon_sym_U_DQUOTE] = ACTIONS(1240), + [anon_sym_u8_DQUOTE] = ACTIONS(1240), + [anon_sym_DQUOTE] = ACTIONS(1240), + [sym_true] = ACTIONS(1238), + [sym_false] = ACTIONS(1238), + [anon_sym_NULL] = ACTIONS(1238), + [anon_sym_nullptr] = ACTIONS(1238), + [sym_comment] = ACTIONS(3), + }, + [183] = { + [sym_identifier] = ACTIONS(1242), + [aux_sym_preproc_include_token1] = ACTIONS(1242), + [aux_sym_preproc_def_token1] = ACTIONS(1242), + [aux_sym_preproc_if_token1] = ACTIONS(1242), + [aux_sym_preproc_if_token2] = ACTIONS(1242), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1242), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1242), + [sym_preproc_directive] = ACTIONS(1242), + [anon_sym_LPAREN2] = ACTIONS(1244), + [anon_sym_BANG] = ACTIONS(1244), + [anon_sym_TILDE] = ACTIONS(1244), + [anon_sym_DASH] = ACTIONS(1242), + [anon_sym_PLUS] = ACTIONS(1242), + [anon_sym_STAR] = ACTIONS(1244), + [anon_sym_AMP] = ACTIONS(1244), + [anon_sym_SEMI] = ACTIONS(1244), + [anon_sym___extension__] = ACTIONS(1242), + [anon_sym_typedef] = ACTIONS(1242), + [anon_sym_extern] = ACTIONS(1242), + [anon_sym___attribute__] = ACTIONS(1242), + [anon_sym___attribute] = ACTIONS(1242), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1244), + [anon_sym___declspec] = ACTIONS(1242), + [anon_sym___cdecl] = ACTIONS(1242), + [anon_sym___clrcall] = ACTIONS(1242), + [anon_sym___stdcall] = ACTIONS(1242), + [anon_sym___fastcall] = ACTIONS(1242), + [anon_sym___thiscall] = ACTIONS(1242), + [anon_sym___vectorcall] = ACTIONS(1242), + [anon_sym_LBRACE] = ACTIONS(1244), + [anon_sym_signed] = ACTIONS(1242), + [anon_sym_unsigned] = ACTIONS(1242), + [anon_sym_long] = ACTIONS(1242), + [anon_sym_short] = ACTIONS(1242), + [anon_sym_static] = ACTIONS(1242), + [anon_sym_auto] = ACTIONS(1242), + [anon_sym_register] = ACTIONS(1242), + [anon_sym_inline] = ACTIONS(1242), + [anon_sym___inline] = ACTIONS(1242), + [anon_sym___inline__] = ACTIONS(1242), + [anon_sym___forceinline] = ACTIONS(1242), + [anon_sym_thread_local] = ACTIONS(1242), + [anon_sym___thread] = ACTIONS(1242), + [anon_sym_const] = ACTIONS(1242), + [anon_sym_constexpr] = ACTIONS(1242), + [anon_sym_volatile] = ACTIONS(1242), + [anon_sym_restrict] = ACTIONS(1242), + [anon_sym___restrict__] = ACTIONS(1242), + [anon_sym__Atomic] = ACTIONS(1242), + [anon_sym__Noreturn] = ACTIONS(1242), + [anon_sym_noreturn] = ACTIONS(1242), + [anon_sym__Nonnull] = ACTIONS(1242), + [anon_sym_alignas] = ACTIONS(1242), + [anon_sym__Alignas] = ACTIONS(1242), + [sym_primitive_type] = ACTIONS(1242), + [anon_sym_enum] = ACTIONS(1242), + [anon_sym_struct] = ACTIONS(1242), + [anon_sym_union] = ACTIONS(1242), + [anon_sym_if] = ACTIONS(1242), + [anon_sym_else] = ACTIONS(1242), + [anon_sym_switch] = ACTIONS(1242), + [anon_sym_case] = ACTIONS(1242), + [anon_sym_default] = ACTIONS(1242), + [anon_sym_while] = ACTIONS(1242), + [anon_sym_do] = ACTIONS(1242), + [anon_sym_for] = ACTIONS(1242), + [anon_sym_return] = ACTIONS(1242), + [anon_sym_break] = ACTIONS(1242), + [anon_sym_continue] = ACTIONS(1242), + [anon_sym_goto] = ACTIONS(1242), + [anon_sym___try] = ACTIONS(1242), + [anon_sym___leave] = ACTIONS(1242), + [anon_sym_DASH_DASH] = ACTIONS(1244), + [anon_sym_PLUS_PLUS] = ACTIONS(1244), + [anon_sym_sizeof] = ACTIONS(1242), + [anon_sym___alignof__] = ACTIONS(1242), + [anon_sym___alignof] = ACTIONS(1242), + [anon_sym__alignof] = ACTIONS(1242), + [anon_sym_alignof] = ACTIONS(1242), + [anon_sym__Alignof] = ACTIONS(1242), + [anon_sym_offsetof] = ACTIONS(1242), + [anon_sym__Generic] = ACTIONS(1242), + [anon_sym_asm] = ACTIONS(1242), + [anon_sym___asm__] = ACTIONS(1242), + [anon_sym___asm] = ACTIONS(1242), + [sym_number_literal] = ACTIONS(1244), + [anon_sym_L_SQUOTE] = ACTIONS(1244), + [anon_sym_u_SQUOTE] = ACTIONS(1244), + [anon_sym_U_SQUOTE] = ACTIONS(1244), + [anon_sym_u8_SQUOTE] = ACTIONS(1244), + [anon_sym_SQUOTE] = ACTIONS(1244), + [anon_sym_L_DQUOTE] = ACTIONS(1244), + [anon_sym_u_DQUOTE] = ACTIONS(1244), + [anon_sym_U_DQUOTE] = ACTIONS(1244), + [anon_sym_u8_DQUOTE] = ACTIONS(1244), + [anon_sym_DQUOTE] = ACTIONS(1244), + [sym_true] = ACTIONS(1242), + [sym_false] = ACTIONS(1242), + [anon_sym_NULL] = ACTIONS(1242), + [anon_sym_nullptr] = ACTIONS(1242), + [sym_comment] = ACTIONS(3), + }, + [184] = { + [sym_identifier] = ACTIONS(1246), + [aux_sym_preproc_include_token1] = ACTIONS(1246), + [aux_sym_preproc_def_token1] = ACTIONS(1246), + [aux_sym_preproc_if_token1] = ACTIONS(1246), + [aux_sym_preproc_if_token2] = ACTIONS(1246), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1246), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1246), + [sym_preproc_directive] = ACTIONS(1246), + [anon_sym_LPAREN2] = ACTIONS(1248), + [anon_sym_BANG] = ACTIONS(1248), + [anon_sym_TILDE] = ACTIONS(1248), + [anon_sym_DASH] = ACTIONS(1246), + [anon_sym_PLUS] = ACTIONS(1246), + [anon_sym_STAR] = ACTIONS(1248), + [anon_sym_AMP] = ACTIONS(1248), + [anon_sym_SEMI] = ACTIONS(1248), + [anon_sym___extension__] = ACTIONS(1246), + [anon_sym_typedef] = ACTIONS(1246), + [anon_sym_extern] = ACTIONS(1246), + [anon_sym___attribute__] = ACTIONS(1246), + [anon_sym___attribute] = ACTIONS(1246), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1248), + [anon_sym___declspec] = ACTIONS(1246), + [anon_sym___cdecl] = ACTIONS(1246), + [anon_sym___clrcall] = ACTIONS(1246), + [anon_sym___stdcall] = ACTIONS(1246), + [anon_sym___fastcall] = ACTIONS(1246), + [anon_sym___thiscall] = ACTIONS(1246), + [anon_sym___vectorcall] = ACTIONS(1246), + [anon_sym_LBRACE] = ACTIONS(1248), + [anon_sym_signed] = ACTIONS(1246), + [anon_sym_unsigned] = ACTIONS(1246), + [anon_sym_long] = ACTIONS(1246), + [anon_sym_short] = ACTIONS(1246), + [anon_sym_static] = ACTIONS(1246), + [anon_sym_auto] = ACTIONS(1246), + [anon_sym_register] = ACTIONS(1246), + [anon_sym_inline] = ACTIONS(1246), + [anon_sym___inline] = ACTIONS(1246), + [anon_sym___inline__] = ACTIONS(1246), + [anon_sym___forceinline] = ACTIONS(1246), + [anon_sym_thread_local] = ACTIONS(1246), + [anon_sym___thread] = ACTIONS(1246), + [anon_sym_const] = ACTIONS(1246), + [anon_sym_constexpr] = ACTIONS(1246), + [anon_sym_volatile] = ACTIONS(1246), + [anon_sym_restrict] = ACTIONS(1246), + [anon_sym___restrict__] = ACTIONS(1246), + [anon_sym__Atomic] = ACTIONS(1246), + [anon_sym__Noreturn] = ACTIONS(1246), + [anon_sym_noreturn] = ACTIONS(1246), + [anon_sym__Nonnull] = ACTIONS(1246), + [anon_sym_alignas] = ACTIONS(1246), + [anon_sym__Alignas] = ACTIONS(1246), + [sym_primitive_type] = ACTIONS(1246), + [anon_sym_enum] = ACTIONS(1246), + [anon_sym_struct] = ACTIONS(1246), + [anon_sym_union] = ACTIONS(1246), + [anon_sym_if] = ACTIONS(1246), + [anon_sym_else] = ACTIONS(1246), + [anon_sym_switch] = ACTIONS(1246), + [anon_sym_case] = ACTIONS(1246), + [anon_sym_default] = ACTIONS(1246), + [anon_sym_while] = ACTIONS(1246), + [anon_sym_do] = ACTIONS(1246), + [anon_sym_for] = ACTIONS(1246), + [anon_sym_return] = ACTIONS(1246), + [anon_sym_break] = ACTIONS(1246), + [anon_sym_continue] = ACTIONS(1246), + [anon_sym_goto] = ACTIONS(1246), + [anon_sym___try] = ACTIONS(1246), + [anon_sym___leave] = ACTIONS(1246), + [anon_sym_DASH_DASH] = ACTIONS(1248), + [anon_sym_PLUS_PLUS] = ACTIONS(1248), + [anon_sym_sizeof] = ACTIONS(1246), + [anon_sym___alignof__] = ACTIONS(1246), + [anon_sym___alignof] = ACTIONS(1246), + [anon_sym__alignof] = ACTIONS(1246), + [anon_sym_alignof] = ACTIONS(1246), + [anon_sym__Alignof] = ACTIONS(1246), + [anon_sym_offsetof] = ACTIONS(1246), + [anon_sym__Generic] = ACTIONS(1246), + [anon_sym_asm] = ACTIONS(1246), + [anon_sym___asm__] = ACTIONS(1246), + [anon_sym___asm] = ACTIONS(1246), + [sym_number_literal] = ACTIONS(1248), + [anon_sym_L_SQUOTE] = ACTIONS(1248), + [anon_sym_u_SQUOTE] = ACTIONS(1248), + [anon_sym_U_SQUOTE] = ACTIONS(1248), + [anon_sym_u8_SQUOTE] = ACTIONS(1248), + [anon_sym_SQUOTE] = ACTIONS(1248), + [anon_sym_L_DQUOTE] = ACTIONS(1248), + [anon_sym_u_DQUOTE] = ACTIONS(1248), + [anon_sym_U_DQUOTE] = ACTIONS(1248), + [anon_sym_u8_DQUOTE] = ACTIONS(1248), + [anon_sym_DQUOTE] = ACTIONS(1248), + [sym_true] = ACTIONS(1246), + [sym_false] = ACTIONS(1246), + [anon_sym_NULL] = ACTIONS(1246), + [anon_sym_nullptr] = ACTIONS(1246), + [sym_comment] = ACTIONS(3), + }, + [185] = { + [sym_identifier] = ACTIONS(1250), + [aux_sym_preproc_include_token1] = ACTIONS(1250), + [aux_sym_preproc_def_token1] = ACTIONS(1250), + [aux_sym_preproc_if_token1] = ACTIONS(1250), + [aux_sym_preproc_if_token2] = ACTIONS(1250), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1250), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1250), + [sym_preproc_directive] = ACTIONS(1250), + [anon_sym_LPAREN2] = ACTIONS(1252), + [anon_sym_BANG] = ACTIONS(1252), + [anon_sym_TILDE] = ACTIONS(1252), + [anon_sym_DASH] = ACTIONS(1250), + [anon_sym_PLUS] = ACTIONS(1250), + [anon_sym_STAR] = ACTIONS(1252), + [anon_sym_AMP] = ACTIONS(1252), + [anon_sym_SEMI] = ACTIONS(1252), + [anon_sym___extension__] = ACTIONS(1250), + [anon_sym_typedef] = ACTIONS(1250), + [anon_sym_extern] = ACTIONS(1250), + [anon_sym___attribute__] = ACTIONS(1250), + [anon_sym___attribute] = ACTIONS(1250), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1252), + [anon_sym___declspec] = ACTIONS(1250), + [anon_sym___cdecl] = ACTIONS(1250), + [anon_sym___clrcall] = ACTIONS(1250), + [anon_sym___stdcall] = ACTIONS(1250), + [anon_sym___fastcall] = ACTIONS(1250), + [anon_sym___thiscall] = ACTIONS(1250), + [anon_sym___vectorcall] = ACTIONS(1250), + [anon_sym_LBRACE] = ACTIONS(1252), + [anon_sym_signed] = ACTIONS(1250), + [anon_sym_unsigned] = ACTIONS(1250), + [anon_sym_long] = ACTIONS(1250), + [anon_sym_short] = ACTIONS(1250), + [anon_sym_static] = ACTIONS(1250), + [anon_sym_auto] = ACTIONS(1250), + [anon_sym_register] = ACTIONS(1250), + [anon_sym_inline] = ACTIONS(1250), + [anon_sym___inline] = ACTIONS(1250), + [anon_sym___inline__] = ACTIONS(1250), + [anon_sym___forceinline] = ACTIONS(1250), + [anon_sym_thread_local] = ACTIONS(1250), + [anon_sym___thread] = ACTIONS(1250), + [anon_sym_const] = ACTIONS(1250), + [anon_sym_constexpr] = ACTIONS(1250), + [anon_sym_volatile] = ACTIONS(1250), + [anon_sym_restrict] = ACTIONS(1250), + [anon_sym___restrict__] = ACTIONS(1250), + [anon_sym__Atomic] = ACTIONS(1250), + [anon_sym__Noreturn] = ACTIONS(1250), + [anon_sym_noreturn] = ACTIONS(1250), + [anon_sym__Nonnull] = ACTIONS(1250), + [anon_sym_alignas] = ACTIONS(1250), + [anon_sym__Alignas] = ACTIONS(1250), + [sym_primitive_type] = ACTIONS(1250), + [anon_sym_enum] = ACTIONS(1250), + [anon_sym_struct] = ACTIONS(1250), + [anon_sym_union] = ACTIONS(1250), + [anon_sym_if] = ACTIONS(1250), + [anon_sym_else] = ACTIONS(1250), + [anon_sym_switch] = ACTIONS(1250), + [anon_sym_case] = ACTIONS(1250), + [anon_sym_default] = ACTIONS(1250), + [anon_sym_while] = ACTIONS(1250), + [anon_sym_do] = ACTIONS(1250), + [anon_sym_for] = ACTIONS(1250), + [anon_sym_return] = ACTIONS(1250), + [anon_sym_break] = ACTIONS(1250), + [anon_sym_continue] = ACTIONS(1250), + [anon_sym_goto] = ACTIONS(1250), + [anon_sym___try] = ACTIONS(1250), + [anon_sym___leave] = ACTIONS(1250), + [anon_sym_DASH_DASH] = ACTIONS(1252), + [anon_sym_PLUS_PLUS] = ACTIONS(1252), + [anon_sym_sizeof] = ACTIONS(1250), + [anon_sym___alignof__] = ACTIONS(1250), + [anon_sym___alignof] = ACTIONS(1250), + [anon_sym__alignof] = ACTIONS(1250), + [anon_sym_alignof] = ACTIONS(1250), + [anon_sym__Alignof] = ACTIONS(1250), + [anon_sym_offsetof] = ACTIONS(1250), + [anon_sym__Generic] = ACTIONS(1250), + [anon_sym_asm] = ACTIONS(1250), + [anon_sym___asm__] = ACTIONS(1250), + [anon_sym___asm] = ACTIONS(1250), + [sym_number_literal] = ACTIONS(1252), + [anon_sym_L_SQUOTE] = ACTIONS(1252), + [anon_sym_u_SQUOTE] = ACTIONS(1252), + [anon_sym_U_SQUOTE] = ACTIONS(1252), + [anon_sym_u8_SQUOTE] = ACTIONS(1252), + [anon_sym_SQUOTE] = ACTIONS(1252), + [anon_sym_L_DQUOTE] = ACTIONS(1252), + [anon_sym_u_DQUOTE] = ACTIONS(1252), + [anon_sym_U_DQUOTE] = ACTIONS(1252), + [anon_sym_u8_DQUOTE] = ACTIONS(1252), + [anon_sym_DQUOTE] = ACTIONS(1252), + [sym_true] = ACTIONS(1250), + [sym_false] = ACTIONS(1250), + [anon_sym_NULL] = ACTIONS(1250), + [anon_sym_nullptr] = ACTIONS(1250), + [sym_comment] = ACTIONS(3), + }, + [186] = { + [sym_identifier] = ACTIONS(1258), + [aux_sym_preproc_include_token1] = ACTIONS(1258), + [aux_sym_preproc_def_token1] = ACTIONS(1258), + [aux_sym_preproc_if_token1] = ACTIONS(1258), + [aux_sym_preproc_if_token2] = ACTIONS(1258), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1258), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1258), + [sym_preproc_directive] = ACTIONS(1258), + [anon_sym_LPAREN2] = ACTIONS(1260), + [anon_sym_BANG] = ACTIONS(1260), + [anon_sym_TILDE] = ACTIONS(1260), + [anon_sym_DASH] = ACTIONS(1258), + [anon_sym_PLUS] = ACTIONS(1258), + [anon_sym_STAR] = ACTIONS(1260), + [anon_sym_AMP] = ACTIONS(1260), + [anon_sym_SEMI] = ACTIONS(1260), + [anon_sym___extension__] = ACTIONS(1258), + [anon_sym_typedef] = ACTIONS(1258), + [anon_sym_extern] = ACTIONS(1258), + [anon_sym___attribute__] = ACTIONS(1258), + [anon_sym___attribute] = ACTIONS(1258), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1260), + [anon_sym___declspec] = ACTIONS(1258), + [anon_sym___cdecl] = ACTIONS(1258), + [anon_sym___clrcall] = ACTIONS(1258), + [anon_sym___stdcall] = ACTIONS(1258), + [anon_sym___fastcall] = ACTIONS(1258), + [anon_sym___thiscall] = ACTIONS(1258), + [anon_sym___vectorcall] = ACTIONS(1258), + [anon_sym_LBRACE] = ACTIONS(1260), + [anon_sym_signed] = ACTIONS(1258), + [anon_sym_unsigned] = ACTIONS(1258), + [anon_sym_long] = ACTIONS(1258), + [anon_sym_short] = ACTIONS(1258), + [anon_sym_static] = ACTIONS(1258), + [anon_sym_auto] = ACTIONS(1258), + [anon_sym_register] = ACTIONS(1258), + [anon_sym_inline] = ACTIONS(1258), + [anon_sym___inline] = ACTIONS(1258), + [anon_sym___inline__] = ACTIONS(1258), + [anon_sym___forceinline] = ACTIONS(1258), + [anon_sym_thread_local] = ACTIONS(1258), + [anon_sym___thread] = ACTIONS(1258), + [anon_sym_const] = ACTIONS(1258), + [anon_sym_constexpr] = ACTIONS(1258), + [anon_sym_volatile] = ACTIONS(1258), + [anon_sym_restrict] = ACTIONS(1258), + [anon_sym___restrict__] = ACTIONS(1258), + [anon_sym__Atomic] = ACTIONS(1258), + [anon_sym__Noreturn] = ACTIONS(1258), + [anon_sym_noreturn] = ACTIONS(1258), + [anon_sym__Nonnull] = ACTIONS(1258), + [anon_sym_alignas] = ACTIONS(1258), + [anon_sym__Alignas] = ACTIONS(1258), + [sym_primitive_type] = ACTIONS(1258), + [anon_sym_enum] = ACTIONS(1258), + [anon_sym_struct] = ACTIONS(1258), + [anon_sym_union] = ACTIONS(1258), + [anon_sym_if] = ACTIONS(1258), + [anon_sym_else] = ACTIONS(1258), + [anon_sym_switch] = ACTIONS(1258), + [anon_sym_case] = ACTIONS(1258), + [anon_sym_default] = ACTIONS(1258), + [anon_sym_while] = ACTIONS(1258), + [anon_sym_do] = ACTIONS(1258), + [anon_sym_for] = ACTIONS(1258), + [anon_sym_return] = ACTIONS(1258), + [anon_sym_break] = ACTIONS(1258), + [anon_sym_continue] = ACTIONS(1258), + [anon_sym_goto] = ACTIONS(1258), + [anon_sym___try] = ACTIONS(1258), + [anon_sym___leave] = ACTIONS(1258), + [anon_sym_DASH_DASH] = ACTIONS(1260), + [anon_sym_PLUS_PLUS] = ACTIONS(1260), + [anon_sym_sizeof] = ACTIONS(1258), + [anon_sym___alignof__] = ACTIONS(1258), + [anon_sym___alignof] = ACTIONS(1258), + [anon_sym__alignof] = ACTIONS(1258), + [anon_sym_alignof] = ACTIONS(1258), + [anon_sym__Alignof] = ACTIONS(1258), + [anon_sym_offsetof] = ACTIONS(1258), + [anon_sym__Generic] = ACTIONS(1258), + [anon_sym_asm] = ACTIONS(1258), + [anon_sym___asm__] = ACTIONS(1258), + [anon_sym___asm] = ACTIONS(1258), + [sym_number_literal] = ACTIONS(1260), + [anon_sym_L_SQUOTE] = ACTIONS(1260), + [anon_sym_u_SQUOTE] = ACTIONS(1260), + [anon_sym_U_SQUOTE] = ACTIONS(1260), + [anon_sym_u8_SQUOTE] = ACTIONS(1260), + [anon_sym_SQUOTE] = ACTIONS(1260), + [anon_sym_L_DQUOTE] = ACTIONS(1260), + [anon_sym_u_DQUOTE] = ACTIONS(1260), + [anon_sym_U_DQUOTE] = ACTIONS(1260), + [anon_sym_u8_DQUOTE] = ACTIONS(1260), + [anon_sym_DQUOTE] = ACTIONS(1260), + [sym_true] = ACTIONS(1258), + [sym_false] = ACTIONS(1258), + [anon_sym_NULL] = ACTIONS(1258), + [anon_sym_nullptr] = ACTIONS(1258), + [sym_comment] = ACTIONS(3), + }, + [187] = { + [sym_identifier] = ACTIONS(1226), + [aux_sym_preproc_include_token1] = ACTIONS(1226), + [aux_sym_preproc_def_token1] = ACTIONS(1226), + [aux_sym_preproc_if_token1] = ACTIONS(1226), + [aux_sym_preproc_if_token2] = ACTIONS(1226), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1226), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1226), + [sym_preproc_directive] = ACTIONS(1226), + [anon_sym_LPAREN2] = ACTIONS(1228), + [anon_sym_BANG] = ACTIONS(1228), + [anon_sym_TILDE] = ACTIONS(1228), + [anon_sym_DASH] = ACTIONS(1226), + [anon_sym_PLUS] = ACTIONS(1226), + [anon_sym_STAR] = ACTIONS(1228), + [anon_sym_AMP] = ACTIONS(1228), + [anon_sym_SEMI] = ACTIONS(1228), + [anon_sym___extension__] = ACTIONS(1226), + [anon_sym_typedef] = ACTIONS(1226), + [anon_sym_extern] = ACTIONS(1226), + [anon_sym___attribute__] = ACTIONS(1226), + [anon_sym___attribute] = ACTIONS(1226), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1228), + [anon_sym___declspec] = ACTIONS(1226), + [anon_sym___cdecl] = ACTIONS(1226), + [anon_sym___clrcall] = ACTIONS(1226), + [anon_sym___stdcall] = ACTIONS(1226), + [anon_sym___fastcall] = ACTIONS(1226), + [anon_sym___thiscall] = ACTIONS(1226), + [anon_sym___vectorcall] = ACTIONS(1226), + [anon_sym_LBRACE] = ACTIONS(1228), + [anon_sym_signed] = ACTIONS(1226), + [anon_sym_unsigned] = ACTIONS(1226), + [anon_sym_long] = ACTIONS(1226), + [anon_sym_short] = ACTIONS(1226), + [anon_sym_static] = ACTIONS(1226), + [anon_sym_auto] = ACTIONS(1226), + [anon_sym_register] = ACTIONS(1226), + [anon_sym_inline] = ACTIONS(1226), + [anon_sym___inline] = ACTIONS(1226), + [anon_sym___inline__] = ACTIONS(1226), + [anon_sym___forceinline] = ACTIONS(1226), + [anon_sym_thread_local] = ACTIONS(1226), + [anon_sym___thread] = ACTIONS(1226), + [anon_sym_const] = ACTIONS(1226), + [anon_sym_constexpr] = ACTIONS(1226), + [anon_sym_volatile] = ACTIONS(1226), + [anon_sym_restrict] = ACTIONS(1226), + [anon_sym___restrict__] = ACTIONS(1226), + [anon_sym__Atomic] = ACTIONS(1226), + [anon_sym__Noreturn] = ACTIONS(1226), + [anon_sym_noreturn] = ACTIONS(1226), + [anon_sym__Nonnull] = ACTIONS(1226), + [anon_sym_alignas] = ACTIONS(1226), + [anon_sym__Alignas] = ACTIONS(1226), + [sym_primitive_type] = ACTIONS(1226), + [anon_sym_enum] = ACTIONS(1226), + [anon_sym_struct] = ACTIONS(1226), + [anon_sym_union] = ACTIONS(1226), + [anon_sym_if] = ACTIONS(1226), + [anon_sym_else] = ACTIONS(1226), + [anon_sym_switch] = ACTIONS(1226), + [anon_sym_case] = ACTIONS(1226), + [anon_sym_default] = ACTIONS(1226), + [anon_sym_while] = ACTIONS(1226), + [anon_sym_do] = ACTIONS(1226), + [anon_sym_for] = ACTIONS(1226), + [anon_sym_return] = ACTIONS(1226), + [anon_sym_break] = ACTIONS(1226), + [anon_sym_continue] = ACTIONS(1226), + [anon_sym_goto] = ACTIONS(1226), + [anon_sym___try] = ACTIONS(1226), + [anon_sym___leave] = ACTIONS(1226), + [anon_sym_DASH_DASH] = ACTIONS(1228), + [anon_sym_PLUS_PLUS] = ACTIONS(1228), + [anon_sym_sizeof] = ACTIONS(1226), + [anon_sym___alignof__] = ACTIONS(1226), + [anon_sym___alignof] = ACTIONS(1226), + [anon_sym__alignof] = ACTIONS(1226), + [anon_sym_alignof] = ACTIONS(1226), + [anon_sym__Alignof] = ACTIONS(1226), + [anon_sym_offsetof] = ACTIONS(1226), + [anon_sym__Generic] = ACTIONS(1226), + [anon_sym_asm] = ACTIONS(1226), + [anon_sym___asm__] = ACTIONS(1226), + [anon_sym___asm] = ACTIONS(1226), + [sym_number_literal] = ACTIONS(1228), + [anon_sym_L_SQUOTE] = ACTIONS(1228), + [anon_sym_u_SQUOTE] = ACTIONS(1228), + [anon_sym_U_SQUOTE] = ACTIONS(1228), + [anon_sym_u8_SQUOTE] = ACTIONS(1228), + [anon_sym_SQUOTE] = ACTIONS(1228), + [anon_sym_L_DQUOTE] = ACTIONS(1228), + [anon_sym_u_DQUOTE] = ACTIONS(1228), + [anon_sym_U_DQUOTE] = ACTIONS(1228), + [anon_sym_u8_DQUOTE] = ACTIONS(1228), + [anon_sym_DQUOTE] = ACTIONS(1228), + [sym_true] = ACTIONS(1226), + [sym_false] = ACTIONS(1226), + [anon_sym_NULL] = ACTIONS(1226), + [anon_sym_nullptr] = ACTIONS(1226), + [sym_comment] = ACTIONS(3), + }, + [188] = { + [sym_identifier] = ACTIONS(1218), + [aux_sym_preproc_include_token1] = ACTIONS(1218), + [aux_sym_preproc_def_token1] = ACTIONS(1218), + [aux_sym_preproc_if_token1] = ACTIONS(1218), + [aux_sym_preproc_if_token2] = ACTIONS(1218), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1218), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1218), + [sym_preproc_directive] = ACTIONS(1218), + [anon_sym_LPAREN2] = ACTIONS(1220), + [anon_sym_BANG] = ACTIONS(1220), + [anon_sym_TILDE] = ACTIONS(1220), + [anon_sym_DASH] = ACTIONS(1218), + [anon_sym_PLUS] = ACTIONS(1218), + [anon_sym_STAR] = ACTIONS(1220), + [anon_sym_AMP] = ACTIONS(1220), + [anon_sym_SEMI] = ACTIONS(1220), + [anon_sym___extension__] = ACTIONS(1218), + [anon_sym_typedef] = ACTIONS(1218), + [anon_sym_extern] = ACTIONS(1218), + [anon_sym___attribute__] = ACTIONS(1218), + [anon_sym___attribute] = ACTIONS(1218), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1220), + [anon_sym___declspec] = ACTIONS(1218), + [anon_sym___cdecl] = ACTIONS(1218), + [anon_sym___clrcall] = ACTIONS(1218), + [anon_sym___stdcall] = ACTIONS(1218), + [anon_sym___fastcall] = ACTIONS(1218), + [anon_sym___thiscall] = ACTIONS(1218), + [anon_sym___vectorcall] = ACTIONS(1218), + [anon_sym_LBRACE] = ACTIONS(1220), + [anon_sym_signed] = ACTIONS(1218), + [anon_sym_unsigned] = ACTIONS(1218), + [anon_sym_long] = ACTIONS(1218), + [anon_sym_short] = ACTIONS(1218), + [anon_sym_static] = ACTIONS(1218), + [anon_sym_auto] = ACTIONS(1218), + [anon_sym_register] = ACTIONS(1218), + [anon_sym_inline] = ACTIONS(1218), + [anon_sym___inline] = ACTIONS(1218), + [anon_sym___inline__] = ACTIONS(1218), + [anon_sym___forceinline] = ACTIONS(1218), + [anon_sym_thread_local] = ACTIONS(1218), + [anon_sym___thread] = ACTIONS(1218), + [anon_sym_const] = ACTIONS(1218), + [anon_sym_constexpr] = ACTIONS(1218), + [anon_sym_volatile] = ACTIONS(1218), + [anon_sym_restrict] = ACTIONS(1218), + [anon_sym___restrict__] = ACTIONS(1218), + [anon_sym__Atomic] = ACTIONS(1218), + [anon_sym__Noreturn] = ACTIONS(1218), + [anon_sym_noreturn] = ACTIONS(1218), + [anon_sym__Nonnull] = ACTIONS(1218), + [anon_sym_alignas] = ACTIONS(1218), + [anon_sym__Alignas] = ACTIONS(1218), + [sym_primitive_type] = ACTIONS(1218), + [anon_sym_enum] = ACTIONS(1218), + [anon_sym_struct] = ACTIONS(1218), + [anon_sym_union] = ACTIONS(1218), + [anon_sym_if] = ACTIONS(1218), + [anon_sym_else] = ACTIONS(1218), + [anon_sym_switch] = ACTIONS(1218), + [anon_sym_case] = ACTIONS(1218), + [anon_sym_default] = ACTIONS(1218), + [anon_sym_while] = ACTIONS(1218), + [anon_sym_do] = ACTIONS(1218), + [anon_sym_for] = ACTIONS(1218), + [anon_sym_return] = ACTIONS(1218), + [anon_sym_break] = ACTIONS(1218), + [anon_sym_continue] = ACTIONS(1218), + [anon_sym_goto] = ACTIONS(1218), + [anon_sym___try] = ACTIONS(1218), + [anon_sym___leave] = ACTIONS(1218), + [anon_sym_DASH_DASH] = ACTIONS(1220), + [anon_sym_PLUS_PLUS] = ACTIONS(1220), + [anon_sym_sizeof] = ACTIONS(1218), + [anon_sym___alignof__] = ACTIONS(1218), + [anon_sym___alignof] = ACTIONS(1218), + [anon_sym__alignof] = ACTIONS(1218), + [anon_sym_alignof] = ACTIONS(1218), + [anon_sym__Alignof] = ACTIONS(1218), + [anon_sym_offsetof] = ACTIONS(1218), + [anon_sym__Generic] = ACTIONS(1218), + [anon_sym_asm] = ACTIONS(1218), + [anon_sym___asm__] = ACTIONS(1218), + [anon_sym___asm] = ACTIONS(1218), + [sym_number_literal] = ACTIONS(1220), + [anon_sym_L_SQUOTE] = ACTIONS(1220), + [anon_sym_u_SQUOTE] = ACTIONS(1220), + [anon_sym_U_SQUOTE] = ACTIONS(1220), + [anon_sym_u8_SQUOTE] = ACTIONS(1220), + [anon_sym_SQUOTE] = ACTIONS(1220), + [anon_sym_L_DQUOTE] = ACTIONS(1220), + [anon_sym_u_DQUOTE] = ACTIONS(1220), + [anon_sym_U_DQUOTE] = ACTIONS(1220), + [anon_sym_u8_DQUOTE] = ACTIONS(1220), + [anon_sym_DQUOTE] = ACTIONS(1220), + [sym_true] = ACTIONS(1218), + [sym_false] = ACTIONS(1218), + [anon_sym_NULL] = ACTIONS(1218), + [anon_sym_nullptr] = ACTIONS(1218), + [sym_comment] = ACTIONS(3), + }, + [189] = { + [sym_identifier] = ACTIONS(1142), + [aux_sym_preproc_include_token1] = ACTIONS(1142), + [aux_sym_preproc_def_token1] = ACTIONS(1142), + [aux_sym_preproc_if_token1] = ACTIONS(1142), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1142), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1142), + [sym_preproc_directive] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(1144), + [anon_sym_BANG] = ACTIONS(1144), + [anon_sym_TILDE] = ACTIONS(1144), + [anon_sym_DASH] = ACTIONS(1142), + [anon_sym_PLUS] = ACTIONS(1142), + [anon_sym_STAR] = ACTIONS(1144), + [anon_sym_AMP] = ACTIONS(1144), + [anon_sym_SEMI] = ACTIONS(1144), + [anon_sym___extension__] = ACTIONS(1142), + [anon_sym_typedef] = ACTIONS(1142), + [anon_sym_extern] = ACTIONS(1142), + [anon_sym___attribute__] = ACTIONS(1142), + [anon_sym___attribute] = ACTIONS(1142), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1144), + [anon_sym___declspec] = ACTIONS(1142), + [anon_sym___cdecl] = ACTIONS(1142), + [anon_sym___clrcall] = ACTIONS(1142), + [anon_sym___stdcall] = ACTIONS(1142), + [anon_sym___fastcall] = ACTIONS(1142), + [anon_sym___thiscall] = ACTIONS(1142), + [anon_sym___vectorcall] = ACTIONS(1142), + [anon_sym_LBRACE] = ACTIONS(1144), + [anon_sym_RBRACE] = ACTIONS(1144), + [anon_sym_signed] = ACTIONS(1142), + [anon_sym_unsigned] = ACTIONS(1142), + [anon_sym_long] = ACTIONS(1142), + [anon_sym_short] = ACTIONS(1142), + [anon_sym_static] = ACTIONS(1142), + [anon_sym_auto] = ACTIONS(1142), + [anon_sym_register] = ACTIONS(1142), + [anon_sym_inline] = ACTIONS(1142), + [anon_sym___inline] = ACTIONS(1142), + [anon_sym___inline__] = ACTIONS(1142), + [anon_sym___forceinline] = ACTIONS(1142), + [anon_sym_thread_local] = ACTIONS(1142), + [anon_sym___thread] = ACTIONS(1142), + [anon_sym_const] = ACTIONS(1142), + [anon_sym_constexpr] = ACTIONS(1142), + [anon_sym_volatile] = ACTIONS(1142), + [anon_sym_restrict] = ACTIONS(1142), + [anon_sym___restrict__] = ACTIONS(1142), + [anon_sym__Atomic] = ACTIONS(1142), + [anon_sym__Noreturn] = ACTIONS(1142), + [anon_sym_noreturn] = ACTIONS(1142), + [anon_sym__Nonnull] = ACTIONS(1142), + [anon_sym_alignas] = ACTIONS(1142), + [anon_sym__Alignas] = ACTIONS(1142), + [sym_primitive_type] = ACTIONS(1142), + [anon_sym_enum] = ACTIONS(1142), + [anon_sym_struct] = ACTIONS(1142), + [anon_sym_union] = ACTIONS(1142), + [anon_sym_if] = ACTIONS(1142), + [anon_sym_else] = ACTIONS(1142), + [anon_sym_switch] = ACTIONS(1142), + [anon_sym_case] = ACTIONS(1142), + [anon_sym_default] = ACTIONS(1142), + [anon_sym_while] = ACTIONS(1142), + [anon_sym_do] = ACTIONS(1142), + [anon_sym_for] = ACTIONS(1142), + [anon_sym_return] = ACTIONS(1142), + [anon_sym_break] = ACTIONS(1142), + [anon_sym_continue] = ACTIONS(1142), + [anon_sym_goto] = ACTIONS(1142), + [anon_sym___try] = ACTIONS(1142), + [anon_sym___leave] = ACTIONS(1142), + [anon_sym_DASH_DASH] = ACTIONS(1144), + [anon_sym_PLUS_PLUS] = ACTIONS(1144), + [anon_sym_sizeof] = ACTIONS(1142), + [anon_sym___alignof__] = ACTIONS(1142), + [anon_sym___alignof] = ACTIONS(1142), + [anon_sym__alignof] = ACTIONS(1142), + [anon_sym_alignof] = ACTIONS(1142), + [anon_sym__Alignof] = ACTIONS(1142), + [anon_sym_offsetof] = ACTIONS(1142), + [anon_sym__Generic] = ACTIONS(1142), + [anon_sym_asm] = ACTIONS(1142), + [anon_sym___asm__] = ACTIONS(1142), + [anon_sym___asm] = ACTIONS(1142), + [sym_number_literal] = ACTIONS(1144), + [anon_sym_L_SQUOTE] = ACTIONS(1144), + [anon_sym_u_SQUOTE] = ACTIONS(1144), + [anon_sym_U_SQUOTE] = ACTIONS(1144), + [anon_sym_u8_SQUOTE] = ACTIONS(1144), + [anon_sym_SQUOTE] = ACTIONS(1144), + [anon_sym_L_DQUOTE] = ACTIONS(1144), + [anon_sym_u_DQUOTE] = ACTIONS(1144), + [anon_sym_U_DQUOTE] = ACTIONS(1144), + [anon_sym_u8_DQUOTE] = ACTIONS(1144), + [anon_sym_DQUOTE] = ACTIONS(1144), + [sym_true] = ACTIONS(1142), + [sym_false] = ACTIONS(1142), + [anon_sym_NULL] = ACTIONS(1142), + [anon_sym_nullptr] = ACTIONS(1142), + [sym_comment] = ACTIONS(3), + }, + [190] = { + [sym_identifier] = ACTIONS(1254), + [aux_sym_preproc_include_token1] = ACTIONS(1254), + [aux_sym_preproc_def_token1] = ACTIONS(1254), + [aux_sym_preproc_if_token1] = ACTIONS(1254), + [aux_sym_preproc_if_token2] = ACTIONS(1254), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1254), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1254), + [sym_preproc_directive] = ACTIONS(1254), + [anon_sym_LPAREN2] = ACTIONS(1256), + [anon_sym_BANG] = ACTIONS(1256), + [anon_sym_TILDE] = ACTIONS(1256), + [anon_sym_DASH] = ACTIONS(1254), + [anon_sym_PLUS] = ACTIONS(1254), + [anon_sym_STAR] = ACTIONS(1256), + [anon_sym_AMP] = ACTIONS(1256), + [anon_sym_SEMI] = ACTIONS(1256), + [anon_sym___extension__] = ACTIONS(1254), + [anon_sym_typedef] = ACTIONS(1254), + [anon_sym_extern] = ACTIONS(1254), + [anon_sym___attribute__] = ACTIONS(1254), + [anon_sym___attribute] = ACTIONS(1254), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1256), + [anon_sym___declspec] = ACTIONS(1254), + [anon_sym___cdecl] = ACTIONS(1254), + [anon_sym___clrcall] = ACTIONS(1254), + [anon_sym___stdcall] = ACTIONS(1254), + [anon_sym___fastcall] = ACTIONS(1254), + [anon_sym___thiscall] = ACTIONS(1254), + [anon_sym___vectorcall] = ACTIONS(1254), + [anon_sym_LBRACE] = ACTIONS(1256), + [anon_sym_signed] = ACTIONS(1254), + [anon_sym_unsigned] = ACTIONS(1254), + [anon_sym_long] = ACTIONS(1254), + [anon_sym_short] = ACTIONS(1254), + [anon_sym_static] = ACTIONS(1254), + [anon_sym_auto] = ACTIONS(1254), + [anon_sym_register] = ACTIONS(1254), + [anon_sym_inline] = ACTIONS(1254), + [anon_sym___inline] = ACTIONS(1254), + [anon_sym___inline__] = ACTIONS(1254), + [anon_sym___forceinline] = ACTIONS(1254), + [anon_sym_thread_local] = ACTIONS(1254), + [anon_sym___thread] = ACTIONS(1254), + [anon_sym_const] = ACTIONS(1254), + [anon_sym_constexpr] = ACTIONS(1254), + [anon_sym_volatile] = ACTIONS(1254), + [anon_sym_restrict] = ACTIONS(1254), + [anon_sym___restrict__] = ACTIONS(1254), + [anon_sym__Atomic] = ACTIONS(1254), + [anon_sym__Noreturn] = ACTIONS(1254), + [anon_sym_noreturn] = ACTIONS(1254), + [anon_sym__Nonnull] = ACTIONS(1254), + [anon_sym_alignas] = ACTIONS(1254), + [anon_sym__Alignas] = ACTIONS(1254), + [sym_primitive_type] = ACTIONS(1254), + [anon_sym_enum] = ACTIONS(1254), + [anon_sym_struct] = ACTIONS(1254), + [anon_sym_union] = ACTIONS(1254), + [anon_sym_if] = ACTIONS(1254), + [anon_sym_else] = ACTIONS(1254), + [anon_sym_switch] = ACTIONS(1254), + [anon_sym_case] = ACTIONS(1254), + [anon_sym_default] = ACTIONS(1254), + [anon_sym_while] = ACTIONS(1254), + [anon_sym_do] = ACTIONS(1254), + [anon_sym_for] = ACTIONS(1254), + [anon_sym_return] = ACTIONS(1254), + [anon_sym_break] = ACTIONS(1254), + [anon_sym_continue] = ACTIONS(1254), + [anon_sym_goto] = ACTIONS(1254), + [anon_sym___try] = ACTIONS(1254), + [anon_sym___leave] = ACTIONS(1254), + [anon_sym_DASH_DASH] = ACTIONS(1256), + [anon_sym_PLUS_PLUS] = ACTIONS(1256), + [anon_sym_sizeof] = ACTIONS(1254), + [anon_sym___alignof__] = ACTIONS(1254), + [anon_sym___alignof] = ACTIONS(1254), + [anon_sym__alignof] = ACTIONS(1254), + [anon_sym_alignof] = ACTIONS(1254), + [anon_sym__Alignof] = ACTIONS(1254), + [anon_sym_offsetof] = ACTIONS(1254), + [anon_sym__Generic] = ACTIONS(1254), + [anon_sym_asm] = ACTIONS(1254), + [anon_sym___asm__] = ACTIONS(1254), + [anon_sym___asm] = ACTIONS(1254), + [sym_number_literal] = ACTIONS(1256), + [anon_sym_L_SQUOTE] = ACTIONS(1256), + [anon_sym_u_SQUOTE] = ACTIONS(1256), + [anon_sym_U_SQUOTE] = ACTIONS(1256), + [anon_sym_u8_SQUOTE] = ACTIONS(1256), + [anon_sym_SQUOTE] = ACTIONS(1256), + [anon_sym_L_DQUOTE] = ACTIONS(1256), + [anon_sym_u_DQUOTE] = ACTIONS(1256), + [anon_sym_U_DQUOTE] = ACTIONS(1256), + [anon_sym_u8_DQUOTE] = ACTIONS(1256), + [anon_sym_DQUOTE] = ACTIONS(1256), + [sym_true] = ACTIONS(1254), + [sym_false] = ACTIONS(1254), + [anon_sym_NULL] = ACTIONS(1254), + [anon_sym_nullptr] = ACTIONS(1254), + [sym_comment] = ACTIONS(3), + }, + [191] = { + [sym_identifier] = ACTIONS(1146), + [aux_sym_preproc_include_token1] = ACTIONS(1146), + [aux_sym_preproc_def_token1] = ACTIONS(1146), + [aux_sym_preproc_if_token1] = ACTIONS(1146), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1146), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1146), + [sym_preproc_directive] = ACTIONS(1146), + [anon_sym_LPAREN2] = ACTIONS(1148), + [anon_sym_BANG] = ACTIONS(1148), + [anon_sym_TILDE] = ACTIONS(1148), + [anon_sym_DASH] = ACTIONS(1146), + [anon_sym_PLUS] = ACTIONS(1146), + [anon_sym_STAR] = ACTIONS(1148), + [anon_sym_AMP] = ACTIONS(1148), + [anon_sym_SEMI] = ACTIONS(1148), + [anon_sym___extension__] = ACTIONS(1146), + [anon_sym_typedef] = ACTIONS(1146), + [anon_sym_extern] = ACTIONS(1146), + [anon_sym___attribute__] = ACTIONS(1146), + [anon_sym___attribute] = ACTIONS(1146), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1148), + [anon_sym___declspec] = ACTIONS(1146), + [anon_sym___cdecl] = ACTIONS(1146), + [anon_sym___clrcall] = ACTIONS(1146), + [anon_sym___stdcall] = ACTIONS(1146), + [anon_sym___fastcall] = ACTIONS(1146), + [anon_sym___thiscall] = ACTIONS(1146), + [anon_sym___vectorcall] = ACTIONS(1146), + [anon_sym_LBRACE] = ACTIONS(1148), + [anon_sym_RBRACE] = ACTIONS(1148), + [anon_sym_signed] = ACTIONS(1146), + [anon_sym_unsigned] = ACTIONS(1146), + [anon_sym_long] = ACTIONS(1146), + [anon_sym_short] = ACTIONS(1146), + [anon_sym_static] = ACTIONS(1146), + [anon_sym_auto] = ACTIONS(1146), + [anon_sym_register] = ACTIONS(1146), + [anon_sym_inline] = ACTIONS(1146), + [anon_sym___inline] = ACTIONS(1146), + [anon_sym___inline__] = ACTIONS(1146), + [anon_sym___forceinline] = ACTIONS(1146), + [anon_sym_thread_local] = ACTIONS(1146), + [anon_sym___thread] = ACTIONS(1146), + [anon_sym_const] = ACTIONS(1146), + [anon_sym_constexpr] = ACTIONS(1146), + [anon_sym_volatile] = ACTIONS(1146), + [anon_sym_restrict] = ACTIONS(1146), + [anon_sym___restrict__] = ACTIONS(1146), + [anon_sym__Atomic] = ACTIONS(1146), + [anon_sym__Noreturn] = ACTIONS(1146), + [anon_sym_noreturn] = ACTIONS(1146), + [anon_sym__Nonnull] = ACTIONS(1146), + [anon_sym_alignas] = ACTIONS(1146), + [anon_sym__Alignas] = ACTIONS(1146), + [sym_primitive_type] = ACTIONS(1146), + [anon_sym_enum] = ACTIONS(1146), + [anon_sym_struct] = ACTIONS(1146), + [anon_sym_union] = ACTIONS(1146), + [anon_sym_if] = ACTIONS(1146), + [anon_sym_else] = ACTIONS(1146), + [anon_sym_switch] = ACTIONS(1146), + [anon_sym_case] = ACTIONS(1146), + [anon_sym_default] = ACTIONS(1146), + [anon_sym_while] = ACTIONS(1146), + [anon_sym_do] = ACTIONS(1146), + [anon_sym_for] = ACTIONS(1146), + [anon_sym_return] = ACTIONS(1146), + [anon_sym_break] = ACTIONS(1146), + [anon_sym_continue] = ACTIONS(1146), + [anon_sym_goto] = ACTIONS(1146), + [anon_sym___try] = ACTIONS(1146), + [anon_sym___leave] = ACTIONS(1146), + [anon_sym_DASH_DASH] = ACTIONS(1148), + [anon_sym_PLUS_PLUS] = ACTIONS(1148), + [anon_sym_sizeof] = ACTIONS(1146), + [anon_sym___alignof__] = ACTIONS(1146), + [anon_sym___alignof] = ACTIONS(1146), + [anon_sym__alignof] = ACTIONS(1146), + [anon_sym_alignof] = ACTIONS(1146), + [anon_sym__Alignof] = ACTIONS(1146), + [anon_sym_offsetof] = ACTIONS(1146), + [anon_sym__Generic] = ACTIONS(1146), + [anon_sym_asm] = ACTIONS(1146), + [anon_sym___asm__] = ACTIONS(1146), + [anon_sym___asm] = ACTIONS(1146), + [sym_number_literal] = ACTIONS(1148), + [anon_sym_L_SQUOTE] = ACTIONS(1148), + [anon_sym_u_SQUOTE] = ACTIONS(1148), + [anon_sym_U_SQUOTE] = ACTIONS(1148), + [anon_sym_u8_SQUOTE] = ACTIONS(1148), + [anon_sym_SQUOTE] = ACTIONS(1148), + [anon_sym_L_DQUOTE] = ACTIONS(1148), + [anon_sym_u_DQUOTE] = ACTIONS(1148), + [anon_sym_U_DQUOTE] = ACTIONS(1148), + [anon_sym_u8_DQUOTE] = ACTIONS(1148), + [anon_sym_DQUOTE] = ACTIONS(1148), + [sym_true] = ACTIONS(1146), + [sym_false] = ACTIONS(1146), + [anon_sym_NULL] = ACTIONS(1146), + [anon_sym_nullptr] = ACTIONS(1146), + [sym_comment] = ACTIONS(3), + }, + [192] = { + [sym_identifier] = ACTIONS(1150), + [aux_sym_preproc_include_token1] = ACTIONS(1150), + [aux_sym_preproc_def_token1] = ACTIONS(1150), + [aux_sym_preproc_if_token1] = ACTIONS(1150), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1150), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1150), + [sym_preproc_directive] = ACTIONS(1150), + [anon_sym_LPAREN2] = ACTIONS(1152), + [anon_sym_BANG] = ACTIONS(1152), + [anon_sym_TILDE] = ACTIONS(1152), + [anon_sym_DASH] = ACTIONS(1150), + [anon_sym_PLUS] = ACTIONS(1150), + [anon_sym_STAR] = ACTIONS(1152), + [anon_sym_AMP] = ACTIONS(1152), + [anon_sym_SEMI] = ACTIONS(1152), + [anon_sym___extension__] = ACTIONS(1150), + [anon_sym_typedef] = ACTIONS(1150), + [anon_sym_extern] = ACTIONS(1150), + [anon_sym___attribute__] = ACTIONS(1150), + [anon_sym___attribute] = ACTIONS(1150), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1152), + [anon_sym___declspec] = ACTIONS(1150), + [anon_sym___cdecl] = ACTIONS(1150), + [anon_sym___clrcall] = ACTIONS(1150), + [anon_sym___stdcall] = ACTIONS(1150), + [anon_sym___fastcall] = ACTIONS(1150), + [anon_sym___thiscall] = ACTIONS(1150), + [anon_sym___vectorcall] = ACTIONS(1150), + [anon_sym_LBRACE] = ACTIONS(1152), + [anon_sym_RBRACE] = ACTIONS(1152), + [anon_sym_signed] = ACTIONS(1150), + [anon_sym_unsigned] = ACTIONS(1150), + [anon_sym_long] = ACTIONS(1150), + [anon_sym_short] = ACTIONS(1150), + [anon_sym_static] = ACTIONS(1150), + [anon_sym_auto] = ACTIONS(1150), + [anon_sym_register] = ACTIONS(1150), + [anon_sym_inline] = ACTIONS(1150), + [anon_sym___inline] = ACTIONS(1150), + [anon_sym___inline__] = ACTIONS(1150), + [anon_sym___forceinline] = ACTIONS(1150), + [anon_sym_thread_local] = ACTIONS(1150), + [anon_sym___thread] = ACTIONS(1150), + [anon_sym_const] = ACTIONS(1150), + [anon_sym_constexpr] = ACTIONS(1150), + [anon_sym_volatile] = ACTIONS(1150), + [anon_sym_restrict] = ACTIONS(1150), + [anon_sym___restrict__] = ACTIONS(1150), + [anon_sym__Atomic] = ACTIONS(1150), + [anon_sym__Noreturn] = ACTIONS(1150), + [anon_sym_noreturn] = ACTIONS(1150), + [anon_sym__Nonnull] = ACTIONS(1150), + [anon_sym_alignas] = ACTIONS(1150), + [anon_sym__Alignas] = ACTIONS(1150), + [sym_primitive_type] = ACTIONS(1150), + [anon_sym_enum] = ACTIONS(1150), + [anon_sym_struct] = ACTIONS(1150), + [anon_sym_union] = ACTIONS(1150), + [anon_sym_if] = ACTIONS(1150), + [anon_sym_else] = ACTIONS(1150), + [anon_sym_switch] = ACTIONS(1150), + [anon_sym_case] = ACTIONS(1150), + [anon_sym_default] = ACTIONS(1150), + [anon_sym_while] = ACTIONS(1150), + [anon_sym_do] = ACTIONS(1150), + [anon_sym_for] = ACTIONS(1150), + [anon_sym_return] = ACTIONS(1150), + [anon_sym_break] = ACTIONS(1150), + [anon_sym_continue] = ACTIONS(1150), + [anon_sym_goto] = ACTIONS(1150), + [anon_sym___try] = ACTIONS(1150), + [anon_sym___leave] = ACTIONS(1150), + [anon_sym_DASH_DASH] = ACTIONS(1152), + [anon_sym_PLUS_PLUS] = ACTIONS(1152), + [anon_sym_sizeof] = ACTIONS(1150), + [anon_sym___alignof__] = ACTIONS(1150), + [anon_sym___alignof] = ACTIONS(1150), + [anon_sym__alignof] = ACTIONS(1150), + [anon_sym_alignof] = ACTIONS(1150), + [anon_sym__Alignof] = ACTIONS(1150), + [anon_sym_offsetof] = ACTIONS(1150), + [anon_sym__Generic] = ACTIONS(1150), + [anon_sym_asm] = ACTIONS(1150), + [anon_sym___asm__] = ACTIONS(1150), + [anon_sym___asm] = ACTIONS(1150), + [sym_number_literal] = ACTIONS(1152), + [anon_sym_L_SQUOTE] = ACTIONS(1152), + [anon_sym_u_SQUOTE] = ACTIONS(1152), + [anon_sym_U_SQUOTE] = ACTIONS(1152), + [anon_sym_u8_SQUOTE] = ACTIONS(1152), + [anon_sym_SQUOTE] = ACTIONS(1152), + [anon_sym_L_DQUOTE] = ACTIONS(1152), + [anon_sym_u_DQUOTE] = ACTIONS(1152), + [anon_sym_U_DQUOTE] = ACTIONS(1152), + [anon_sym_u8_DQUOTE] = ACTIONS(1152), + [anon_sym_DQUOTE] = ACTIONS(1152), + [sym_true] = ACTIONS(1150), + [sym_false] = ACTIONS(1150), + [anon_sym_NULL] = ACTIONS(1150), + [anon_sym_nullptr] = ACTIONS(1150), + [sym_comment] = ACTIONS(3), + }, + [193] = { + [sym_identifier] = ACTIONS(1138), + [aux_sym_preproc_include_token1] = ACTIONS(1138), + [aux_sym_preproc_def_token1] = ACTIONS(1138), + [aux_sym_preproc_if_token1] = ACTIONS(1138), + [aux_sym_preproc_if_token2] = ACTIONS(1138), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1138), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1138), + [sym_preproc_directive] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(1140), + [anon_sym_BANG] = ACTIONS(1140), + [anon_sym_TILDE] = ACTIONS(1140), + [anon_sym_DASH] = ACTIONS(1138), + [anon_sym_PLUS] = ACTIONS(1138), + [anon_sym_STAR] = ACTIONS(1140), + [anon_sym_AMP] = ACTIONS(1140), + [anon_sym_SEMI] = ACTIONS(1140), + [anon_sym___extension__] = ACTIONS(1138), + [anon_sym_typedef] = ACTIONS(1138), + [anon_sym_extern] = ACTIONS(1138), + [anon_sym___attribute__] = ACTIONS(1138), + [anon_sym___attribute] = ACTIONS(1138), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1140), + [anon_sym___declspec] = ACTIONS(1138), + [anon_sym___cdecl] = ACTIONS(1138), + [anon_sym___clrcall] = ACTIONS(1138), + [anon_sym___stdcall] = ACTIONS(1138), + [anon_sym___fastcall] = ACTIONS(1138), + [anon_sym___thiscall] = ACTIONS(1138), + [anon_sym___vectorcall] = ACTIONS(1138), + [anon_sym_LBRACE] = ACTIONS(1140), + [anon_sym_signed] = ACTIONS(1138), + [anon_sym_unsigned] = ACTIONS(1138), + [anon_sym_long] = ACTIONS(1138), + [anon_sym_short] = ACTIONS(1138), + [anon_sym_static] = ACTIONS(1138), + [anon_sym_auto] = ACTIONS(1138), + [anon_sym_register] = ACTIONS(1138), + [anon_sym_inline] = ACTIONS(1138), + [anon_sym___inline] = ACTIONS(1138), + [anon_sym___inline__] = ACTIONS(1138), + [anon_sym___forceinline] = ACTIONS(1138), + [anon_sym_thread_local] = ACTIONS(1138), + [anon_sym___thread] = ACTIONS(1138), + [anon_sym_const] = ACTIONS(1138), + [anon_sym_constexpr] = ACTIONS(1138), + [anon_sym_volatile] = ACTIONS(1138), + [anon_sym_restrict] = ACTIONS(1138), + [anon_sym___restrict__] = ACTIONS(1138), + [anon_sym__Atomic] = ACTIONS(1138), + [anon_sym__Noreturn] = ACTIONS(1138), + [anon_sym_noreturn] = ACTIONS(1138), + [anon_sym__Nonnull] = ACTIONS(1138), + [anon_sym_alignas] = ACTIONS(1138), + [anon_sym__Alignas] = ACTIONS(1138), + [sym_primitive_type] = ACTIONS(1138), + [anon_sym_enum] = ACTIONS(1138), + [anon_sym_struct] = ACTIONS(1138), + [anon_sym_union] = ACTIONS(1138), + [anon_sym_if] = ACTIONS(1138), + [anon_sym_else] = ACTIONS(1138), + [anon_sym_switch] = ACTIONS(1138), + [anon_sym_case] = ACTIONS(1138), + [anon_sym_default] = ACTIONS(1138), + [anon_sym_while] = ACTIONS(1138), + [anon_sym_do] = ACTIONS(1138), + [anon_sym_for] = ACTIONS(1138), + [anon_sym_return] = ACTIONS(1138), + [anon_sym_break] = ACTIONS(1138), + [anon_sym_continue] = ACTIONS(1138), + [anon_sym_goto] = ACTIONS(1138), + [anon_sym___try] = ACTIONS(1138), + [anon_sym___leave] = ACTIONS(1138), + [anon_sym_DASH_DASH] = ACTIONS(1140), + [anon_sym_PLUS_PLUS] = ACTIONS(1140), + [anon_sym_sizeof] = ACTIONS(1138), + [anon_sym___alignof__] = ACTIONS(1138), + [anon_sym___alignof] = ACTIONS(1138), + [anon_sym__alignof] = ACTIONS(1138), + [anon_sym_alignof] = ACTIONS(1138), + [anon_sym__Alignof] = ACTIONS(1138), + [anon_sym_offsetof] = ACTIONS(1138), + [anon_sym__Generic] = ACTIONS(1138), + [anon_sym_asm] = ACTIONS(1138), + [anon_sym___asm__] = ACTIONS(1138), + [anon_sym___asm] = ACTIONS(1138), + [sym_number_literal] = ACTIONS(1140), + [anon_sym_L_SQUOTE] = ACTIONS(1140), + [anon_sym_u_SQUOTE] = ACTIONS(1140), + [anon_sym_U_SQUOTE] = ACTIONS(1140), + [anon_sym_u8_SQUOTE] = ACTIONS(1140), + [anon_sym_SQUOTE] = ACTIONS(1140), + [anon_sym_L_DQUOTE] = ACTIONS(1140), + [anon_sym_u_DQUOTE] = ACTIONS(1140), + [anon_sym_U_DQUOTE] = ACTIONS(1140), + [anon_sym_u8_DQUOTE] = ACTIONS(1140), + [anon_sym_DQUOTE] = ACTIONS(1140), + [sym_true] = ACTIONS(1138), + [sym_false] = ACTIONS(1138), + [anon_sym_NULL] = ACTIONS(1138), + [anon_sym_nullptr] = ACTIONS(1138), + [sym_comment] = ACTIONS(3), + }, + [194] = { + [sym_identifier] = ACTIONS(1142), + [aux_sym_preproc_include_token1] = ACTIONS(1142), + [aux_sym_preproc_def_token1] = ACTIONS(1142), + [aux_sym_preproc_if_token1] = ACTIONS(1142), + [aux_sym_preproc_if_token2] = ACTIONS(1142), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1142), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1142), + [sym_preproc_directive] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(1144), + [anon_sym_BANG] = ACTIONS(1144), + [anon_sym_TILDE] = ACTIONS(1144), + [anon_sym_DASH] = ACTIONS(1142), + [anon_sym_PLUS] = ACTIONS(1142), + [anon_sym_STAR] = ACTIONS(1144), + [anon_sym_AMP] = ACTIONS(1144), + [anon_sym_SEMI] = ACTIONS(1144), + [anon_sym___extension__] = ACTIONS(1142), + [anon_sym_typedef] = ACTIONS(1142), + [anon_sym_extern] = ACTIONS(1142), + [anon_sym___attribute__] = ACTIONS(1142), + [anon_sym___attribute] = ACTIONS(1142), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1144), + [anon_sym___declspec] = ACTIONS(1142), + [anon_sym___cdecl] = ACTIONS(1142), + [anon_sym___clrcall] = ACTIONS(1142), + [anon_sym___stdcall] = ACTIONS(1142), + [anon_sym___fastcall] = ACTIONS(1142), + [anon_sym___thiscall] = ACTIONS(1142), + [anon_sym___vectorcall] = ACTIONS(1142), + [anon_sym_LBRACE] = ACTIONS(1144), + [anon_sym_signed] = ACTIONS(1142), + [anon_sym_unsigned] = ACTIONS(1142), + [anon_sym_long] = ACTIONS(1142), + [anon_sym_short] = ACTIONS(1142), + [anon_sym_static] = ACTIONS(1142), + [anon_sym_auto] = ACTIONS(1142), + [anon_sym_register] = ACTIONS(1142), + [anon_sym_inline] = ACTIONS(1142), + [anon_sym___inline] = ACTIONS(1142), + [anon_sym___inline__] = ACTIONS(1142), + [anon_sym___forceinline] = ACTIONS(1142), + [anon_sym_thread_local] = ACTIONS(1142), + [anon_sym___thread] = ACTIONS(1142), + [anon_sym_const] = ACTIONS(1142), + [anon_sym_constexpr] = ACTIONS(1142), + [anon_sym_volatile] = ACTIONS(1142), + [anon_sym_restrict] = ACTIONS(1142), + [anon_sym___restrict__] = ACTIONS(1142), + [anon_sym__Atomic] = ACTIONS(1142), + [anon_sym__Noreturn] = ACTIONS(1142), + [anon_sym_noreturn] = ACTIONS(1142), + [anon_sym__Nonnull] = ACTIONS(1142), + [anon_sym_alignas] = ACTIONS(1142), + [anon_sym__Alignas] = ACTIONS(1142), + [sym_primitive_type] = ACTIONS(1142), + [anon_sym_enum] = ACTIONS(1142), + [anon_sym_struct] = ACTIONS(1142), + [anon_sym_union] = ACTIONS(1142), + [anon_sym_if] = ACTIONS(1142), + [anon_sym_else] = ACTIONS(1142), + [anon_sym_switch] = ACTIONS(1142), + [anon_sym_case] = ACTIONS(1142), + [anon_sym_default] = ACTIONS(1142), + [anon_sym_while] = ACTIONS(1142), + [anon_sym_do] = ACTIONS(1142), + [anon_sym_for] = ACTIONS(1142), + [anon_sym_return] = ACTIONS(1142), + [anon_sym_break] = ACTIONS(1142), + [anon_sym_continue] = ACTIONS(1142), + [anon_sym_goto] = ACTIONS(1142), + [anon_sym___try] = ACTIONS(1142), + [anon_sym___leave] = ACTIONS(1142), + [anon_sym_DASH_DASH] = ACTIONS(1144), + [anon_sym_PLUS_PLUS] = ACTIONS(1144), + [anon_sym_sizeof] = ACTIONS(1142), + [anon_sym___alignof__] = ACTIONS(1142), + [anon_sym___alignof] = ACTIONS(1142), + [anon_sym__alignof] = ACTIONS(1142), + [anon_sym_alignof] = ACTIONS(1142), + [anon_sym__Alignof] = ACTIONS(1142), + [anon_sym_offsetof] = ACTIONS(1142), + [anon_sym__Generic] = ACTIONS(1142), + [anon_sym_asm] = ACTIONS(1142), + [anon_sym___asm__] = ACTIONS(1142), + [anon_sym___asm] = ACTIONS(1142), + [sym_number_literal] = ACTIONS(1144), + [anon_sym_L_SQUOTE] = ACTIONS(1144), + [anon_sym_u_SQUOTE] = ACTIONS(1144), + [anon_sym_U_SQUOTE] = ACTIONS(1144), + [anon_sym_u8_SQUOTE] = ACTIONS(1144), + [anon_sym_SQUOTE] = ACTIONS(1144), + [anon_sym_L_DQUOTE] = ACTIONS(1144), + [anon_sym_u_DQUOTE] = ACTIONS(1144), + [anon_sym_U_DQUOTE] = ACTIONS(1144), + [anon_sym_u8_DQUOTE] = ACTIONS(1144), + [anon_sym_DQUOTE] = ACTIONS(1144), + [sym_true] = ACTIONS(1142), + [sym_false] = ACTIONS(1142), + [anon_sym_NULL] = ACTIONS(1142), + [anon_sym_nullptr] = ACTIONS(1142), + [sym_comment] = ACTIONS(3), + }, + [195] = { + [sym_identifier] = ACTIONS(1146), + [aux_sym_preproc_include_token1] = ACTIONS(1146), + [aux_sym_preproc_def_token1] = ACTIONS(1146), + [aux_sym_preproc_if_token1] = ACTIONS(1146), + [aux_sym_preproc_if_token2] = ACTIONS(1146), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1146), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1146), + [sym_preproc_directive] = ACTIONS(1146), + [anon_sym_LPAREN2] = ACTIONS(1148), + [anon_sym_BANG] = ACTIONS(1148), + [anon_sym_TILDE] = ACTIONS(1148), + [anon_sym_DASH] = ACTIONS(1146), + [anon_sym_PLUS] = ACTIONS(1146), + [anon_sym_STAR] = ACTIONS(1148), + [anon_sym_AMP] = ACTIONS(1148), + [anon_sym_SEMI] = ACTIONS(1148), + [anon_sym___extension__] = ACTIONS(1146), + [anon_sym_typedef] = ACTIONS(1146), + [anon_sym_extern] = ACTIONS(1146), + [anon_sym___attribute__] = ACTIONS(1146), + [anon_sym___attribute] = ACTIONS(1146), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1148), + [anon_sym___declspec] = ACTIONS(1146), + [anon_sym___cdecl] = ACTIONS(1146), + [anon_sym___clrcall] = ACTIONS(1146), + [anon_sym___stdcall] = ACTIONS(1146), + [anon_sym___fastcall] = ACTIONS(1146), + [anon_sym___thiscall] = ACTIONS(1146), + [anon_sym___vectorcall] = ACTIONS(1146), + [anon_sym_LBRACE] = ACTIONS(1148), + [anon_sym_signed] = ACTIONS(1146), + [anon_sym_unsigned] = ACTIONS(1146), + [anon_sym_long] = ACTIONS(1146), + [anon_sym_short] = ACTIONS(1146), + [anon_sym_static] = ACTIONS(1146), + [anon_sym_auto] = ACTIONS(1146), + [anon_sym_register] = ACTIONS(1146), + [anon_sym_inline] = ACTIONS(1146), + [anon_sym___inline] = ACTIONS(1146), + [anon_sym___inline__] = ACTIONS(1146), + [anon_sym___forceinline] = ACTIONS(1146), + [anon_sym_thread_local] = ACTIONS(1146), + [anon_sym___thread] = ACTIONS(1146), + [anon_sym_const] = ACTIONS(1146), + [anon_sym_constexpr] = ACTIONS(1146), + [anon_sym_volatile] = ACTIONS(1146), + [anon_sym_restrict] = ACTIONS(1146), + [anon_sym___restrict__] = ACTIONS(1146), + [anon_sym__Atomic] = ACTIONS(1146), + [anon_sym__Noreturn] = ACTIONS(1146), + [anon_sym_noreturn] = ACTIONS(1146), + [anon_sym__Nonnull] = ACTIONS(1146), + [anon_sym_alignas] = ACTIONS(1146), + [anon_sym__Alignas] = ACTIONS(1146), + [sym_primitive_type] = ACTIONS(1146), + [anon_sym_enum] = ACTIONS(1146), + [anon_sym_struct] = ACTIONS(1146), + [anon_sym_union] = ACTIONS(1146), + [anon_sym_if] = ACTIONS(1146), + [anon_sym_else] = ACTIONS(1146), + [anon_sym_switch] = ACTIONS(1146), + [anon_sym_case] = ACTIONS(1146), + [anon_sym_default] = ACTIONS(1146), + [anon_sym_while] = ACTIONS(1146), + [anon_sym_do] = ACTIONS(1146), + [anon_sym_for] = ACTIONS(1146), + [anon_sym_return] = ACTIONS(1146), + [anon_sym_break] = ACTIONS(1146), + [anon_sym_continue] = ACTIONS(1146), + [anon_sym_goto] = ACTIONS(1146), + [anon_sym___try] = ACTIONS(1146), + [anon_sym___leave] = ACTIONS(1146), + [anon_sym_DASH_DASH] = ACTIONS(1148), + [anon_sym_PLUS_PLUS] = ACTIONS(1148), + [anon_sym_sizeof] = ACTIONS(1146), + [anon_sym___alignof__] = ACTIONS(1146), + [anon_sym___alignof] = ACTIONS(1146), + [anon_sym__alignof] = ACTIONS(1146), + [anon_sym_alignof] = ACTIONS(1146), + [anon_sym__Alignof] = ACTIONS(1146), + [anon_sym_offsetof] = ACTIONS(1146), + [anon_sym__Generic] = ACTIONS(1146), + [anon_sym_asm] = ACTIONS(1146), + [anon_sym___asm__] = ACTIONS(1146), + [anon_sym___asm] = ACTIONS(1146), + [sym_number_literal] = ACTIONS(1148), + [anon_sym_L_SQUOTE] = ACTIONS(1148), + [anon_sym_u_SQUOTE] = ACTIONS(1148), + [anon_sym_U_SQUOTE] = ACTIONS(1148), + [anon_sym_u8_SQUOTE] = ACTIONS(1148), + [anon_sym_SQUOTE] = ACTIONS(1148), + [anon_sym_L_DQUOTE] = ACTIONS(1148), + [anon_sym_u_DQUOTE] = ACTIONS(1148), + [anon_sym_U_DQUOTE] = ACTIONS(1148), + [anon_sym_u8_DQUOTE] = ACTIONS(1148), + [anon_sym_DQUOTE] = ACTIONS(1148), + [sym_true] = ACTIONS(1146), + [sym_false] = ACTIONS(1146), + [anon_sym_NULL] = ACTIONS(1146), + [anon_sym_nullptr] = ACTIONS(1146), + [sym_comment] = ACTIONS(3), + }, + [196] = { + [sym_identifier] = ACTIONS(1150), + [aux_sym_preproc_include_token1] = ACTIONS(1150), + [aux_sym_preproc_def_token1] = ACTIONS(1150), + [aux_sym_preproc_if_token1] = ACTIONS(1150), + [aux_sym_preproc_if_token2] = ACTIONS(1150), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1150), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1150), + [sym_preproc_directive] = ACTIONS(1150), + [anon_sym_LPAREN2] = ACTIONS(1152), + [anon_sym_BANG] = ACTIONS(1152), + [anon_sym_TILDE] = ACTIONS(1152), + [anon_sym_DASH] = ACTIONS(1150), + [anon_sym_PLUS] = ACTIONS(1150), + [anon_sym_STAR] = ACTIONS(1152), + [anon_sym_AMP] = ACTIONS(1152), + [anon_sym_SEMI] = ACTIONS(1152), + [anon_sym___extension__] = ACTIONS(1150), + [anon_sym_typedef] = ACTIONS(1150), + [anon_sym_extern] = ACTIONS(1150), + [anon_sym___attribute__] = ACTIONS(1150), + [anon_sym___attribute] = ACTIONS(1150), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1152), + [anon_sym___declspec] = ACTIONS(1150), + [anon_sym___cdecl] = ACTIONS(1150), + [anon_sym___clrcall] = ACTIONS(1150), + [anon_sym___stdcall] = ACTIONS(1150), + [anon_sym___fastcall] = ACTIONS(1150), + [anon_sym___thiscall] = ACTIONS(1150), + [anon_sym___vectorcall] = ACTIONS(1150), + [anon_sym_LBRACE] = ACTIONS(1152), + [anon_sym_signed] = ACTIONS(1150), + [anon_sym_unsigned] = ACTIONS(1150), + [anon_sym_long] = ACTIONS(1150), + [anon_sym_short] = ACTIONS(1150), + [anon_sym_static] = ACTIONS(1150), + [anon_sym_auto] = ACTIONS(1150), + [anon_sym_register] = ACTIONS(1150), + [anon_sym_inline] = ACTIONS(1150), + [anon_sym___inline] = ACTIONS(1150), + [anon_sym___inline__] = ACTIONS(1150), + [anon_sym___forceinline] = ACTIONS(1150), + [anon_sym_thread_local] = ACTIONS(1150), + [anon_sym___thread] = ACTIONS(1150), + [anon_sym_const] = ACTIONS(1150), + [anon_sym_constexpr] = ACTIONS(1150), + [anon_sym_volatile] = ACTIONS(1150), + [anon_sym_restrict] = ACTIONS(1150), + [anon_sym___restrict__] = ACTIONS(1150), + [anon_sym__Atomic] = ACTIONS(1150), + [anon_sym__Noreturn] = ACTIONS(1150), + [anon_sym_noreturn] = ACTIONS(1150), + [anon_sym__Nonnull] = ACTIONS(1150), + [anon_sym_alignas] = ACTIONS(1150), + [anon_sym__Alignas] = ACTIONS(1150), + [sym_primitive_type] = ACTIONS(1150), + [anon_sym_enum] = ACTIONS(1150), + [anon_sym_struct] = ACTIONS(1150), + [anon_sym_union] = ACTIONS(1150), + [anon_sym_if] = ACTIONS(1150), + [anon_sym_else] = ACTIONS(1150), + [anon_sym_switch] = ACTIONS(1150), + [anon_sym_case] = ACTIONS(1150), + [anon_sym_default] = ACTIONS(1150), + [anon_sym_while] = ACTIONS(1150), + [anon_sym_do] = ACTIONS(1150), + [anon_sym_for] = ACTIONS(1150), + [anon_sym_return] = ACTIONS(1150), + [anon_sym_break] = ACTIONS(1150), + [anon_sym_continue] = ACTIONS(1150), + [anon_sym_goto] = ACTIONS(1150), + [anon_sym___try] = ACTIONS(1150), + [anon_sym___leave] = ACTIONS(1150), + [anon_sym_DASH_DASH] = ACTIONS(1152), + [anon_sym_PLUS_PLUS] = ACTIONS(1152), + [anon_sym_sizeof] = ACTIONS(1150), + [anon_sym___alignof__] = ACTIONS(1150), + [anon_sym___alignof] = ACTIONS(1150), + [anon_sym__alignof] = ACTIONS(1150), + [anon_sym_alignof] = ACTIONS(1150), + [anon_sym__Alignof] = ACTIONS(1150), + [anon_sym_offsetof] = ACTIONS(1150), + [anon_sym__Generic] = ACTIONS(1150), + [anon_sym_asm] = ACTIONS(1150), + [anon_sym___asm__] = ACTIONS(1150), + [anon_sym___asm] = ACTIONS(1150), + [sym_number_literal] = ACTIONS(1152), + [anon_sym_L_SQUOTE] = ACTIONS(1152), + [anon_sym_u_SQUOTE] = ACTIONS(1152), + [anon_sym_U_SQUOTE] = ACTIONS(1152), + [anon_sym_u8_SQUOTE] = ACTIONS(1152), + [anon_sym_SQUOTE] = ACTIONS(1152), + [anon_sym_L_DQUOTE] = ACTIONS(1152), + [anon_sym_u_DQUOTE] = ACTIONS(1152), + [anon_sym_U_DQUOTE] = ACTIONS(1152), + [anon_sym_u8_DQUOTE] = ACTIONS(1152), + [anon_sym_DQUOTE] = ACTIONS(1152), + [sym_true] = ACTIONS(1150), + [sym_false] = ACTIONS(1150), + [anon_sym_NULL] = ACTIONS(1150), + [anon_sym_nullptr] = ACTIONS(1150), + [sym_comment] = ACTIONS(3), + }, + [197] = { + [sym_identifier] = ACTIONS(1158), + [aux_sym_preproc_include_token1] = ACTIONS(1158), + [aux_sym_preproc_def_token1] = ACTIONS(1158), + [aux_sym_preproc_if_token1] = ACTIONS(1158), + [aux_sym_preproc_if_token2] = ACTIONS(1158), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1158), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1158), + [sym_preproc_directive] = ACTIONS(1158), + [anon_sym_LPAREN2] = ACTIONS(1160), + [anon_sym_BANG] = ACTIONS(1160), + [anon_sym_TILDE] = ACTIONS(1160), + [anon_sym_DASH] = ACTIONS(1158), + [anon_sym_PLUS] = ACTIONS(1158), + [anon_sym_STAR] = ACTIONS(1160), + [anon_sym_AMP] = ACTIONS(1160), + [anon_sym_SEMI] = ACTIONS(1160), + [anon_sym___extension__] = ACTIONS(1158), + [anon_sym_typedef] = ACTIONS(1158), + [anon_sym_extern] = ACTIONS(1158), + [anon_sym___attribute__] = ACTIONS(1158), + [anon_sym___attribute] = ACTIONS(1158), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1160), + [anon_sym___declspec] = ACTIONS(1158), + [anon_sym___cdecl] = ACTIONS(1158), + [anon_sym___clrcall] = ACTIONS(1158), + [anon_sym___stdcall] = ACTIONS(1158), + [anon_sym___fastcall] = ACTIONS(1158), + [anon_sym___thiscall] = ACTIONS(1158), + [anon_sym___vectorcall] = ACTIONS(1158), + [anon_sym_LBRACE] = ACTIONS(1160), + [anon_sym_signed] = ACTIONS(1158), + [anon_sym_unsigned] = ACTIONS(1158), + [anon_sym_long] = ACTIONS(1158), + [anon_sym_short] = ACTIONS(1158), + [anon_sym_static] = ACTIONS(1158), + [anon_sym_auto] = ACTIONS(1158), + [anon_sym_register] = ACTIONS(1158), + [anon_sym_inline] = ACTIONS(1158), + [anon_sym___inline] = ACTIONS(1158), + [anon_sym___inline__] = ACTIONS(1158), + [anon_sym___forceinline] = ACTIONS(1158), + [anon_sym_thread_local] = ACTIONS(1158), + [anon_sym___thread] = ACTIONS(1158), + [anon_sym_const] = ACTIONS(1158), + [anon_sym_constexpr] = ACTIONS(1158), + [anon_sym_volatile] = ACTIONS(1158), + [anon_sym_restrict] = ACTIONS(1158), + [anon_sym___restrict__] = ACTIONS(1158), + [anon_sym__Atomic] = ACTIONS(1158), + [anon_sym__Noreturn] = ACTIONS(1158), + [anon_sym_noreturn] = ACTIONS(1158), + [anon_sym__Nonnull] = ACTIONS(1158), + [anon_sym_alignas] = ACTIONS(1158), + [anon_sym__Alignas] = ACTIONS(1158), + [sym_primitive_type] = ACTIONS(1158), + [anon_sym_enum] = ACTIONS(1158), + [anon_sym_struct] = ACTIONS(1158), + [anon_sym_union] = ACTIONS(1158), + [anon_sym_if] = ACTIONS(1158), + [anon_sym_else] = ACTIONS(1158), + [anon_sym_switch] = ACTIONS(1158), + [anon_sym_case] = ACTIONS(1158), + [anon_sym_default] = ACTIONS(1158), + [anon_sym_while] = ACTIONS(1158), + [anon_sym_do] = ACTIONS(1158), + [anon_sym_for] = ACTIONS(1158), + [anon_sym_return] = ACTIONS(1158), + [anon_sym_break] = ACTIONS(1158), + [anon_sym_continue] = ACTIONS(1158), + [anon_sym_goto] = ACTIONS(1158), + [anon_sym___try] = ACTIONS(1158), + [anon_sym___leave] = ACTIONS(1158), + [anon_sym_DASH_DASH] = ACTIONS(1160), + [anon_sym_PLUS_PLUS] = ACTIONS(1160), + [anon_sym_sizeof] = ACTIONS(1158), + [anon_sym___alignof__] = ACTIONS(1158), + [anon_sym___alignof] = ACTIONS(1158), + [anon_sym__alignof] = ACTIONS(1158), + [anon_sym_alignof] = ACTIONS(1158), + [anon_sym__Alignof] = ACTIONS(1158), + [anon_sym_offsetof] = ACTIONS(1158), + [anon_sym__Generic] = ACTIONS(1158), + [anon_sym_asm] = ACTIONS(1158), + [anon_sym___asm__] = ACTIONS(1158), + [anon_sym___asm] = ACTIONS(1158), + [sym_number_literal] = ACTIONS(1160), + [anon_sym_L_SQUOTE] = ACTIONS(1160), + [anon_sym_u_SQUOTE] = ACTIONS(1160), + [anon_sym_U_SQUOTE] = ACTIONS(1160), + [anon_sym_u8_SQUOTE] = ACTIONS(1160), + [anon_sym_SQUOTE] = ACTIONS(1160), + [anon_sym_L_DQUOTE] = ACTIONS(1160), + [anon_sym_u_DQUOTE] = ACTIONS(1160), + [anon_sym_U_DQUOTE] = ACTIONS(1160), + [anon_sym_u8_DQUOTE] = ACTIONS(1160), + [anon_sym_DQUOTE] = ACTIONS(1160), + [sym_true] = ACTIONS(1158), + [sym_false] = ACTIONS(1158), + [anon_sym_NULL] = ACTIONS(1158), + [anon_sym_nullptr] = ACTIONS(1158), + [sym_comment] = ACTIONS(3), + }, + [198] = { + [sym_identifier] = ACTIONS(1162), + [aux_sym_preproc_include_token1] = ACTIONS(1162), + [aux_sym_preproc_def_token1] = ACTIONS(1162), + [aux_sym_preproc_if_token1] = ACTIONS(1162), + [aux_sym_preproc_if_token2] = ACTIONS(1162), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1162), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1162), + [sym_preproc_directive] = ACTIONS(1162), + [anon_sym_LPAREN2] = ACTIONS(1164), + [anon_sym_BANG] = ACTIONS(1164), + [anon_sym_TILDE] = ACTIONS(1164), + [anon_sym_DASH] = ACTIONS(1162), + [anon_sym_PLUS] = ACTIONS(1162), + [anon_sym_STAR] = ACTIONS(1164), + [anon_sym_AMP] = ACTIONS(1164), + [anon_sym_SEMI] = ACTIONS(1164), + [anon_sym___extension__] = ACTIONS(1162), + [anon_sym_typedef] = ACTIONS(1162), + [anon_sym_extern] = ACTIONS(1162), + [anon_sym___attribute__] = ACTIONS(1162), + [anon_sym___attribute] = ACTIONS(1162), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1164), + [anon_sym___declspec] = ACTIONS(1162), + [anon_sym___cdecl] = ACTIONS(1162), + [anon_sym___clrcall] = ACTIONS(1162), + [anon_sym___stdcall] = ACTIONS(1162), + [anon_sym___fastcall] = ACTIONS(1162), + [anon_sym___thiscall] = ACTIONS(1162), + [anon_sym___vectorcall] = ACTIONS(1162), + [anon_sym_LBRACE] = ACTIONS(1164), + [anon_sym_signed] = ACTIONS(1162), + [anon_sym_unsigned] = ACTIONS(1162), + [anon_sym_long] = ACTIONS(1162), + [anon_sym_short] = ACTIONS(1162), + [anon_sym_static] = ACTIONS(1162), + [anon_sym_auto] = ACTIONS(1162), + [anon_sym_register] = ACTIONS(1162), + [anon_sym_inline] = ACTIONS(1162), + [anon_sym___inline] = ACTIONS(1162), + [anon_sym___inline__] = ACTIONS(1162), + [anon_sym___forceinline] = ACTIONS(1162), + [anon_sym_thread_local] = ACTIONS(1162), + [anon_sym___thread] = ACTIONS(1162), + [anon_sym_const] = ACTIONS(1162), + [anon_sym_constexpr] = ACTIONS(1162), + [anon_sym_volatile] = ACTIONS(1162), + [anon_sym_restrict] = ACTIONS(1162), + [anon_sym___restrict__] = ACTIONS(1162), + [anon_sym__Atomic] = ACTIONS(1162), + [anon_sym__Noreturn] = ACTIONS(1162), + [anon_sym_noreturn] = ACTIONS(1162), + [anon_sym__Nonnull] = ACTIONS(1162), + [anon_sym_alignas] = ACTIONS(1162), + [anon_sym__Alignas] = ACTIONS(1162), + [sym_primitive_type] = ACTIONS(1162), + [anon_sym_enum] = ACTIONS(1162), + [anon_sym_struct] = ACTIONS(1162), + [anon_sym_union] = ACTIONS(1162), + [anon_sym_if] = ACTIONS(1162), + [anon_sym_else] = ACTIONS(1162), + [anon_sym_switch] = ACTIONS(1162), + [anon_sym_case] = ACTIONS(1162), + [anon_sym_default] = ACTIONS(1162), + [anon_sym_while] = ACTIONS(1162), + [anon_sym_do] = ACTIONS(1162), + [anon_sym_for] = ACTIONS(1162), + [anon_sym_return] = ACTIONS(1162), + [anon_sym_break] = ACTIONS(1162), + [anon_sym_continue] = ACTIONS(1162), + [anon_sym_goto] = ACTIONS(1162), + [anon_sym___try] = ACTIONS(1162), + [anon_sym___leave] = ACTIONS(1162), + [anon_sym_DASH_DASH] = ACTIONS(1164), + [anon_sym_PLUS_PLUS] = ACTIONS(1164), + [anon_sym_sizeof] = ACTIONS(1162), + [anon_sym___alignof__] = ACTIONS(1162), + [anon_sym___alignof] = ACTIONS(1162), + [anon_sym__alignof] = ACTIONS(1162), + [anon_sym_alignof] = ACTIONS(1162), + [anon_sym__Alignof] = ACTIONS(1162), + [anon_sym_offsetof] = ACTIONS(1162), + [anon_sym__Generic] = ACTIONS(1162), + [anon_sym_asm] = ACTIONS(1162), + [anon_sym___asm__] = ACTIONS(1162), + [anon_sym___asm] = ACTIONS(1162), + [sym_number_literal] = ACTIONS(1164), + [anon_sym_L_SQUOTE] = ACTIONS(1164), + [anon_sym_u_SQUOTE] = ACTIONS(1164), + [anon_sym_U_SQUOTE] = ACTIONS(1164), + [anon_sym_u8_SQUOTE] = ACTIONS(1164), + [anon_sym_SQUOTE] = ACTIONS(1164), + [anon_sym_L_DQUOTE] = ACTIONS(1164), + [anon_sym_u_DQUOTE] = ACTIONS(1164), + [anon_sym_U_DQUOTE] = ACTIONS(1164), + [anon_sym_u8_DQUOTE] = ACTIONS(1164), + [anon_sym_DQUOTE] = ACTIONS(1164), + [sym_true] = ACTIONS(1162), + [sym_false] = ACTIONS(1162), + [anon_sym_NULL] = ACTIONS(1162), + [anon_sym_nullptr] = ACTIONS(1162), + [sym_comment] = ACTIONS(3), + }, + [199] = { + [sym_identifier] = ACTIONS(1166), + [aux_sym_preproc_include_token1] = ACTIONS(1166), + [aux_sym_preproc_def_token1] = ACTIONS(1166), + [aux_sym_preproc_if_token1] = ACTIONS(1166), + [aux_sym_preproc_if_token2] = ACTIONS(1166), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1166), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1166), + [sym_preproc_directive] = ACTIONS(1166), + [anon_sym_LPAREN2] = ACTIONS(1168), + [anon_sym_BANG] = ACTIONS(1168), + [anon_sym_TILDE] = ACTIONS(1168), + [anon_sym_DASH] = ACTIONS(1166), + [anon_sym_PLUS] = ACTIONS(1166), + [anon_sym_STAR] = ACTIONS(1168), + [anon_sym_AMP] = ACTIONS(1168), + [anon_sym_SEMI] = ACTIONS(1168), + [anon_sym___extension__] = ACTIONS(1166), + [anon_sym_typedef] = ACTIONS(1166), + [anon_sym_extern] = ACTIONS(1166), + [anon_sym___attribute__] = ACTIONS(1166), + [anon_sym___attribute] = ACTIONS(1166), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1168), + [anon_sym___declspec] = ACTIONS(1166), + [anon_sym___cdecl] = ACTIONS(1166), + [anon_sym___clrcall] = ACTIONS(1166), + [anon_sym___stdcall] = ACTIONS(1166), + [anon_sym___fastcall] = ACTIONS(1166), + [anon_sym___thiscall] = ACTIONS(1166), + [anon_sym___vectorcall] = ACTIONS(1166), + [anon_sym_LBRACE] = ACTIONS(1168), + [anon_sym_signed] = ACTIONS(1166), + [anon_sym_unsigned] = ACTIONS(1166), + [anon_sym_long] = ACTIONS(1166), + [anon_sym_short] = ACTIONS(1166), + [anon_sym_static] = ACTIONS(1166), + [anon_sym_auto] = ACTIONS(1166), + [anon_sym_register] = ACTIONS(1166), + [anon_sym_inline] = ACTIONS(1166), + [anon_sym___inline] = ACTIONS(1166), + [anon_sym___inline__] = ACTIONS(1166), + [anon_sym___forceinline] = ACTIONS(1166), + [anon_sym_thread_local] = ACTIONS(1166), + [anon_sym___thread] = ACTIONS(1166), + [anon_sym_const] = ACTIONS(1166), + [anon_sym_constexpr] = ACTIONS(1166), + [anon_sym_volatile] = ACTIONS(1166), + [anon_sym_restrict] = ACTIONS(1166), + [anon_sym___restrict__] = ACTIONS(1166), + [anon_sym__Atomic] = ACTIONS(1166), + [anon_sym__Noreturn] = ACTIONS(1166), + [anon_sym_noreturn] = ACTIONS(1166), + [anon_sym__Nonnull] = ACTIONS(1166), + [anon_sym_alignas] = ACTIONS(1166), + [anon_sym__Alignas] = ACTIONS(1166), + [sym_primitive_type] = ACTIONS(1166), + [anon_sym_enum] = ACTIONS(1166), + [anon_sym_struct] = ACTIONS(1166), + [anon_sym_union] = ACTIONS(1166), + [anon_sym_if] = ACTIONS(1166), + [anon_sym_else] = ACTIONS(1166), + [anon_sym_switch] = ACTIONS(1166), + [anon_sym_case] = ACTIONS(1166), + [anon_sym_default] = ACTIONS(1166), + [anon_sym_while] = ACTIONS(1166), + [anon_sym_do] = ACTIONS(1166), + [anon_sym_for] = ACTIONS(1166), + [anon_sym_return] = ACTIONS(1166), + [anon_sym_break] = ACTIONS(1166), + [anon_sym_continue] = ACTIONS(1166), + [anon_sym_goto] = ACTIONS(1166), + [anon_sym___try] = ACTIONS(1166), + [anon_sym___leave] = ACTIONS(1166), + [anon_sym_DASH_DASH] = ACTIONS(1168), + [anon_sym_PLUS_PLUS] = ACTIONS(1168), + [anon_sym_sizeof] = ACTIONS(1166), + [anon_sym___alignof__] = ACTIONS(1166), + [anon_sym___alignof] = ACTIONS(1166), + [anon_sym__alignof] = ACTIONS(1166), + [anon_sym_alignof] = ACTIONS(1166), + [anon_sym__Alignof] = ACTIONS(1166), + [anon_sym_offsetof] = ACTIONS(1166), + [anon_sym__Generic] = ACTIONS(1166), + [anon_sym_asm] = ACTIONS(1166), + [anon_sym___asm__] = ACTIONS(1166), + [anon_sym___asm] = ACTIONS(1166), + [sym_number_literal] = ACTIONS(1168), + [anon_sym_L_SQUOTE] = ACTIONS(1168), + [anon_sym_u_SQUOTE] = ACTIONS(1168), + [anon_sym_U_SQUOTE] = ACTIONS(1168), + [anon_sym_u8_SQUOTE] = ACTIONS(1168), + [anon_sym_SQUOTE] = ACTIONS(1168), + [anon_sym_L_DQUOTE] = ACTIONS(1168), + [anon_sym_u_DQUOTE] = ACTIONS(1168), + [anon_sym_U_DQUOTE] = ACTIONS(1168), + [anon_sym_u8_DQUOTE] = ACTIONS(1168), + [anon_sym_DQUOTE] = ACTIONS(1168), + [sym_true] = ACTIONS(1166), + [sym_false] = ACTIONS(1166), + [anon_sym_NULL] = ACTIONS(1166), + [anon_sym_nullptr] = ACTIONS(1166), + [sym_comment] = ACTIONS(3), + }, + [200] = { + [sym_identifier] = ACTIONS(1154), + [aux_sym_preproc_include_token1] = ACTIONS(1154), + [aux_sym_preproc_def_token1] = ACTIONS(1154), + [aux_sym_preproc_if_token1] = ACTIONS(1154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1154), + [sym_preproc_directive] = ACTIONS(1154), + [anon_sym_LPAREN2] = ACTIONS(1156), + [anon_sym_BANG] = ACTIONS(1156), + [anon_sym_TILDE] = ACTIONS(1156), + [anon_sym_DASH] = ACTIONS(1154), + [anon_sym_PLUS] = ACTIONS(1154), + [anon_sym_STAR] = ACTIONS(1156), + [anon_sym_AMP] = ACTIONS(1156), + [anon_sym_SEMI] = ACTIONS(1156), + [anon_sym___extension__] = ACTIONS(1154), + [anon_sym_typedef] = ACTIONS(1154), + [anon_sym_extern] = ACTIONS(1154), + [anon_sym___attribute__] = ACTIONS(1154), + [anon_sym___attribute] = ACTIONS(1154), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1156), + [anon_sym___declspec] = ACTIONS(1154), + [anon_sym___cdecl] = ACTIONS(1154), + [anon_sym___clrcall] = ACTIONS(1154), + [anon_sym___stdcall] = ACTIONS(1154), + [anon_sym___fastcall] = ACTIONS(1154), + [anon_sym___thiscall] = ACTIONS(1154), + [anon_sym___vectorcall] = ACTIONS(1154), + [anon_sym_LBRACE] = ACTIONS(1156), + [anon_sym_RBRACE] = ACTIONS(1156), + [anon_sym_signed] = ACTIONS(1154), + [anon_sym_unsigned] = ACTIONS(1154), + [anon_sym_long] = ACTIONS(1154), + [anon_sym_short] = ACTIONS(1154), + [anon_sym_static] = ACTIONS(1154), + [anon_sym_auto] = ACTIONS(1154), + [anon_sym_register] = ACTIONS(1154), + [anon_sym_inline] = ACTIONS(1154), + [anon_sym___inline] = ACTIONS(1154), + [anon_sym___inline__] = ACTIONS(1154), + [anon_sym___forceinline] = ACTIONS(1154), + [anon_sym_thread_local] = ACTIONS(1154), + [anon_sym___thread] = ACTIONS(1154), + [anon_sym_const] = ACTIONS(1154), + [anon_sym_constexpr] = ACTIONS(1154), + [anon_sym_volatile] = ACTIONS(1154), + [anon_sym_restrict] = ACTIONS(1154), + [anon_sym___restrict__] = ACTIONS(1154), + [anon_sym__Atomic] = ACTIONS(1154), + [anon_sym__Noreturn] = ACTIONS(1154), + [anon_sym_noreturn] = ACTIONS(1154), + [anon_sym__Nonnull] = ACTIONS(1154), + [anon_sym_alignas] = ACTIONS(1154), + [anon_sym__Alignas] = ACTIONS(1154), + [sym_primitive_type] = ACTIONS(1154), + [anon_sym_enum] = ACTIONS(1154), + [anon_sym_struct] = ACTIONS(1154), + [anon_sym_union] = ACTIONS(1154), + [anon_sym_if] = ACTIONS(1154), + [anon_sym_else] = ACTIONS(1154), + [anon_sym_switch] = ACTIONS(1154), + [anon_sym_case] = ACTIONS(1154), + [anon_sym_default] = ACTIONS(1154), + [anon_sym_while] = ACTIONS(1154), + [anon_sym_do] = ACTIONS(1154), + [anon_sym_for] = ACTIONS(1154), + [anon_sym_return] = ACTIONS(1154), + [anon_sym_break] = ACTIONS(1154), + [anon_sym_continue] = ACTIONS(1154), + [anon_sym_goto] = ACTIONS(1154), + [anon_sym___try] = ACTIONS(1154), + [anon_sym___leave] = ACTIONS(1154), + [anon_sym_DASH_DASH] = ACTIONS(1156), + [anon_sym_PLUS_PLUS] = ACTIONS(1156), + [anon_sym_sizeof] = ACTIONS(1154), + [anon_sym___alignof__] = ACTIONS(1154), + [anon_sym___alignof] = ACTIONS(1154), + [anon_sym__alignof] = ACTIONS(1154), + [anon_sym_alignof] = ACTIONS(1154), + [anon_sym__Alignof] = ACTIONS(1154), + [anon_sym_offsetof] = ACTIONS(1154), + [anon_sym__Generic] = ACTIONS(1154), + [anon_sym_asm] = ACTIONS(1154), + [anon_sym___asm__] = ACTIONS(1154), + [anon_sym___asm] = ACTIONS(1154), + [sym_number_literal] = ACTIONS(1156), + [anon_sym_L_SQUOTE] = ACTIONS(1156), + [anon_sym_u_SQUOTE] = ACTIONS(1156), + [anon_sym_U_SQUOTE] = ACTIONS(1156), + [anon_sym_u8_SQUOTE] = ACTIONS(1156), + [anon_sym_SQUOTE] = ACTIONS(1156), + [anon_sym_L_DQUOTE] = ACTIONS(1156), + [anon_sym_u_DQUOTE] = ACTIONS(1156), + [anon_sym_U_DQUOTE] = ACTIONS(1156), + [anon_sym_u8_DQUOTE] = ACTIONS(1156), + [anon_sym_DQUOTE] = ACTIONS(1156), + [sym_true] = ACTIONS(1154), + [sym_false] = ACTIONS(1154), + [anon_sym_NULL] = ACTIONS(1154), + [anon_sym_nullptr] = ACTIONS(1154), + [sym_comment] = ACTIONS(3), + }, + [201] = { + [sym_identifier] = ACTIONS(1154), + [aux_sym_preproc_include_token1] = ACTIONS(1154), + [aux_sym_preproc_def_token1] = ACTIONS(1154), + [aux_sym_preproc_if_token1] = ACTIONS(1154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1154), + [sym_preproc_directive] = ACTIONS(1154), + [anon_sym_LPAREN2] = ACTIONS(1156), + [anon_sym_BANG] = ACTIONS(1156), + [anon_sym_TILDE] = ACTIONS(1156), + [anon_sym_DASH] = ACTIONS(1154), + [anon_sym_PLUS] = ACTIONS(1154), + [anon_sym_STAR] = ACTIONS(1156), + [anon_sym_AMP] = ACTIONS(1156), + [anon_sym_SEMI] = ACTIONS(1156), + [anon_sym___extension__] = ACTIONS(1154), + [anon_sym_typedef] = ACTIONS(1154), + [anon_sym_extern] = ACTIONS(1154), + [anon_sym___attribute__] = ACTIONS(1154), + [anon_sym___attribute] = ACTIONS(1154), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1156), + [anon_sym___declspec] = ACTIONS(1154), + [anon_sym___cdecl] = ACTIONS(1154), + [anon_sym___clrcall] = ACTIONS(1154), + [anon_sym___stdcall] = ACTIONS(1154), + [anon_sym___fastcall] = ACTIONS(1154), + [anon_sym___thiscall] = ACTIONS(1154), + [anon_sym___vectorcall] = ACTIONS(1154), + [anon_sym_LBRACE] = ACTIONS(1156), + [anon_sym_RBRACE] = ACTIONS(1156), + [anon_sym_signed] = ACTIONS(1154), + [anon_sym_unsigned] = ACTIONS(1154), + [anon_sym_long] = ACTIONS(1154), + [anon_sym_short] = ACTIONS(1154), + [anon_sym_static] = ACTIONS(1154), + [anon_sym_auto] = ACTIONS(1154), + [anon_sym_register] = ACTIONS(1154), + [anon_sym_inline] = ACTIONS(1154), + [anon_sym___inline] = ACTIONS(1154), + [anon_sym___inline__] = ACTIONS(1154), + [anon_sym___forceinline] = ACTIONS(1154), + [anon_sym_thread_local] = ACTIONS(1154), + [anon_sym___thread] = ACTIONS(1154), + [anon_sym_const] = ACTIONS(1154), + [anon_sym_constexpr] = ACTIONS(1154), + [anon_sym_volatile] = ACTIONS(1154), + [anon_sym_restrict] = ACTIONS(1154), + [anon_sym___restrict__] = ACTIONS(1154), + [anon_sym__Atomic] = ACTIONS(1154), + [anon_sym__Noreturn] = ACTIONS(1154), + [anon_sym_noreturn] = ACTIONS(1154), + [anon_sym__Nonnull] = ACTIONS(1154), + [anon_sym_alignas] = ACTIONS(1154), + [anon_sym__Alignas] = ACTIONS(1154), + [sym_primitive_type] = ACTIONS(1154), + [anon_sym_enum] = ACTIONS(1154), + [anon_sym_struct] = ACTIONS(1154), + [anon_sym_union] = ACTIONS(1154), + [anon_sym_if] = ACTIONS(1154), + [anon_sym_else] = ACTIONS(1154), + [anon_sym_switch] = ACTIONS(1154), + [anon_sym_case] = ACTIONS(1154), + [anon_sym_default] = ACTIONS(1154), + [anon_sym_while] = ACTIONS(1154), + [anon_sym_do] = ACTIONS(1154), + [anon_sym_for] = ACTIONS(1154), + [anon_sym_return] = ACTIONS(1154), + [anon_sym_break] = ACTIONS(1154), + [anon_sym_continue] = ACTIONS(1154), + [anon_sym_goto] = ACTIONS(1154), + [anon_sym___try] = ACTIONS(1154), + [anon_sym___leave] = ACTIONS(1154), + [anon_sym_DASH_DASH] = ACTIONS(1156), + [anon_sym_PLUS_PLUS] = ACTIONS(1156), + [anon_sym_sizeof] = ACTIONS(1154), + [anon_sym___alignof__] = ACTIONS(1154), + [anon_sym___alignof] = ACTIONS(1154), + [anon_sym__alignof] = ACTIONS(1154), + [anon_sym_alignof] = ACTIONS(1154), + [anon_sym__Alignof] = ACTIONS(1154), + [anon_sym_offsetof] = ACTIONS(1154), + [anon_sym__Generic] = ACTIONS(1154), + [anon_sym_asm] = ACTIONS(1154), + [anon_sym___asm__] = ACTIONS(1154), + [anon_sym___asm] = ACTIONS(1154), + [sym_number_literal] = ACTIONS(1156), + [anon_sym_L_SQUOTE] = ACTIONS(1156), + [anon_sym_u_SQUOTE] = ACTIONS(1156), + [anon_sym_U_SQUOTE] = ACTIONS(1156), + [anon_sym_u8_SQUOTE] = ACTIONS(1156), + [anon_sym_SQUOTE] = ACTIONS(1156), + [anon_sym_L_DQUOTE] = ACTIONS(1156), + [anon_sym_u_DQUOTE] = ACTIONS(1156), + [anon_sym_U_DQUOTE] = ACTIONS(1156), + [anon_sym_u8_DQUOTE] = ACTIONS(1156), + [anon_sym_DQUOTE] = ACTIONS(1156), + [sym_true] = ACTIONS(1154), + [sym_false] = ACTIONS(1154), + [anon_sym_NULL] = ACTIONS(1154), + [anon_sym_nullptr] = ACTIONS(1154), + [sym_comment] = ACTIONS(3), + }, + [202] = { + [sym_identifier] = ACTIONS(1178), + [aux_sym_preproc_include_token1] = ACTIONS(1178), + [aux_sym_preproc_def_token1] = ACTIONS(1178), + [aux_sym_preproc_if_token1] = ACTIONS(1178), + [aux_sym_preproc_if_token2] = ACTIONS(1178), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1178), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1178), + [sym_preproc_directive] = ACTIONS(1178), + [anon_sym_LPAREN2] = ACTIONS(1180), + [anon_sym_BANG] = ACTIONS(1180), + [anon_sym_TILDE] = ACTIONS(1180), + [anon_sym_DASH] = ACTIONS(1178), + [anon_sym_PLUS] = ACTIONS(1178), + [anon_sym_STAR] = ACTIONS(1180), + [anon_sym_AMP] = ACTIONS(1180), + [anon_sym_SEMI] = ACTIONS(1180), + [anon_sym___extension__] = ACTIONS(1178), + [anon_sym_typedef] = ACTIONS(1178), + [anon_sym_extern] = ACTIONS(1178), + [anon_sym___attribute__] = ACTIONS(1178), + [anon_sym___attribute] = ACTIONS(1178), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1180), + [anon_sym___declspec] = ACTIONS(1178), + [anon_sym___cdecl] = ACTIONS(1178), + [anon_sym___clrcall] = ACTIONS(1178), + [anon_sym___stdcall] = ACTIONS(1178), + [anon_sym___fastcall] = ACTIONS(1178), + [anon_sym___thiscall] = ACTIONS(1178), + [anon_sym___vectorcall] = ACTIONS(1178), + [anon_sym_LBRACE] = ACTIONS(1180), + [anon_sym_signed] = ACTIONS(1178), + [anon_sym_unsigned] = ACTIONS(1178), + [anon_sym_long] = ACTIONS(1178), + [anon_sym_short] = ACTIONS(1178), + [anon_sym_static] = ACTIONS(1178), + [anon_sym_auto] = ACTIONS(1178), + [anon_sym_register] = ACTIONS(1178), + [anon_sym_inline] = ACTIONS(1178), + [anon_sym___inline] = ACTIONS(1178), + [anon_sym___inline__] = ACTIONS(1178), + [anon_sym___forceinline] = ACTIONS(1178), + [anon_sym_thread_local] = ACTIONS(1178), + [anon_sym___thread] = ACTIONS(1178), + [anon_sym_const] = ACTIONS(1178), + [anon_sym_constexpr] = ACTIONS(1178), + [anon_sym_volatile] = ACTIONS(1178), + [anon_sym_restrict] = ACTIONS(1178), + [anon_sym___restrict__] = ACTIONS(1178), + [anon_sym__Atomic] = ACTIONS(1178), + [anon_sym__Noreturn] = ACTIONS(1178), + [anon_sym_noreturn] = ACTIONS(1178), + [anon_sym__Nonnull] = ACTIONS(1178), + [anon_sym_alignas] = ACTIONS(1178), + [anon_sym__Alignas] = ACTIONS(1178), + [sym_primitive_type] = ACTIONS(1178), + [anon_sym_enum] = ACTIONS(1178), + [anon_sym_struct] = ACTIONS(1178), + [anon_sym_union] = ACTIONS(1178), + [anon_sym_if] = ACTIONS(1178), + [anon_sym_else] = ACTIONS(1178), + [anon_sym_switch] = ACTIONS(1178), + [anon_sym_case] = ACTIONS(1178), + [anon_sym_default] = ACTIONS(1178), + [anon_sym_while] = ACTIONS(1178), + [anon_sym_do] = ACTIONS(1178), + [anon_sym_for] = ACTIONS(1178), + [anon_sym_return] = ACTIONS(1178), + [anon_sym_break] = ACTIONS(1178), + [anon_sym_continue] = ACTIONS(1178), + [anon_sym_goto] = ACTIONS(1178), + [anon_sym___try] = ACTIONS(1178), + [anon_sym___leave] = ACTIONS(1178), + [anon_sym_DASH_DASH] = ACTIONS(1180), + [anon_sym_PLUS_PLUS] = ACTIONS(1180), + [anon_sym_sizeof] = ACTIONS(1178), + [anon_sym___alignof__] = ACTIONS(1178), + [anon_sym___alignof] = ACTIONS(1178), + [anon_sym__alignof] = ACTIONS(1178), + [anon_sym_alignof] = ACTIONS(1178), + [anon_sym__Alignof] = ACTIONS(1178), + [anon_sym_offsetof] = ACTIONS(1178), + [anon_sym__Generic] = ACTIONS(1178), + [anon_sym_asm] = ACTIONS(1178), + [anon_sym___asm__] = ACTIONS(1178), + [anon_sym___asm] = ACTIONS(1178), + [sym_number_literal] = ACTIONS(1180), + [anon_sym_L_SQUOTE] = ACTIONS(1180), + [anon_sym_u_SQUOTE] = ACTIONS(1180), + [anon_sym_U_SQUOTE] = ACTIONS(1180), + [anon_sym_u8_SQUOTE] = ACTIONS(1180), + [anon_sym_SQUOTE] = ACTIONS(1180), + [anon_sym_L_DQUOTE] = ACTIONS(1180), + [anon_sym_u_DQUOTE] = ACTIONS(1180), + [anon_sym_U_DQUOTE] = ACTIONS(1180), + [anon_sym_u8_DQUOTE] = ACTIONS(1180), + [anon_sym_DQUOTE] = ACTIONS(1180), + [sym_true] = ACTIONS(1178), + [sym_false] = ACTIONS(1178), + [anon_sym_NULL] = ACTIONS(1178), + [anon_sym_nullptr] = ACTIONS(1178), + [sym_comment] = ACTIONS(3), + }, + [203] = { + [sym_identifier] = ACTIONS(1182), + [aux_sym_preproc_include_token1] = ACTIONS(1182), + [aux_sym_preproc_def_token1] = ACTIONS(1182), + [aux_sym_preproc_if_token1] = ACTIONS(1182), + [aux_sym_preproc_if_token2] = ACTIONS(1182), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1182), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1182), + [sym_preproc_directive] = ACTIONS(1182), + [anon_sym_LPAREN2] = ACTIONS(1184), + [anon_sym_BANG] = ACTIONS(1184), + [anon_sym_TILDE] = ACTIONS(1184), + [anon_sym_DASH] = ACTIONS(1182), + [anon_sym_PLUS] = ACTIONS(1182), + [anon_sym_STAR] = ACTIONS(1184), + [anon_sym_AMP] = ACTIONS(1184), + [anon_sym_SEMI] = ACTIONS(1184), + [anon_sym___extension__] = ACTIONS(1182), + [anon_sym_typedef] = ACTIONS(1182), + [anon_sym_extern] = ACTIONS(1182), + [anon_sym___attribute__] = ACTIONS(1182), + [anon_sym___attribute] = ACTIONS(1182), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1184), + [anon_sym___declspec] = ACTIONS(1182), + [anon_sym___cdecl] = ACTIONS(1182), + [anon_sym___clrcall] = ACTIONS(1182), + [anon_sym___stdcall] = ACTIONS(1182), + [anon_sym___fastcall] = ACTIONS(1182), + [anon_sym___thiscall] = ACTIONS(1182), + [anon_sym___vectorcall] = ACTIONS(1182), + [anon_sym_LBRACE] = ACTIONS(1184), + [anon_sym_signed] = ACTIONS(1182), + [anon_sym_unsigned] = ACTIONS(1182), + [anon_sym_long] = ACTIONS(1182), + [anon_sym_short] = ACTIONS(1182), + [anon_sym_static] = ACTIONS(1182), + [anon_sym_auto] = ACTIONS(1182), + [anon_sym_register] = ACTIONS(1182), + [anon_sym_inline] = ACTIONS(1182), + [anon_sym___inline] = ACTIONS(1182), + [anon_sym___inline__] = ACTIONS(1182), + [anon_sym___forceinline] = ACTIONS(1182), + [anon_sym_thread_local] = ACTIONS(1182), + [anon_sym___thread] = ACTIONS(1182), + [anon_sym_const] = ACTIONS(1182), + [anon_sym_constexpr] = ACTIONS(1182), + [anon_sym_volatile] = ACTIONS(1182), + [anon_sym_restrict] = ACTIONS(1182), + [anon_sym___restrict__] = ACTIONS(1182), + [anon_sym__Atomic] = ACTIONS(1182), + [anon_sym__Noreturn] = ACTIONS(1182), + [anon_sym_noreturn] = ACTIONS(1182), + [anon_sym__Nonnull] = ACTIONS(1182), + [anon_sym_alignas] = ACTIONS(1182), + [anon_sym__Alignas] = ACTIONS(1182), + [sym_primitive_type] = ACTIONS(1182), + [anon_sym_enum] = ACTIONS(1182), + [anon_sym_struct] = ACTIONS(1182), + [anon_sym_union] = ACTIONS(1182), + [anon_sym_if] = ACTIONS(1182), + [anon_sym_else] = ACTIONS(1182), + [anon_sym_switch] = ACTIONS(1182), + [anon_sym_case] = ACTIONS(1182), + [anon_sym_default] = ACTIONS(1182), + [anon_sym_while] = ACTIONS(1182), + [anon_sym_do] = ACTIONS(1182), + [anon_sym_for] = ACTIONS(1182), + [anon_sym_return] = ACTIONS(1182), + [anon_sym_break] = ACTIONS(1182), + [anon_sym_continue] = ACTIONS(1182), + [anon_sym_goto] = ACTIONS(1182), + [anon_sym___try] = ACTIONS(1182), + [anon_sym___leave] = ACTIONS(1182), + [anon_sym_DASH_DASH] = ACTIONS(1184), + [anon_sym_PLUS_PLUS] = ACTIONS(1184), + [anon_sym_sizeof] = ACTIONS(1182), + [anon_sym___alignof__] = ACTIONS(1182), + [anon_sym___alignof] = ACTIONS(1182), + [anon_sym__alignof] = ACTIONS(1182), + [anon_sym_alignof] = ACTIONS(1182), + [anon_sym__Alignof] = ACTIONS(1182), + [anon_sym_offsetof] = ACTIONS(1182), + [anon_sym__Generic] = ACTIONS(1182), + [anon_sym_asm] = ACTIONS(1182), + [anon_sym___asm__] = ACTIONS(1182), + [anon_sym___asm] = ACTIONS(1182), + [sym_number_literal] = ACTIONS(1184), + [anon_sym_L_SQUOTE] = ACTIONS(1184), + [anon_sym_u_SQUOTE] = ACTIONS(1184), + [anon_sym_U_SQUOTE] = ACTIONS(1184), + [anon_sym_u8_SQUOTE] = ACTIONS(1184), + [anon_sym_SQUOTE] = ACTIONS(1184), + [anon_sym_L_DQUOTE] = ACTIONS(1184), + [anon_sym_u_DQUOTE] = ACTIONS(1184), + [anon_sym_U_DQUOTE] = ACTIONS(1184), + [anon_sym_u8_DQUOTE] = ACTIONS(1184), + [anon_sym_DQUOTE] = ACTIONS(1184), + [sym_true] = ACTIONS(1182), + [sym_false] = ACTIONS(1182), + [anon_sym_NULL] = ACTIONS(1182), + [anon_sym_nullptr] = ACTIONS(1182), + [sym_comment] = ACTIONS(3), + }, + [204] = { + [sym_identifier] = ACTIONS(1134), + [aux_sym_preproc_include_token1] = ACTIONS(1134), + [aux_sym_preproc_def_token1] = ACTIONS(1134), + [aux_sym_preproc_if_token1] = ACTIONS(1134), + [aux_sym_preproc_if_token2] = ACTIONS(1134), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1134), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1134), + [sym_preproc_directive] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(1136), + [anon_sym_BANG] = ACTIONS(1136), + [anon_sym_TILDE] = ACTIONS(1136), + [anon_sym_DASH] = ACTIONS(1134), + [anon_sym_PLUS] = ACTIONS(1134), + [anon_sym_STAR] = ACTIONS(1136), + [anon_sym_AMP] = ACTIONS(1136), + [anon_sym_SEMI] = ACTIONS(1136), + [anon_sym___extension__] = ACTIONS(1134), + [anon_sym_typedef] = ACTIONS(1134), + [anon_sym_extern] = ACTIONS(1134), + [anon_sym___attribute__] = ACTIONS(1134), + [anon_sym___attribute] = ACTIONS(1134), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1136), + [anon_sym___declspec] = ACTIONS(1134), + [anon_sym___cdecl] = ACTIONS(1134), + [anon_sym___clrcall] = ACTIONS(1134), + [anon_sym___stdcall] = ACTIONS(1134), + [anon_sym___fastcall] = ACTIONS(1134), + [anon_sym___thiscall] = ACTIONS(1134), + [anon_sym___vectorcall] = ACTIONS(1134), + [anon_sym_LBRACE] = ACTIONS(1136), + [anon_sym_signed] = ACTIONS(1134), + [anon_sym_unsigned] = ACTIONS(1134), + [anon_sym_long] = ACTIONS(1134), + [anon_sym_short] = ACTIONS(1134), + [anon_sym_static] = ACTIONS(1134), + [anon_sym_auto] = ACTIONS(1134), + [anon_sym_register] = ACTIONS(1134), + [anon_sym_inline] = ACTIONS(1134), + [anon_sym___inline] = ACTIONS(1134), + [anon_sym___inline__] = ACTIONS(1134), + [anon_sym___forceinline] = ACTIONS(1134), + [anon_sym_thread_local] = ACTIONS(1134), + [anon_sym___thread] = ACTIONS(1134), + [anon_sym_const] = ACTIONS(1134), + [anon_sym_constexpr] = ACTIONS(1134), + [anon_sym_volatile] = ACTIONS(1134), + [anon_sym_restrict] = ACTIONS(1134), + [anon_sym___restrict__] = ACTIONS(1134), + [anon_sym__Atomic] = ACTIONS(1134), + [anon_sym__Noreturn] = ACTIONS(1134), + [anon_sym_noreturn] = ACTIONS(1134), + [anon_sym__Nonnull] = ACTIONS(1134), + [anon_sym_alignas] = ACTIONS(1134), + [anon_sym__Alignas] = ACTIONS(1134), + [sym_primitive_type] = ACTIONS(1134), + [anon_sym_enum] = ACTIONS(1134), + [anon_sym_struct] = ACTIONS(1134), + [anon_sym_union] = ACTIONS(1134), + [anon_sym_if] = ACTIONS(1134), + [anon_sym_else] = ACTIONS(1134), + [anon_sym_switch] = ACTIONS(1134), + [anon_sym_case] = ACTIONS(1134), + [anon_sym_default] = ACTIONS(1134), + [anon_sym_while] = ACTIONS(1134), + [anon_sym_do] = ACTIONS(1134), + [anon_sym_for] = ACTIONS(1134), + [anon_sym_return] = ACTIONS(1134), + [anon_sym_break] = ACTIONS(1134), + [anon_sym_continue] = ACTIONS(1134), + [anon_sym_goto] = ACTIONS(1134), + [anon_sym___try] = ACTIONS(1134), + [anon_sym___leave] = ACTIONS(1134), + [anon_sym_DASH_DASH] = ACTIONS(1136), + [anon_sym_PLUS_PLUS] = ACTIONS(1136), + [anon_sym_sizeof] = ACTIONS(1134), + [anon_sym___alignof__] = ACTIONS(1134), + [anon_sym___alignof] = ACTIONS(1134), + [anon_sym__alignof] = ACTIONS(1134), + [anon_sym_alignof] = ACTIONS(1134), + [anon_sym__Alignof] = ACTIONS(1134), + [anon_sym_offsetof] = ACTIONS(1134), + [anon_sym__Generic] = ACTIONS(1134), + [anon_sym_asm] = ACTIONS(1134), + [anon_sym___asm__] = ACTIONS(1134), + [anon_sym___asm] = ACTIONS(1134), + [sym_number_literal] = ACTIONS(1136), + [anon_sym_L_SQUOTE] = ACTIONS(1136), + [anon_sym_u_SQUOTE] = ACTIONS(1136), + [anon_sym_U_SQUOTE] = ACTIONS(1136), + [anon_sym_u8_SQUOTE] = ACTIONS(1136), + [anon_sym_SQUOTE] = ACTIONS(1136), + [anon_sym_L_DQUOTE] = ACTIONS(1136), + [anon_sym_u_DQUOTE] = ACTIONS(1136), + [anon_sym_U_DQUOTE] = ACTIONS(1136), + [anon_sym_u8_DQUOTE] = ACTIONS(1136), + [anon_sym_DQUOTE] = ACTIONS(1136), + [sym_true] = ACTIONS(1134), + [sym_false] = ACTIONS(1134), + [anon_sym_NULL] = ACTIONS(1134), + [anon_sym_nullptr] = ACTIONS(1134), + [sym_comment] = ACTIONS(3), + }, + [205] = { + [sym_identifier] = ACTIONS(1186), + [aux_sym_preproc_include_token1] = ACTIONS(1186), + [aux_sym_preproc_def_token1] = ACTIONS(1186), + [aux_sym_preproc_if_token1] = ACTIONS(1186), + [aux_sym_preproc_if_token2] = ACTIONS(1186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1186), + [sym_preproc_directive] = ACTIONS(1186), + [anon_sym_LPAREN2] = ACTIONS(1188), + [anon_sym_BANG] = ACTIONS(1188), + [anon_sym_TILDE] = ACTIONS(1188), + [anon_sym_DASH] = ACTIONS(1186), + [anon_sym_PLUS] = ACTIONS(1186), + [anon_sym_STAR] = ACTIONS(1188), + [anon_sym_AMP] = ACTIONS(1188), + [anon_sym_SEMI] = ACTIONS(1188), + [anon_sym___extension__] = ACTIONS(1186), + [anon_sym_typedef] = ACTIONS(1186), + [anon_sym_extern] = ACTIONS(1186), + [anon_sym___attribute__] = ACTIONS(1186), + [anon_sym___attribute] = ACTIONS(1186), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1188), + [anon_sym___declspec] = ACTIONS(1186), + [anon_sym___cdecl] = ACTIONS(1186), + [anon_sym___clrcall] = ACTIONS(1186), + [anon_sym___stdcall] = ACTIONS(1186), + [anon_sym___fastcall] = ACTIONS(1186), + [anon_sym___thiscall] = ACTIONS(1186), + [anon_sym___vectorcall] = ACTIONS(1186), + [anon_sym_LBRACE] = ACTIONS(1188), + [anon_sym_signed] = ACTIONS(1186), + [anon_sym_unsigned] = ACTIONS(1186), + [anon_sym_long] = ACTIONS(1186), + [anon_sym_short] = ACTIONS(1186), + [anon_sym_static] = ACTIONS(1186), + [anon_sym_auto] = ACTIONS(1186), + [anon_sym_register] = ACTIONS(1186), + [anon_sym_inline] = ACTIONS(1186), + [anon_sym___inline] = ACTIONS(1186), + [anon_sym___inline__] = ACTIONS(1186), + [anon_sym___forceinline] = ACTIONS(1186), + [anon_sym_thread_local] = ACTIONS(1186), + [anon_sym___thread] = ACTIONS(1186), + [anon_sym_const] = ACTIONS(1186), + [anon_sym_constexpr] = ACTIONS(1186), + [anon_sym_volatile] = ACTIONS(1186), + [anon_sym_restrict] = ACTIONS(1186), + [anon_sym___restrict__] = ACTIONS(1186), + [anon_sym__Atomic] = ACTIONS(1186), + [anon_sym__Noreturn] = ACTIONS(1186), + [anon_sym_noreturn] = ACTIONS(1186), + [anon_sym__Nonnull] = ACTIONS(1186), + [anon_sym_alignas] = ACTIONS(1186), + [anon_sym__Alignas] = ACTIONS(1186), + [sym_primitive_type] = ACTIONS(1186), + [anon_sym_enum] = ACTIONS(1186), + [anon_sym_struct] = ACTIONS(1186), + [anon_sym_union] = ACTIONS(1186), + [anon_sym_if] = ACTIONS(1186), + [anon_sym_else] = ACTIONS(1186), + [anon_sym_switch] = ACTIONS(1186), + [anon_sym_case] = ACTIONS(1186), + [anon_sym_default] = ACTIONS(1186), + [anon_sym_while] = ACTIONS(1186), + [anon_sym_do] = ACTIONS(1186), + [anon_sym_for] = ACTIONS(1186), + [anon_sym_return] = ACTIONS(1186), + [anon_sym_break] = ACTIONS(1186), + [anon_sym_continue] = ACTIONS(1186), + [anon_sym_goto] = ACTIONS(1186), + [anon_sym___try] = ACTIONS(1186), + [anon_sym___leave] = ACTIONS(1186), + [anon_sym_DASH_DASH] = ACTIONS(1188), + [anon_sym_PLUS_PLUS] = ACTIONS(1188), + [anon_sym_sizeof] = ACTIONS(1186), + [anon_sym___alignof__] = ACTIONS(1186), + [anon_sym___alignof] = ACTIONS(1186), + [anon_sym__alignof] = ACTIONS(1186), + [anon_sym_alignof] = ACTIONS(1186), + [anon_sym__Alignof] = ACTIONS(1186), + [anon_sym_offsetof] = ACTIONS(1186), + [anon_sym__Generic] = ACTIONS(1186), + [anon_sym_asm] = ACTIONS(1186), + [anon_sym___asm__] = ACTIONS(1186), + [anon_sym___asm] = ACTIONS(1186), + [sym_number_literal] = ACTIONS(1188), + [anon_sym_L_SQUOTE] = ACTIONS(1188), + [anon_sym_u_SQUOTE] = ACTIONS(1188), + [anon_sym_U_SQUOTE] = ACTIONS(1188), + [anon_sym_u8_SQUOTE] = ACTIONS(1188), + [anon_sym_SQUOTE] = ACTIONS(1188), + [anon_sym_L_DQUOTE] = ACTIONS(1188), + [anon_sym_u_DQUOTE] = ACTIONS(1188), + [anon_sym_U_DQUOTE] = ACTIONS(1188), + [anon_sym_u8_DQUOTE] = ACTIONS(1188), + [anon_sym_DQUOTE] = ACTIONS(1188), + [sym_true] = ACTIONS(1186), + [sym_false] = ACTIONS(1186), + [anon_sym_NULL] = ACTIONS(1186), + [anon_sym_nullptr] = ACTIONS(1186), + [sym_comment] = ACTIONS(3), + }, + [206] = { + [sym_identifier] = ACTIONS(1190), + [aux_sym_preproc_include_token1] = ACTIONS(1190), + [aux_sym_preproc_def_token1] = ACTIONS(1190), + [aux_sym_preproc_if_token1] = ACTIONS(1190), + [aux_sym_preproc_if_token2] = ACTIONS(1190), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1190), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1190), + [sym_preproc_directive] = ACTIONS(1190), + [anon_sym_LPAREN2] = ACTIONS(1192), + [anon_sym_BANG] = ACTIONS(1192), + [anon_sym_TILDE] = ACTIONS(1192), + [anon_sym_DASH] = ACTIONS(1190), + [anon_sym_PLUS] = ACTIONS(1190), + [anon_sym_STAR] = ACTIONS(1192), + [anon_sym_AMP] = ACTIONS(1192), + [anon_sym_SEMI] = ACTIONS(1192), + [anon_sym___extension__] = ACTIONS(1190), + [anon_sym_typedef] = ACTIONS(1190), + [anon_sym_extern] = ACTIONS(1190), + [anon_sym___attribute__] = ACTIONS(1190), + [anon_sym___attribute] = ACTIONS(1190), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1192), + [anon_sym___declspec] = ACTIONS(1190), + [anon_sym___cdecl] = ACTIONS(1190), + [anon_sym___clrcall] = ACTIONS(1190), + [anon_sym___stdcall] = ACTIONS(1190), + [anon_sym___fastcall] = ACTIONS(1190), + [anon_sym___thiscall] = ACTIONS(1190), + [anon_sym___vectorcall] = ACTIONS(1190), + [anon_sym_LBRACE] = ACTIONS(1192), + [anon_sym_signed] = ACTIONS(1190), + [anon_sym_unsigned] = ACTIONS(1190), + [anon_sym_long] = ACTIONS(1190), + [anon_sym_short] = ACTIONS(1190), + [anon_sym_static] = ACTIONS(1190), + [anon_sym_auto] = ACTIONS(1190), + [anon_sym_register] = ACTIONS(1190), + [anon_sym_inline] = ACTIONS(1190), + [anon_sym___inline] = ACTIONS(1190), + [anon_sym___inline__] = ACTIONS(1190), + [anon_sym___forceinline] = ACTIONS(1190), + [anon_sym_thread_local] = ACTIONS(1190), + [anon_sym___thread] = ACTIONS(1190), + [anon_sym_const] = ACTIONS(1190), + [anon_sym_constexpr] = ACTIONS(1190), + [anon_sym_volatile] = ACTIONS(1190), + [anon_sym_restrict] = ACTIONS(1190), + [anon_sym___restrict__] = ACTIONS(1190), + [anon_sym__Atomic] = ACTIONS(1190), + [anon_sym__Noreturn] = ACTIONS(1190), + [anon_sym_noreturn] = ACTIONS(1190), + [anon_sym__Nonnull] = ACTIONS(1190), + [anon_sym_alignas] = ACTIONS(1190), + [anon_sym__Alignas] = ACTIONS(1190), + [sym_primitive_type] = ACTIONS(1190), + [anon_sym_enum] = ACTIONS(1190), + [anon_sym_struct] = ACTIONS(1190), + [anon_sym_union] = ACTIONS(1190), + [anon_sym_if] = ACTIONS(1190), + [anon_sym_else] = ACTIONS(1190), + [anon_sym_switch] = ACTIONS(1190), + [anon_sym_case] = ACTIONS(1190), + [anon_sym_default] = ACTIONS(1190), + [anon_sym_while] = ACTIONS(1190), + [anon_sym_do] = ACTIONS(1190), + [anon_sym_for] = ACTIONS(1190), + [anon_sym_return] = ACTIONS(1190), + [anon_sym_break] = ACTIONS(1190), + [anon_sym_continue] = ACTIONS(1190), + [anon_sym_goto] = ACTIONS(1190), + [anon_sym___try] = ACTIONS(1190), + [anon_sym___leave] = ACTIONS(1190), + [anon_sym_DASH_DASH] = ACTIONS(1192), + [anon_sym_PLUS_PLUS] = ACTIONS(1192), + [anon_sym_sizeof] = ACTIONS(1190), + [anon_sym___alignof__] = ACTIONS(1190), + [anon_sym___alignof] = ACTIONS(1190), + [anon_sym__alignof] = ACTIONS(1190), + [anon_sym_alignof] = ACTIONS(1190), + [anon_sym__Alignof] = ACTIONS(1190), + [anon_sym_offsetof] = ACTIONS(1190), + [anon_sym__Generic] = ACTIONS(1190), + [anon_sym_asm] = ACTIONS(1190), + [anon_sym___asm__] = ACTIONS(1190), + [anon_sym___asm] = ACTIONS(1190), + [sym_number_literal] = ACTIONS(1192), + [anon_sym_L_SQUOTE] = ACTIONS(1192), + [anon_sym_u_SQUOTE] = ACTIONS(1192), + [anon_sym_U_SQUOTE] = ACTIONS(1192), + [anon_sym_u8_SQUOTE] = ACTIONS(1192), + [anon_sym_SQUOTE] = ACTIONS(1192), + [anon_sym_L_DQUOTE] = ACTIONS(1192), + [anon_sym_u_DQUOTE] = ACTIONS(1192), + [anon_sym_U_DQUOTE] = ACTIONS(1192), + [anon_sym_u8_DQUOTE] = ACTIONS(1192), + [anon_sym_DQUOTE] = ACTIONS(1192), + [sym_true] = ACTIONS(1190), + [sym_false] = ACTIONS(1190), + [anon_sym_NULL] = ACTIONS(1190), + [anon_sym_nullptr] = ACTIONS(1190), + [sym_comment] = ACTIONS(3), + }, + [207] = { + [sym_identifier] = ACTIONS(1134), + [aux_sym_preproc_include_token1] = ACTIONS(1134), + [aux_sym_preproc_def_token1] = ACTIONS(1134), + [aux_sym_preproc_if_token1] = ACTIONS(1134), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1134), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1134), + [sym_preproc_directive] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(1136), + [anon_sym_BANG] = ACTIONS(1136), + [anon_sym_TILDE] = ACTIONS(1136), + [anon_sym_DASH] = ACTIONS(1134), + [anon_sym_PLUS] = ACTIONS(1134), + [anon_sym_STAR] = ACTIONS(1136), + [anon_sym_AMP] = ACTIONS(1136), + [anon_sym_SEMI] = ACTIONS(1136), + [anon_sym___extension__] = ACTIONS(1134), + [anon_sym_typedef] = ACTIONS(1134), + [anon_sym_extern] = ACTIONS(1134), + [anon_sym___attribute__] = ACTIONS(1134), + [anon_sym___attribute] = ACTIONS(1134), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1136), + [anon_sym___declspec] = ACTIONS(1134), + [anon_sym___cdecl] = ACTIONS(1134), + [anon_sym___clrcall] = ACTIONS(1134), + [anon_sym___stdcall] = ACTIONS(1134), + [anon_sym___fastcall] = ACTIONS(1134), + [anon_sym___thiscall] = ACTIONS(1134), + [anon_sym___vectorcall] = ACTIONS(1134), + [anon_sym_LBRACE] = ACTIONS(1136), + [anon_sym_RBRACE] = ACTIONS(1136), + [anon_sym_signed] = ACTIONS(1134), + [anon_sym_unsigned] = ACTIONS(1134), + [anon_sym_long] = ACTIONS(1134), + [anon_sym_short] = ACTIONS(1134), + [anon_sym_static] = ACTIONS(1134), + [anon_sym_auto] = ACTIONS(1134), + [anon_sym_register] = ACTIONS(1134), + [anon_sym_inline] = ACTIONS(1134), + [anon_sym___inline] = ACTIONS(1134), + [anon_sym___inline__] = ACTIONS(1134), + [anon_sym___forceinline] = ACTIONS(1134), + [anon_sym_thread_local] = ACTIONS(1134), + [anon_sym___thread] = ACTIONS(1134), + [anon_sym_const] = ACTIONS(1134), + [anon_sym_constexpr] = ACTIONS(1134), + [anon_sym_volatile] = ACTIONS(1134), + [anon_sym_restrict] = ACTIONS(1134), + [anon_sym___restrict__] = ACTIONS(1134), + [anon_sym__Atomic] = ACTIONS(1134), + [anon_sym__Noreturn] = ACTIONS(1134), + [anon_sym_noreturn] = ACTIONS(1134), + [anon_sym__Nonnull] = ACTIONS(1134), + [anon_sym_alignas] = ACTIONS(1134), + [anon_sym__Alignas] = ACTIONS(1134), + [sym_primitive_type] = ACTIONS(1134), + [anon_sym_enum] = ACTIONS(1134), + [anon_sym_struct] = ACTIONS(1134), + [anon_sym_union] = ACTIONS(1134), + [anon_sym_if] = ACTIONS(1134), + [anon_sym_else] = ACTIONS(1134), + [anon_sym_switch] = ACTIONS(1134), + [anon_sym_case] = ACTIONS(1134), + [anon_sym_default] = ACTIONS(1134), + [anon_sym_while] = ACTIONS(1134), + [anon_sym_do] = ACTIONS(1134), + [anon_sym_for] = ACTIONS(1134), + [anon_sym_return] = ACTIONS(1134), + [anon_sym_break] = ACTIONS(1134), + [anon_sym_continue] = ACTIONS(1134), + [anon_sym_goto] = ACTIONS(1134), + [anon_sym___try] = ACTIONS(1134), + [anon_sym___leave] = ACTIONS(1134), + [anon_sym_DASH_DASH] = ACTIONS(1136), + [anon_sym_PLUS_PLUS] = ACTIONS(1136), + [anon_sym_sizeof] = ACTIONS(1134), + [anon_sym___alignof__] = ACTIONS(1134), + [anon_sym___alignof] = ACTIONS(1134), + [anon_sym__alignof] = ACTIONS(1134), + [anon_sym_alignof] = ACTIONS(1134), + [anon_sym__Alignof] = ACTIONS(1134), + [anon_sym_offsetof] = ACTIONS(1134), + [anon_sym__Generic] = ACTIONS(1134), + [anon_sym_asm] = ACTIONS(1134), + [anon_sym___asm__] = ACTIONS(1134), + [anon_sym___asm] = ACTIONS(1134), + [sym_number_literal] = ACTIONS(1136), + [anon_sym_L_SQUOTE] = ACTIONS(1136), + [anon_sym_u_SQUOTE] = ACTIONS(1136), + [anon_sym_U_SQUOTE] = ACTIONS(1136), + [anon_sym_u8_SQUOTE] = ACTIONS(1136), + [anon_sym_SQUOTE] = ACTIONS(1136), + [anon_sym_L_DQUOTE] = ACTIONS(1136), + [anon_sym_u_DQUOTE] = ACTIONS(1136), + [anon_sym_U_DQUOTE] = ACTIONS(1136), + [anon_sym_u8_DQUOTE] = ACTIONS(1136), + [anon_sym_DQUOTE] = ACTIONS(1136), + [sym_true] = ACTIONS(1134), + [sym_false] = ACTIONS(1134), + [anon_sym_NULL] = ACTIONS(1134), + [anon_sym_nullptr] = ACTIONS(1134), + [sym_comment] = ACTIONS(3), + }, + [208] = { + [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(1208), + [anon_sym_BANG] = ACTIONS(1208), + [anon_sym_TILDE] = ACTIONS(1208), + [anon_sym_DASH] = ACTIONS(1206), + [anon_sym_PLUS] = ACTIONS(1206), + [anon_sym_STAR] = ACTIONS(1208), + [anon_sym_AMP] = ACTIONS(1208), + [anon_sym_SEMI] = ACTIONS(1208), + [anon_sym___extension__] = ACTIONS(1206), + [anon_sym_typedef] = ACTIONS(1206), + [anon_sym_extern] = ACTIONS(1206), + [anon_sym___attribute__] = ACTIONS(1206), + [anon_sym___attribute] = ACTIONS(1206), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1208), + [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(1208), + [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__Nonnull] = 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(1208), + [anon_sym_PLUS_PLUS] = ACTIONS(1208), + [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), + [anon_sym___asm] = ACTIONS(1206), + [sym_number_literal] = ACTIONS(1208), + [anon_sym_L_SQUOTE] = ACTIONS(1208), + [anon_sym_u_SQUOTE] = ACTIONS(1208), + [anon_sym_U_SQUOTE] = ACTIONS(1208), + [anon_sym_u8_SQUOTE] = ACTIONS(1208), + [anon_sym_SQUOTE] = ACTIONS(1208), + [anon_sym_L_DQUOTE] = ACTIONS(1208), + [anon_sym_u_DQUOTE] = ACTIONS(1208), + [anon_sym_U_DQUOTE] = ACTIONS(1208), + [anon_sym_u8_DQUOTE] = ACTIONS(1208), + [anon_sym_DQUOTE] = ACTIONS(1208), + [sym_true] = ACTIONS(1206), + [sym_false] = ACTIONS(1206), + [anon_sym_NULL] = ACTIONS(1206), + [anon_sym_nullptr] = ACTIONS(1206), + [sym_comment] = ACTIONS(3), + }, + [209] = { + [sym_identifier] = ACTIONS(1210), + [aux_sym_preproc_include_token1] = ACTIONS(1210), + [aux_sym_preproc_def_token1] = ACTIONS(1210), + [aux_sym_preproc_if_token1] = ACTIONS(1210), + [aux_sym_preproc_if_token2] = ACTIONS(1210), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1210), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1210), + [sym_preproc_directive] = ACTIONS(1210), + [anon_sym_LPAREN2] = ACTIONS(1212), + [anon_sym_BANG] = ACTIONS(1212), + [anon_sym_TILDE] = ACTIONS(1212), + [anon_sym_DASH] = ACTIONS(1210), + [anon_sym_PLUS] = ACTIONS(1210), + [anon_sym_STAR] = ACTIONS(1212), + [anon_sym_AMP] = ACTIONS(1212), + [anon_sym_SEMI] = ACTIONS(1212), + [anon_sym___extension__] = ACTIONS(1210), + [anon_sym_typedef] = ACTIONS(1210), + [anon_sym_extern] = ACTIONS(1210), + [anon_sym___attribute__] = ACTIONS(1210), + [anon_sym___attribute] = ACTIONS(1210), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1212), + [anon_sym___declspec] = ACTIONS(1210), + [anon_sym___cdecl] = ACTIONS(1210), + [anon_sym___clrcall] = ACTIONS(1210), + [anon_sym___stdcall] = ACTIONS(1210), + [anon_sym___fastcall] = ACTIONS(1210), + [anon_sym___thiscall] = ACTIONS(1210), + [anon_sym___vectorcall] = ACTIONS(1210), + [anon_sym_LBRACE] = ACTIONS(1212), + [anon_sym_signed] = ACTIONS(1210), + [anon_sym_unsigned] = ACTIONS(1210), + [anon_sym_long] = ACTIONS(1210), + [anon_sym_short] = ACTIONS(1210), + [anon_sym_static] = ACTIONS(1210), + [anon_sym_auto] = ACTIONS(1210), + [anon_sym_register] = ACTIONS(1210), + [anon_sym_inline] = ACTIONS(1210), + [anon_sym___inline] = ACTIONS(1210), + [anon_sym___inline__] = ACTIONS(1210), + [anon_sym___forceinline] = ACTIONS(1210), + [anon_sym_thread_local] = ACTIONS(1210), + [anon_sym___thread] = ACTIONS(1210), + [anon_sym_const] = ACTIONS(1210), + [anon_sym_constexpr] = ACTIONS(1210), + [anon_sym_volatile] = ACTIONS(1210), + [anon_sym_restrict] = ACTIONS(1210), + [anon_sym___restrict__] = ACTIONS(1210), + [anon_sym__Atomic] = ACTIONS(1210), + [anon_sym__Noreturn] = ACTIONS(1210), + [anon_sym_noreturn] = ACTIONS(1210), + [anon_sym__Nonnull] = ACTIONS(1210), + [anon_sym_alignas] = ACTIONS(1210), + [anon_sym__Alignas] = ACTIONS(1210), + [sym_primitive_type] = ACTIONS(1210), + [anon_sym_enum] = ACTIONS(1210), + [anon_sym_struct] = ACTIONS(1210), + [anon_sym_union] = ACTIONS(1210), + [anon_sym_if] = ACTIONS(1210), + [anon_sym_else] = ACTIONS(1210), + [anon_sym_switch] = ACTIONS(1210), + [anon_sym_case] = ACTIONS(1210), + [anon_sym_default] = ACTIONS(1210), + [anon_sym_while] = ACTIONS(1210), + [anon_sym_do] = ACTIONS(1210), + [anon_sym_for] = ACTIONS(1210), + [anon_sym_return] = ACTIONS(1210), + [anon_sym_break] = ACTIONS(1210), + [anon_sym_continue] = ACTIONS(1210), + [anon_sym_goto] = ACTIONS(1210), + [anon_sym___try] = ACTIONS(1210), + [anon_sym___leave] = ACTIONS(1210), + [anon_sym_DASH_DASH] = ACTIONS(1212), + [anon_sym_PLUS_PLUS] = ACTIONS(1212), + [anon_sym_sizeof] = ACTIONS(1210), + [anon_sym___alignof__] = ACTIONS(1210), + [anon_sym___alignof] = ACTIONS(1210), + [anon_sym__alignof] = ACTIONS(1210), + [anon_sym_alignof] = ACTIONS(1210), + [anon_sym__Alignof] = ACTIONS(1210), + [anon_sym_offsetof] = ACTIONS(1210), + [anon_sym__Generic] = ACTIONS(1210), + [anon_sym_asm] = ACTIONS(1210), + [anon_sym___asm__] = ACTIONS(1210), + [anon_sym___asm] = ACTIONS(1210), + [sym_number_literal] = ACTIONS(1212), + [anon_sym_L_SQUOTE] = ACTIONS(1212), + [anon_sym_u_SQUOTE] = ACTIONS(1212), + [anon_sym_U_SQUOTE] = ACTIONS(1212), + [anon_sym_u8_SQUOTE] = ACTIONS(1212), + [anon_sym_SQUOTE] = ACTIONS(1212), + [anon_sym_L_DQUOTE] = ACTIONS(1212), + [anon_sym_u_DQUOTE] = ACTIONS(1212), + [anon_sym_U_DQUOTE] = ACTIONS(1212), + [anon_sym_u8_DQUOTE] = ACTIONS(1212), + [anon_sym_DQUOTE] = ACTIONS(1212), + [sym_true] = ACTIONS(1210), + [sym_false] = ACTIONS(1210), + [anon_sym_NULL] = ACTIONS(1210), + [anon_sym_nullptr] = ACTIONS(1210), + [sym_comment] = ACTIONS(3), + }, + [210] = { + [sym_identifier] = ACTIONS(1154), + [aux_sym_preproc_include_token1] = ACTIONS(1154), + [aux_sym_preproc_def_token1] = ACTIONS(1154), + [aux_sym_preproc_if_token1] = ACTIONS(1154), + [aux_sym_preproc_if_token2] = ACTIONS(1154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1154), + [sym_preproc_directive] = ACTIONS(1154), + [anon_sym_LPAREN2] = ACTIONS(1156), + [anon_sym_BANG] = ACTIONS(1156), + [anon_sym_TILDE] = ACTIONS(1156), + [anon_sym_DASH] = ACTIONS(1154), + [anon_sym_PLUS] = ACTIONS(1154), + [anon_sym_STAR] = ACTIONS(1156), + [anon_sym_AMP] = ACTIONS(1156), + [anon_sym_SEMI] = ACTIONS(1156), + [anon_sym___extension__] = ACTIONS(1154), + [anon_sym_typedef] = ACTIONS(1154), + [anon_sym_extern] = ACTIONS(1154), + [anon_sym___attribute__] = ACTIONS(1154), + [anon_sym___attribute] = ACTIONS(1154), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1156), + [anon_sym___declspec] = ACTIONS(1154), + [anon_sym___cdecl] = ACTIONS(1154), + [anon_sym___clrcall] = ACTIONS(1154), + [anon_sym___stdcall] = ACTIONS(1154), + [anon_sym___fastcall] = ACTIONS(1154), + [anon_sym___thiscall] = ACTIONS(1154), + [anon_sym___vectorcall] = ACTIONS(1154), + [anon_sym_LBRACE] = ACTIONS(1156), + [anon_sym_signed] = ACTIONS(1154), + [anon_sym_unsigned] = ACTIONS(1154), + [anon_sym_long] = ACTIONS(1154), + [anon_sym_short] = ACTIONS(1154), + [anon_sym_static] = ACTIONS(1154), + [anon_sym_auto] = ACTIONS(1154), + [anon_sym_register] = ACTIONS(1154), + [anon_sym_inline] = ACTIONS(1154), + [anon_sym___inline] = ACTIONS(1154), + [anon_sym___inline__] = ACTIONS(1154), + [anon_sym___forceinline] = ACTIONS(1154), + [anon_sym_thread_local] = ACTIONS(1154), + [anon_sym___thread] = ACTIONS(1154), + [anon_sym_const] = ACTIONS(1154), + [anon_sym_constexpr] = ACTIONS(1154), + [anon_sym_volatile] = ACTIONS(1154), + [anon_sym_restrict] = ACTIONS(1154), + [anon_sym___restrict__] = ACTIONS(1154), + [anon_sym__Atomic] = ACTIONS(1154), + [anon_sym__Noreturn] = ACTIONS(1154), + [anon_sym_noreturn] = ACTIONS(1154), + [anon_sym__Nonnull] = ACTIONS(1154), + [anon_sym_alignas] = ACTIONS(1154), + [anon_sym__Alignas] = ACTIONS(1154), + [sym_primitive_type] = ACTIONS(1154), + [anon_sym_enum] = ACTIONS(1154), + [anon_sym_struct] = ACTIONS(1154), + [anon_sym_union] = ACTIONS(1154), + [anon_sym_if] = ACTIONS(1154), + [anon_sym_else] = ACTIONS(1154), + [anon_sym_switch] = ACTIONS(1154), + [anon_sym_case] = ACTIONS(1154), + [anon_sym_default] = ACTIONS(1154), + [anon_sym_while] = ACTIONS(1154), + [anon_sym_do] = ACTIONS(1154), + [anon_sym_for] = ACTIONS(1154), + [anon_sym_return] = ACTIONS(1154), + [anon_sym_break] = ACTIONS(1154), + [anon_sym_continue] = ACTIONS(1154), + [anon_sym_goto] = ACTIONS(1154), + [anon_sym___try] = ACTIONS(1154), + [anon_sym___leave] = ACTIONS(1154), + [anon_sym_DASH_DASH] = ACTIONS(1156), + [anon_sym_PLUS_PLUS] = ACTIONS(1156), + [anon_sym_sizeof] = ACTIONS(1154), + [anon_sym___alignof__] = ACTIONS(1154), + [anon_sym___alignof] = ACTIONS(1154), + [anon_sym__alignof] = ACTIONS(1154), + [anon_sym_alignof] = ACTIONS(1154), + [anon_sym__Alignof] = ACTIONS(1154), + [anon_sym_offsetof] = ACTIONS(1154), + [anon_sym__Generic] = ACTIONS(1154), + [anon_sym_asm] = ACTIONS(1154), + [anon_sym___asm__] = ACTIONS(1154), + [anon_sym___asm] = ACTIONS(1154), + [sym_number_literal] = ACTIONS(1156), + [anon_sym_L_SQUOTE] = ACTIONS(1156), + [anon_sym_u_SQUOTE] = ACTIONS(1156), + [anon_sym_U_SQUOTE] = ACTIONS(1156), + [anon_sym_u8_SQUOTE] = ACTIONS(1156), + [anon_sym_SQUOTE] = ACTIONS(1156), + [anon_sym_L_DQUOTE] = ACTIONS(1156), + [anon_sym_u_DQUOTE] = ACTIONS(1156), + [anon_sym_U_DQUOTE] = ACTIONS(1156), + [anon_sym_u8_DQUOTE] = ACTIONS(1156), + [anon_sym_DQUOTE] = ACTIONS(1156), + [sym_true] = ACTIONS(1154), + [sym_false] = ACTIONS(1154), + [anon_sym_NULL] = ACTIONS(1154), + [anon_sym_nullptr] = ACTIONS(1154), + [sym_comment] = ACTIONS(3), + }, + [211] = { + [sym_identifier] = ACTIONS(1154), + [aux_sym_preproc_include_token1] = ACTIONS(1154), + [aux_sym_preproc_def_token1] = ACTIONS(1154), + [aux_sym_preproc_if_token1] = ACTIONS(1154), + [aux_sym_preproc_if_token2] = ACTIONS(1154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1154), + [sym_preproc_directive] = ACTIONS(1154), + [anon_sym_LPAREN2] = ACTIONS(1156), + [anon_sym_BANG] = ACTIONS(1156), + [anon_sym_TILDE] = ACTIONS(1156), + [anon_sym_DASH] = ACTIONS(1154), + [anon_sym_PLUS] = ACTIONS(1154), + [anon_sym_STAR] = ACTIONS(1156), + [anon_sym_AMP] = ACTIONS(1156), + [anon_sym_SEMI] = ACTIONS(1156), + [anon_sym___extension__] = ACTIONS(1154), + [anon_sym_typedef] = ACTIONS(1154), + [anon_sym_extern] = ACTIONS(1154), + [anon_sym___attribute__] = ACTIONS(1154), + [anon_sym___attribute] = ACTIONS(1154), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1156), + [anon_sym___declspec] = ACTIONS(1154), + [anon_sym___cdecl] = ACTIONS(1154), + [anon_sym___clrcall] = ACTIONS(1154), + [anon_sym___stdcall] = ACTIONS(1154), + [anon_sym___fastcall] = ACTIONS(1154), + [anon_sym___thiscall] = ACTIONS(1154), + [anon_sym___vectorcall] = ACTIONS(1154), + [anon_sym_LBRACE] = ACTIONS(1156), + [anon_sym_signed] = ACTIONS(1154), + [anon_sym_unsigned] = ACTIONS(1154), + [anon_sym_long] = ACTIONS(1154), + [anon_sym_short] = ACTIONS(1154), + [anon_sym_static] = ACTIONS(1154), + [anon_sym_auto] = ACTIONS(1154), + [anon_sym_register] = ACTIONS(1154), + [anon_sym_inline] = ACTIONS(1154), + [anon_sym___inline] = ACTIONS(1154), + [anon_sym___inline__] = ACTIONS(1154), + [anon_sym___forceinline] = ACTIONS(1154), + [anon_sym_thread_local] = ACTIONS(1154), + [anon_sym___thread] = ACTIONS(1154), + [anon_sym_const] = ACTIONS(1154), + [anon_sym_constexpr] = ACTIONS(1154), + [anon_sym_volatile] = ACTIONS(1154), + [anon_sym_restrict] = ACTIONS(1154), + [anon_sym___restrict__] = ACTIONS(1154), + [anon_sym__Atomic] = ACTIONS(1154), + [anon_sym__Noreturn] = ACTIONS(1154), + [anon_sym_noreturn] = ACTIONS(1154), + [anon_sym__Nonnull] = ACTIONS(1154), + [anon_sym_alignas] = ACTIONS(1154), + [anon_sym__Alignas] = ACTIONS(1154), + [sym_primitive_type] = ACTIONS(1154), + [anon_sym_enum] = ACTIONS(1154), + [anon_sym_struct] = ACTIONS(1154), + [anon_sym_union] = ACTIONS(1154), + [anon_sym_if] = ACTIONS(1154), + [anon_sym_else] = ACTIONS(1154), + [anon_sym_switch] = ACTIONS(1154), + [anon_sym_case] = ACTIONS(1154), + [anon_sym_default] = ACTIONS(1154), + [anon_sym_while] = ACTIONS(1154), + [anon_sym_do] = ACTIONS(1154), + [anon_sym_for] = ACTIONS(1154), + [anon_sym_return] = ACTIONS(1154), + [anon_sym_break] = ACTIONS(1154), + [anon_sym_continue] = ACTIONS(1154), + [anon_sym_goto] = ACTIONS(1154), + [anon_sym___try] = ACTIONS(1154), + [anon_sym___leave] = ACTIONS(1154), + [anon_sym_DASH_DASH] = ACTIONS(1156), + [anon_sym_PLUS_PLUS] = ACTIONS(1156), + [anon_sym_sizeof] = ACTIONS(1154), + [anon_sym___alignof__] = ACTIONS(1154), + [anon_sym___alignof] = ACTIONS(1154), + [anon_sym__alignof] = ACTIONS(1154), + [anon_sym_alignof] = ACTIONS(1154), + [anon_sym__Alignof] = ACTIONS(1154), + [anon_sym_offsetof] = ACTIONS(1154), + [anon_sym__Generic] = ACTIONS(1154), + [anon_sym_asm] = ACTIONS(1154), + [anon_sym___asm__] = ACTIONS(1154), + [anon_sym___asm] = ACTIONS(1154), + [sym_number_literal] = ACTIONS(1156), + [anon_sym_L_SQUOTE] = ACTIONS(1156), + [anon_sym_u_SQUOTE] = ACTIONS(1156), + [anon_sym_U_SQUOTE] = ACTIONS(1156), + [anon_sym_u8_SQUOTE] = ACTIONS(1156), + [anon_sym_SQUOTE] = ACTIONS(1156), + [anon_sym_L_DQUOTE] = ACTIONS(1156), + [anon_sym_u_DQUOTE] = ACTIONS(1156), + [anon_sym_U_DQUOTE] = ACTIONS(1156), + [anon_sym_u8_DQUOTE] = ACTIONS(1156), + [anon_sym_DQUOTE] = ACTIONS(1156), + [sym_true] = ACTIONS(1154), + [sym_false] = ACTIONS(1154), + [anon_sym_NULL] = ACTIONS(1154), + [anon_sym_nullptr] = ACTIONS(1154), + [sym_comment] = ACTIONS(3), + }, + [212] = { + [sym_identifier] = ACTIONS(1170), + [aux_sym_preproc_include_token1] = ACTIONS(1170), + [aux_sym_preproc_def_token1] = ACTIONS(1170), + [aux_sym_preproc_if_token1] = ACTIONS(1170), + [aux_sym_preproc_if_token2] = ACTIONS(1170), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1170), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1170), + [sym_preproc_directive] = ACTIONS(1170), + [anon_sym_LPAREN2] = ACTIONS(1172), + [anon_sym_BANG] = ACTIONS(1172), + [anon_sym_TILDE] = ACTIONS(1172), + [anon_sym_DASH] = ACTIONS(1170), + [anon_sym_PLUS] = ACTIONS(1170), + [anon_sym_STAR] = ACTIONS(1172), + [anon_sym_AMP] = ACTIONS(1172), + [anon_sym_SEMI] = ACTIONS(1172), + [anon_sym___extension__] = ACTIONS(1170), + [anon_sym_typedef] = ACTIONS(1170), + [anon_sym_extern] = ACTIONS(1170), + [anon_sym___attribute__] = ACTIONS(1170), + [anon_sym___attribute] = ACTIONS(1170), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1172), + [anon_sym___declspec] = ACTIONS(1170), + [anon_sym___cdecl] = ACTIONS(1170), + [anon_sym___clrcall] = ACTIONS(1170), + [anon_sym___stdcall] = ACTIONS(1170), + [anon_sym___fastcall] = ACTIONS(1170), + [anon_sym___thiscall] = ACTIONS(1170), + [anon_sym___vectorcall] = ACTIONS(1170), + [anon_sym_LBRACE] = ACTIONS(1172), + [anon_sym_signed] = ACTIONS(1170), + [anon_sym_unsigned] = ACTIONS(1170), + [anon_sym_long] = ACTIONS(1170), + [anon_sym_short] = ACTIONS(1170), + [anon_sym_static] = ACTIONS(1170), + [anon_sym_auto] = ACTIONS(1170), + [anon_sym_register] = ACTIONS(1170), + [anon_sym_inline] = ACTIONS(1170), + [anon_sym___inline] = ACTIONS(1170), + [anon_sym___inline__] = ACTIONS(1170), + [anon_sym___forceinline] = ACTIONS(1170), + [anon_sym_thread_local] = ACTIONS(1170), + [anon_sym___thread] = ACTIONS(1170), + [anon_sym_const] = ACTIONS(1170), + [anon_sym_constexpr] = ACTIONS(1170), + [anon_sym_volatile] = ACTIONS(1170), + [anon_sym_restrict] = ACTIONS(1170), + [anon_sym___restrict__] = ACTIONS(1170), + [anon_sym__Atomic] = ACTIONS(1170), + [anon_sym__Noreturn] = ACTIONS(1170), + [anon_sym_noreturn] = ACTIONS(1170), + [anon_sym__Nonnull] = ACTIONS(1170), + [anon_sym_alignas] = ACTIONS(1170), + [anon_sym__Alignas] = ACTIONS(1170), + [sym_primitive_type] = ACTIONS(1170), + [anon_sym_enum] = ACTIONS(1170), + [anon_sym_struct] = ACTIONS(1170), + [anon_sym_union] = ACTIONS(1170), + [anon_sym_if] = ACTIONS(1170), + [anon_sym_else] = ACTIONS(1170), + [anon_sym_switch] = ACTIONS(1170), + [anon_sym_case] = ACTIONS(1170), + [anon_sym_default] = ACTIONS(1170), + [anon_sym_while] = ACTIONS(1170), + [anon_sym_do] = ACTIONS(1170), + [anon_sym_for] = ACTIONS(1170), + [anon_sym_return] = ACTIONS(1170), + [anon_sym_break] = ACTIONS(1170), + [anon_sym_continue] = ACTIONS(1170), + [anon_sym_goto] = ACTIONS(1170), + [anon_sym___try] = ACTIONS(1170), + [anon_sym___leave] = ACTIONS(1170), + [anon_sym_DASH_DASH] = ACTIONS(1172), + [anon_sym_PLUS_PLUS] = ACTIONS(1172), + [anon_sym_sizeof] = ACTIONS(1170), + [anon_sym___alignof__] = ACTIONS(1170), + [anon_sym___alignof] = ACTIONS(1170), + [anon_sym__alignof] = ACTIONS(1170), + [anon_sym_alignof] = ACTIONS(1170), + [anon_sym__Alignof] = ACTIONS(1170), + [anon_sym_offsetof] = ACTIONS(1170), + [anon_sym__Generic] = ACTIONS(1170), + [anon_sym_asm] = ACTIONS(1170), + [anon_sym___asm__] = ACTIONS(1170), + [anon_sym___asm] = ACTIONS(1170), + [sym_number_literal] = ACTIONS(1172), + [anon_sym_L_SQUOTE] = ACTIONS(1172), + [anon_sym_u_SQUOTE] = ACTIONS(1172), + [anon_sym_U_SQUOTE] = ACTIONS(1172), + [anon_sym_u8_SQUOTE] = ACTIONS(1172), + [anon_sym_SQUOTE] = ACTIONS(1172), + [anon_sym_L_DQUOTE] = ACTIONS(1172), + [anon_sym_u_DQUOTE] = ACTIONS(1172), + [anon_sym_U_DQUOTE] = ACTIONS(1172), + [anon_sym_u8_DQUOTE] = ACTIONS(1172), + [anon_sym_DQUOTE] = ACTIONS(1172), + [sym_true] = ACTIONS(1170), + [sym_false] = ACTIONS(1170), + [anon_sym_NULL] = ACTIONS(1170), + [anon_sym_nullptr] = ACTIONS(1170), + [sym_comment] = ACTIONS(3), + }, + [213] = { + [sym_identifier] = ACTIONS(1170), + [aux_sym_preproc_include_token1] = ACTIONS(1170), + [aux_sym_preproc_def_token1] = ACTIONS(1170), + [aux_sym_preproc_if_token1] = ACTIONS(1170), + [aux_sym_preproc_if_token2] = ACTIONS(1170), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1170), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1170), + [sym_preproc_directive] = ACTIONS(1170), + [anon_sym_LPAREN2] = ACTIONS(1172), + [anon_sym_BANG] = ACTIONS(1172), + [anon_sym_TILDE] = ACTIONS(1172), + [anon_sym_DASH] = ACTIONS(1170), + [anon_sym_PLUS] = ACTIONS(1170), + [anon_sym_STAR] = ACTIONS(1172), + [anon_sym_AMP] = ACTIONS(1172), + [anon_sym_SEMI] = ACTIONS(1172), + [anon_sym___extension__] = ACTIONS(1170), + [anon_sym_typedef] = ACTIONS(1170), + [anon_sym_extern] = ACTIONS(1170), + [anon_sym___attribute__] = ACTIONS(1170), + [anon_sym___attribute] = ACTIONS(1170), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1172), + [anon_sym___declspec] = ACTIONS(1170), + [anon_sym___cdecl] = ACTIONS(1170), + [anon_sym___clrcall] = ACTIONS(1170), + [anon_sym___stdcall] = ACTIONS(1170), + [anon_sym___fastcall] = ACTIONS(1170), + [anon_sym___thiscall] = ACTIONS(1170), + [anon_sym___vectorcall] = ACTIONS(1170), + [anon_sym_LBRACE] = ACTIONS(1172), + [anon_sym_signed] = ACTIONS(1170), + [anon_sym_unsigned] = ACTIONS(1170), + [anon_sym_long] = ACTIONS(1170), + [anon_sym_short] = ACTIONS(1170), + [anon_sym_static] = ACTIONS(1170), + [anon_sym_auto] = ACTIONS(1170), + [anon_sym_register] = ACTIONS(1170), + [anon_sym_inline] = ACTIONS(1170), + [anon_sym___inline] = ACTIONS(1170), + [anon_sym___inline__] = ACTIONS(1170), + [anon_sym___forceinline] = ACTIONS(1170), + [anon_sym_thread_local] = ACTIONS(1170), + [anon_sym___thread] = ACTIONS(1170), + [anon_sym_const] = ACTIONS(1170), + [anon_sym_constexpr] = ACTIONS(1170), + [anon_sym_volatile] = ACTIONS(1170), + [anon_sym_restrict] = ACTIONS(1170), + [anon_sym___restrict__] = ACTIONS(1170), + [anon_sym__Atomic] = ACTIONS(1170), + [anon_sym__Noreturn] = ACTIONS(1170), + [anon_sym_noreturn] = ACTIONS(1170), + [anon_sym__Nonnull] = ACTIONS(1170), + [anon_sym_alignas] = ACTIONS(1170), + [anon_sym__Alignas] = ACTIONS(1170), + [sym_primitive_type] = ACTIONS(1170), + [anon_sym_enum] = ACTIONS(1170), + [anon_sym_struct] = ACTIONS(1170), + [anon_sym_union] = ACTIONS(1170), + [anon_sym_if] = ACTIONS(1170), + [anon_sym_else] = ACTIONS(1170), + [anon_sym_switch] = ACTIONS(1170), + [anon_sym_case] = ACTIONS(1170), + [anon_sym_default] = ACTIONS(1170), + [anon_sym_while] = ACTIONS(1170), + [anon_sym_do] = ACTIONS(1170), + [anon_sym_for] = ACTIONS(1170), + [anon_sym_return] = ACTIONS(1170), + [anon_sym_break] = ACTIONS(1170), + [anon_sym_continue] = ACTIONS(1170), + [anon_sym_goto] = ACTIONS(1170), + [anon_sym___try] = ACTIONS(1170), + [anon_sym___leave] = ACTIONS(1170), + [anon_sym_DASH_DASH] = ACTIONS(1172), + [anon_sym_PLUS_PLUS] = ACTIONS(1172), + [anon_sym_sizeof] = ACTIONS(1170), + [anon_sym___alignof__] = ACTIONS(1170), + [anon_sym___alignof] = ACTIONS(1170), + [anon_sym__alignof] = ACTIONS(1170), + [anon_sym_alignof] = ACTIONS(1170), + [anon_sym__Alignof] = ACTIONS(1170), + [anon_sym_offsetof] = ACTIONS(1170), + [anon_sym__Generic] = ACTIONS(1170), + [anon_sym_asm] = ACTIONS(1170), + [anon_sym___asm__] = ACTIONS(1170), + [anon_sym___asm] = ACTIONS(1170), + [sym_number_literal] = ACTIONS(1172), + [anon_sym_L_SQUOTE] = ACTIONS(1172), + [anon_sym_u_SQUOTE] = ACTIONS(1172), + [anon_sym_U_SQUOTE] = ACTIONS(1172), + [anon_sym_u8_SQUOTE] = ACTIONS(1172), + [anon_sym_SQUOTE] = ACTIONS(1172), + [anon_sym_L_DQUOTE] = ACTIONS(1172), + [anon_sym_u_DQUOTE] = ACTIONS(1172), + [anon_sym_U_DQUOTE] = ACTIONS(1172), + [anon_sym_u8_DQUOTE] = ACTIONS(1172), + [anon_sym_DQUOTE] = ACTIONS(1172), + [sym_true] = ACTIONS(1170), + [sym_false] = ACTIONS(1170), + [anon_sym_NULL] = ACTIONS(1170), + [anon_sym_nullptr] = ACTIONS(1170), + [sym_comment] = ACTIONS(3), + }, + [214] = { + [sym_identifier] = ACTIONS(1174), + [aux_sym_preproc_include_token1] = ACTIONS(1174), + [aux_sym_preproc_def_token1] = ACTIONS(1174), + [aux_sym_preproc_if_token1] = ACTIONS(1174), + [aux_sym_preproc_if_token2] = ACTIONS(1174), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1174), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1174), + [sym_preproc_directive] = ACTIONS(1174), + [anon_sym_LPAREN2] = ACTIONS(1176), + [anon_sym_BANG] = ACTIONS(1176), + [anon_sym_TILDE] = ACTIONS(1176), + [anon_sym_DASH] = ACTIONS(1174), + [anon_sym_PLUS] = ACTIONS(1174), + [anon_sym_STAR] = ACTIONS(1176), + [anon_sym_AMP] = ACTIONS(1176), + [anon_sym_SEMI] = ACTIONS(1176), + [anon_sym___extension__] = ACTIONS(1174), + [anon_sym_typedef] = ACTIONS(1174), + [anon_sym_extern] = ACTIONS(1174), + [anon_sym___attribute__] = ACTIONS(1174), + [anon_sym___attribute] = ACTIONS(1174), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1176), + [anon_sym___declspec] = ACTIONS(1174), + [anon_sym___cdecl] = ACTIONS(1174), + [anon_sym___clrcall] = ACTIONS(1174), + [anon_sym___stdcall] = ACTIONS(1174), + [anon_sym___fastcall] = ACTIONS(1174), + [anon_sym___thiscall] = ACTIONS(1174), + [anon_sym___vectorcall] = ACTIONS(1174), + [anon_sym_LBRACE] = ACTIONS(1176), + [anon_sym_signed] = ACTIONS(1174), + [anon_sym_unsigned] = ACTIONS(1174), + [anon_sym_long] = ACTIONS(1174), + [anon_sym_short] = ACTIONS(1174), + [anon_sym_static] = ACTIONS(1174), + [anon_sym_auto] = ACTIONS(1174), + [anon_sym_register] = ACTIONS(1174), + [anon_sym_inline] = ACTIONS(1174), + [anon_sym___inline] = ACTIONS(1174), + [anon_sym___inline__] = ACTIONS(1174), + [anon_sym___forceinline] = ACTIONS(1174), + [anon_sym_thread_local] = ACTIONS(1174), + [anon_sym___thread] = ACTIONS(1174), + [anon_sym_const] = ACTIONS(1174), + [anon_sym_constexpr] = ACTIONS(1174), + [anon_sym_volatile] = ACTIONS(1174), + [anon_sym_restrict] = ACTIONS(1174), + [anon_sym___restrict__] = ACTIONS(1174), + [anon_sym__Atomic] = ACTIONS(1174), + [anon_sym__Noreturn] = ACTIONS(1174), + [anon_sym_noreturn] = ACTIONS(1174), + [anon_sym__Nonnull] = ACTIONS(1174), + [anon_sym_alignas] = ACTIONS(1174), + [anon_sym__Alignas] = ACTIONS(1174), + [sym_primitive_type] = ACTIONS(1174), + [anon_sym_enum] = ACTIONS(1174), + [anon_sym_struct] = ACTIONS(1174), + [anon_sym_union] = ACTIONS(1174), + [anon_sym_if] = ACTIONS(1174), + [anon_sym_else] = ACTIONS(1174), + [anon_sym_switch] = ACTIONS(1174), + [anon_sym_case] = ACTIONS(1174), + [anon_sym_default] = ACTIONS(1174), + [anon_sym_while] = ACTIONS(1174), + [anon_sym_do] = ACTIONS(1174), + [anon_sym_for] = ACTIONS(1174), + [anon_sym_return] = ACTIONS(1174), + [anon_sym_break] = ACTIONS(1174), + [anon_sym_continue] = ACTIONS(1174), + [anon_sym_goto] = ACTIONS(1174), + [anon_sym___try] = ACTIONS(1174), + [anon_sym___leave] = ACTIONS(1174), + [anon_sym_DASH_DASH] = ACTIONS(1176), + [anon_sym_PLUS_PLUS] = ACTIONS(1176), + [anon_sym_sizeof] = ACTIONS(1174), + [anon_sym___alignof__] = ACTIONS(1174), + [anon_sym___alignof] = ACTIONS(1174), + [anon_sym__alignof] = ACTIONS(1174), + [anon_sym_alignof] = ACTIONS(1174), + [anon_sym__Alignof] = ACTIONS(1174), + [anon_sym_offsetof] = ACTIONS(1174), + [anon_sym__Generic] = ACTIONS(1174), + [anon_sym_asm] = ACTIONS(1174), + [anon_sym___asm__] = ACTIONS(1174), + [anon_sym___asm] = ACTIONS(1174), + [sym_number_literal] = ACTIONS(1176), + [anon_sym_L_SQUOTE] = ACTIONS(1176), + [anon_sym_u_SQUOTE] = ACTIONS(1176), + [anon_sym_U_SQUOTE] = ACTIONS(1176), + [anon_sym_u8_SQUOTE] = ACTIONS(1176), + [anon_sym_SQUOTE] = ACTIONS(1176), + [anon_sym_L_DQUOTE] = ACTIONS(1176), + [anon_sym_u_DQUOTE] = ACTIONS(1176), + [anon_sym_U_DQUOTE] = ACTIONS(1176), + [anon_sym_u8_DQUOTE] = ACTIONS(1176), + [anon_sym_DQUOTE] = ACTIONS(1176), + [sym_true] = ACTIONS(1174), + [sym_false] = ACTIONS(1174), + [anon_sym_NULL] = ACTIONS(1174), + [anon_sym_nullptr] = ACTIONS(1174), + [sym_comment] = ACTIONS(3), + }, + [215] = { + [sym_identifier] = ACTIONS(1174), + [aux_sym_preproc_include_token1] = ACTIONS(1174), + [aux_sym_preproc_def_token1] = ACTIONS(1174), + [aux_sym_preproc_if_token1] = ACTIONS(1174), + [aux_sym_preproc_if_token2] = ACTIONS(1174), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1174), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1174), + [sym_preproc_directive] = ACTIONS(1174), + [anon_sym_LPAREN2] = ACTIONS(1176), + [anon_sym_BANG] = ACTIONS(1176), + [anon_sym_TILDE] = ACTIONS(1176), + [anon_sym_DASH] = ACTIONS(1174), + [anon_sym_PLUS] = ACTIONS(1174), + [anon_sym_STAR] = ACTIONS(1176), + [anon_sym_AMP] = ACTIONS(1176), + [anon_sym_SEMI] = ACTIONS(1176), + [anon_sym___extension__] = ACTIONS(1174), + [anon_sym_typedef] = ACTIONS(1174), + [anon_sym_extern] = ACTIONS(1174), + [anon_sym___attribute__] = ACTIONS(1174), + [anon_sym___attribute] = ACTIONS(1174), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1176), + [anon_sym___declspec] = ACTIONS(1174), + [anon_sym___cdecl] = ACTIONS(1174), + [anon_sym___clrcall] = ACTIONS(1174), + [anon_sym___stdcall] = ACTIONS(1174), + [anon_sym___fastcall] = ACTIONS(1174), + [anon_sym___thiscall] = ACTIONS(1174), + [anon_sym___vectorcall] = ACTIONS(1174), + [anon_sym_LBRACE] = ACTIONS(1176), + [anon_sym_signed] = ACTIONS(1174), + [anon_sym_unsigned] = ACTIONS(1174), + [anon_sym_long] = ACTIONS(1174), + [anon_sym_short] = ACTIONS(1174), + [anon_sym_static] = ACTIONS(1174), + [anon_sym_auto] = ACTIONS(1174), + [anon_sym_register] = ACTIONS(1174), + [anon_sym_inline] = ACTIONS(1174), + [anon_sym___inline] = ACTIONS(1174), + [anon_sym___inline__] = ACTIONS(1174), + [anon_sym___forceinline] = ACTIONS(1174), + [anon_sym_thread_local] = ACTIONS(1174), + [anon_sym___thread] = ACTIONS(1174), + [anon_sym_const] = ACTIONS(1174), + [anon_sym_constexpr] = ACTIONS(1174), + [anon_sym_volatile] = ACTIONS(1174), + [anon_sym_restrict] = ACTIONS(1174), + [anon_sym___restrict__] = ACTIONS(1174), + [anon_sym__Atomic] = ACTIONS(1174), + [anon_sym__Noreturn] = ACTIONS(1174), + [anon_sym_noreturn] = ACTIONS(1174), + [anon_sym__Nonnull] = ACTIONS(1174), + [anon_sym_alignas] = ACTIONS(1174), + [anon_sym__Alignas] = ACTIONS(1174), + [sym_primitive_type] = ACTIONS(1174), + [anon_sym_enum] = ACTIONS(1174), + [anon_sym_struct] = ACTIONS(1174), + [anon_sym_union] = ACTIONS(1174), + [anon_sym_if] = ACTIONS(1174), + [anon_sym_else] = ACTIONS(1174), + [anon_sym_switch] = ACTIONS(1174), + [anon_sym_case] = ACTIONS(1174), + [anon_sym_default] = ACTIONS(1174), + [anon_sym_while] = ACTIONS(1174), + [anon_sym_do] = ACTIONS(1174), + [anon_sym_for] = ACTIONS(1174), + [anon_sym_return] = ACTIONS(1174), + [anon_sym_break] = ACTIONS(1174), + [anon_sym_continue] = ACTIONS(1174), + [anon_sym_goto] = ACTIONS(1174), + [anon_sym___try] = ACTIONS(1174), + [anon_sym___leave] = ACTIONS(1174), + [anon_sym_DASH_DASH] = ACTIONS(1176), + [anon_sym_PLUS_PLUS] = ACTIONS(1176), + [anon_sym_sizeof] = ACTIONS(1174), + [anon_sym___alignof__] = ACTIONS(1174), + [anon_sym___alignof] = ACTIONS(1174), + [anon_sym__alignof] = ACTIONS(1174), + [anon_sym_alignof] = ACTIONS(1174), + [anon_sym__Alignof] = ACTIONS(1174), + [anon_sym_offsetof] = ACTIONS(1174), + [anon_sym__Generic] = ACTIONS(1174), + [anon_sym_asm] = ACTIONS(1174), + [anon_sym___asm__] = ACTIONS(1174), + [anon_sym___asm] = ACTIONS(1174), + [sym_number_literal] = ACTIONS(1176), + [anon_sym_L_SQUOTE] = ACTIONS(1176), + [anon_sym_u_SQUOTE] = ACTIONS(1176), + [anon_sym_U_SQUOTE] = ACTIONS(1176), + [anon_sym_u8_SQUOTE] = ACTIONS(1176), + [anon_sym_SQUOTE] = ACTIONS(1176), + [anon_sym_L_DQUOTE] = ACTIONS(1176), + [anon_sym_u_DQUOTE] = ACTIONS(1176), + [anon_sym_U_DQUOTE] = ACTIONS(1176), + [anon_sym_u8_DQUOTE] = ACTIONS(1176), + [anon_sym_DQUOTE] = ACTIONS(1176), + [sym_true] = ACTIONS(1174), + [sym_false] = ACTIONS(1174), + [anon_sym_NULL] = ACTIONS(1174), + [anon_sym_nullptr] = ACTIONS(1174), + [sym_comment] = ACTIONS(3), + }, + [216] = { + [sym_identifier] = ACTIONS(1198), + [aux_sym_preproc_include_token1] = ACTIONS(1198), + [aux_sym_preproc_def_token1] = ACTIONS(1198), + [aux_sym_preproc_if_token1] = ACTIONS(1198), + [aux_sym_preproc_if_token2] = ACTIONS(1198), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1198), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1198), + [sym_preproc_directive] = ACTIONS(1198), + [anon_sym_LPAREN2] = ACTIONS(1200), + [anon_sym_BANG] = ACTIONS(1200), + [anon_sym_TILDE] = ACTIONS(1200), + [anon_sym_DASH] = ACTIONS(1198), + [anon_sym_PLUS] = ACTIONS(1198), + [anon_sym_STAR] = ACTIONS(1200), + [anon_sym_AMP] = ACTIONS(1200), + [anon_sym_SEMI] = ACTIONS(1200), + [anon_sym___extension__] = ACTIONS(1198), + [anon_sym_typedef] = ACTIONS(1198), + [anon_sym_extern] = ACTIONS(1198), + [anon_sym___attribute__] = ACTIONS(1198), + [anon_sym___attribute] = ACTIONS(1198), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1200), + [anon_sym___declspec] = ACTIONS(1198), + [anon_sym___cdecl] = ACTIONS(1198), + [anon_sym___clrcall] = ACTIONS(1198), + [anon_sym___stdcall] = ACTIONS(1198), + [anon_sym___fastcall] = ACTIONS(1198), + [anon_sym___thiscall] = ACTIONS(1198), + [anon_sym___vectorcall] = ACTIONS(1198), + [anon_sym_LBRACE] = ACTIONS(1200), + [anon_sym_signed] = ACTIONS(1198), + [anon_sym_unsigned] = ACTIONS(1198), + [anon_sym_long] = ACTIONS(1198), + [anon_sym_short] = ACTIONS(1198), + [anon_sym_static] = ACTIONS(1198), + [anon_sym_auto] = ACTIONS(1198), + [anon_sym_register] = ACTIONS(1198), + [anon_sym_inline] = ACTIONS(1198), + [anon_sym___inline] = ACTIONS(1198), + [anon_sym___inline__] = ACTIONS(1198), + [anon_sym___forceinline] = ACTIONS(1198), + [anon_sym_thread_local] = ACTIONS(1198), + [anon_sym___thread] = ACTIONS(1198), + [anon_sym_const] = ACTIONS(1198), + [anon_sym_constexpr] = ACTIONS(1198), + [anon_sym_volatile] = ACTIONS(1198), + [anon_sym_restrict] = ACTIONS(1198), + [anon_sym___restrict__] = ACTIONS(1198), + [anon_sym__Atomic] = ACTIONS(1198), + [anon_sym__Noreturn] = ACTIONS(1198), + [anon_sym_noreturn] = ACTIONS(1198), + [anon_sym__Nonnull] = ACTIONS(1198), + [anon_sym_alignas] = ACTIONS(1198), + [anon_sym__Alignas] = ACTIONS(1198), + [sym_primitive_type] = ACTIONS(1198), + [anon_sym_enum] = ACTIONS(1198), + [anon_sym_struct] = ACTIONS(1198), + [anon_sym_union] = ACTIONS(1198), + [anon_sym_if] = ACTIONS(1198), + [anon_sym_else] = ACTIONS(1198), + [anon_sym_switch] = ACTIONS(1198), + [anon_sym_case] = ACTIONS(1198), + [anon_sym_default] = ACTIONS(1198), + [anon_sym_while] = ACTIONS(1198), + [anon_sym_do] = ACTIONS(1198), + [anon_sym_for] = ACTIONS(1198), + [anon_sym_return] = ACTIONS(1198), + [anon_sym_break] = ACTIONS(1198), + [anon_sym_continue] = ACTIONS(1198), + [anon_sym_goto] = ACTIONS(1198), + [anon_sym___try] = ACTIONS(1198), + [anon_sym___leave] = ACTIONS(1198), + [anon_sym_DASH_DASH] = ACTIONS(1200), + [anon_sym_PLUS_PLUS] = ACTIONS(1200), + [anon_sym_sizeof] = ACTIONS(1198), + [anon_sym___alignof__] = ACTIONS(1198), + [anon_sym___alignof] = ACTIONS(1198), + [anon_sym__alignof] = ACTIONS(1198), + [anon_sym_alignof] = ACTIONS(1198), + [anon_sym__Alignof] = ACTIONS(1198), + [anon_sym_offsetof] = ACTIONS(1198), + [anon_sym__Generic] = ACTIONS(1198), + [anon_sym_asm] = ACTIONS(1198), + [anon_sym___asm__] = ACTIONS(1198), + [anon_sym___asm] = ACTIONS(1198), + [sym_number_literal] = ACTIONS(1200), + [anon_sym_L_SQUOTE] = ACTIONS(1200), + [anon_sym_u_SQUOTE] = ACTIONS(1200), + [anon_sym_U_SQUOTE] = ACTIONS(1200), + [anon_sym_u8_SQUOTE] = ACTIONS(1200), + [anon_sym_SQUOTE] = ACTIONS(1200), + [anon_sym_L_DQUOTE] = ACTIONS(1200), + [anon_sym_u_DQUOTE] = ACTIONS(1200), + [anon_sym_U_DQUOTE] = ACTIONS(1200), + [anon_sym_u8_DQUOTE] = ACTIONS(1200), + [anon_sym_DQUOTE] = ACTIONS(1200), + [sym_true] = ACTIONS(1198), + [sym_false] = ACTIONS(1198), + [anon_sym_NULL] = ACTIONS(1198), + [anon_sym_nullptr] = ACTIONS(1198), + [sym_comment] = ACTIONS(3), + }, + [217] = { + [sym_identifier] = ACTIONS(1202), + [aux_sym_preproc_include_token1] = ACTIONS(1202), + [aux_sym_preproc_def_token1] = ACTIONS(1202), + [aux_sym_preproc_if_token1] = ACTIONS(1202), + [aux_sym_preproc_if_token2] = ACTIONS(1202), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1202), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1202), + [sym_preproc_directive] = ACTIONS(1202), + [anon_sym_LPAREN2] = ACTIONS(1204), + [anon_sym_BANG] = ACTIONS(1204), + [anon_sym_TILDE] = ACTIONS(1204), + [anon_sym_DASH] = ACTIONS(1202), + [anon_sym_PLUS] = ACTIONS(1202), + [anon_sym_STAR] = ACTIONS(1204), + [anon_sym_AMP] = ACTIONS(1204), + [anon_sym_SEMI] = ACTIONS(1204), + [anon_sym___extension__] = ACTIONS(1202), + [anon_sym_typedef] = ACTIONS(1202), + [anon_sym_extern] = ACTIONS(1202), + [anon_sym___attribute__] = ACTIONS(1202), + [anon_sym___attribute] = ACTIONS(1202), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1204), + [anon_sym___declspec] = ACTIONS(1202), + [anon_sym___cdecl] = ACTIONS(1202), + [anon_sym___clrcall] = ACTIONS(1202), + [anon_sym___stdcall] = ACTIONS(1202), + [anon_sym___fastcall] = ACTIONS(1202), + [anon_sym___thiscall] = ACTIONS(1202), + [anon_sym___vectorcall] = ACTIONS(1202), + [anon_sym_LBRACE] = ACTIONS(1204), + [anon_sym_signed] = ACTIONS(1202), + [anon_sym_unsigned] = ACTIONS(1202), + [anon_sym_long] = ACTIONS(1202), + [anon_sym_short] = ACTIONS(1202), + [anon_sym_static] = ACTIONS(1202), + [anon_sym_auto] = ACTIONS(1202), + [anon_sym_register] = ACTIONS(1202), + [anon_sym_inline] = ACTIONS(1202), + [anon_sym___inline] = ACTIONS(1202), + [anon_sym___inline__] = ACTIONS(1202), + [anon_sym___forceinline] = ACTIONS(1202), + [anon_sym_thread_local] = ACTIONS(1202), + [anon_sym___thread] = ACTIONS(1202), + [anon_sym_const] = ACTIONS(1202), + [anon_sym_constexpr] = ACTIONS(1202), + [anon_sym_volatile] = ACTIONS(1202), + [anon_sym_restrict] = ACTIONS(1202), + [anon_sym___restrict__] = ACTIONS(1202), + [anon_sym__Atomic] = ACTIONS(1202), + [anon_sym__Noreturn] = ACTIONS(1202), + [anon_sym_noreturn] = ACTIONS(1202), + [anon_sym__Nonnull] = ACTIONS(1202), + [anon_sym_alignas] = ACTIONS(1202), + [anon_sym__Alignas] = ACTIONS(1202), + [sym_primitive_type] = ACTIONS(1202), + [anon_sym_enum] = ACTIONS(1202), + [anon_sym_struct] = ACTIONS(1202), + [anon_sym_union] = ACTIONS(1202), + [anon_sym_if] = ACTIONS(1202), + [anon_sym_else] = ACTIONS(1202), + [anon_sym_switch] = ACTIONS(1202), + [anon_sym_case] = ACTIONS(1202), + [anon_sym_default] = ACTIONS(1202), + [anon_sym_while] = ACTIONS(1202), + [anon_sym_do] = ACTIONS(1202), + [anon_sym_for] = ACTIONS(1202), + [anon_sym_return] = ACTIONS(1202), + [anon_sym_break] = ACTIONS(1202), + [anon_sym_continue] = ACTIONS(1202), + [anon_sym_goto] = ACTIONS(1202), + [anon_sym___try] = ACTIONS(1202), + [anon_sym___leave] = ACTIONS(1202), + [anon_sym_DASH_DASH] = ACTIONS(1204), + [anon_sym_PLUS_PLUS] = ACTIONS(1204), + [anon_sym_sizeof] = ACTIONS(1202), + [anon_sym___alignof__] = ACTIONS(1202), + [anon_sym___alignof] = ACTIONS(1202), + [anon_sym__alignof] = ACTIONS(1202), + [anon_sym_alignof] = ACTIONS(1202), + [anon_sym__Alignof] = ACTIONS(1202), + [anon_sym_offsetof] = ACTIONS(1202), + [anon_sym__Generic] = ACTIONS(1202), + [anon_sym_asm] = ACTIONS(1202), + [anon_sym___asm__] = ACTIONS(1202), + [anon_sym___asm] = ACTIONS(1202), + [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(1202), + [sym_false] = ACTIONS(1202), + [anon_sym_NULL] = ACTIONS(1202), + [anon_sym_nullptr] = ACTIONS(1202), + [sym_comment] = ACTIONS(3), + }, + [218] = { + [sym_identifier] = ACTIONS(1202), + [aux_sym_preproc_include_token1] = ACTIONS(1202), + [aux_sym_preproc_def_token1] = ACTIONS(1202), + [aux_sym_preproc_if_token1] = ACTIONS(1202), + [aux_sym_preproc_if_token2] = ACTIONS(1202), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1202), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1202), + [sym_preproc_directive] = ACTIONS(1202), + [anon_sym_LPAREN2] = ACTIONS(1204), + [anon_sym_BANG] = ACTIONS(1204), + [anon_sym_TILDE] = ACTIONS(1204), + [anon_sym_DASH] = ACTIONS(1202), + [anon_sym_PLUS] = ACTIONS(1202), + [anon_sym_STAR] = ACTIONS(1204), + [anon_sym_AMP] = ACTIONS(1204), + [anon_sym_SEMI] = ACTIONS(1204), + [anon_sym___extension__] = ACTIONS(1202), + [anon_sym_typedef] = ACTIONS(1202), + [anon_sym_extern] = ACTIONS(1202), + [anon_sym___attribute__] = ACTIONS(1202), + [anon_sym___attribute] = ACTIONS(1202), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1204), + [anon_sym___declspec] = ACTIONS(1202), + [anon_sym___cdecl] = ACTIONS(1202), + [anon_sym___clrcall] = ACTIONS(1202), + [anon_sym___stdcall] = ACTIONS(1202), + [anon_sym___fastcall] = ACTIONS(1202), + [anon_sym___thiscall] = ACTIONS(1202), + [anon_sym___vectorcall] = ACTIONS(1202), + [anon_sym_LBRACE] = ACTIONS(1204), + [anon_sym_signed] = ACTIONS(1202), + [anon_sym_unsigned] = ACTIONS(1202), + [anon_sym_long] = ACTIONS(1202), + [anon_sym_short] = ACTIONS(1202), + [anon_sym_static] = ACTIONS(1202), + [anon_sym_auto] = ACTIONS(1202), + [anon_sym_register] = ACTIONS(1202), + [anon_sym_inline] = ACTIONS(1202), + [anon_sym___inline] = ACTIONS(1202), + [anon_sym___inline__] = ACTIONS(1202), + [anon_sym___forceinline] = ACTIONS(1202), + [anon_sym_thread_local] = ACTIONS(1202), + [anon_sym___thread] = ACTIONS(1202), + [anon_sym_const] = ACTIONS(1202), + [anon_sym_constexpr] = ACTIONS(1202), + [anon_sym_volatile] = ACTIONS(1202), + [anon_sym_restrict] = ACTIONS(1202), + [anon_sym___restrict__] = ACTIONS(1202), + [anon_sym__Atomic] = ACTIONS(1202), + [anon_sym__Noreturn] = ACTIONS(1202), + [anon_sym_noreturn] = ACTIONS(1202), + [anon_sym__Nonnull] = ACTIONS(1202), + [anon_sym_alignas] = ACTIONS(1202), + [anon_sym__Alignas] = ACTIONS(1202), + [sym_primitive_type] = ACTIONS(1202), + [anon_sym_enum] = ACTIONS(1202), + [anon_sym_struct] = ACTIONS(1202), + [anon_sym_union] = ACTIONS(1202), + [anon_sym_if] = ACTIONS(1202), + [anon_sym_else] = ACTIONS(1202), + [anon_sym_switch] = ACTIONS(1202), + [anon_sym_case] = ACTIONS(1202), + [anon_sym_default] = ACTIONS(1202), + [anon_sym_while] = ACTIONS(1202), + [anon_sym_do] = ACTIONS(1202), + [anon_sym_for] = ACTIONS(1202), + [anon_sym_return] = ACTIONS(1202), + [anon_sym_break] = ACTIONS(1202), + [anon_sym_continue] = ACTIONS(1202), + [anon_sym_goto] = ACTIONS(1202), + [anon_sym___try] = ACTIONS(1202), + [anon_sym___leave] = ACTIONS(1202), + [anon_sym_DASH_DASH] = ACTIONS(1204), + [anon_sym_PLUS_PLUS] = ACTIONS(1204), + [anon_sym_sizeof] = ACTIONS(1202), + [anon_sym___alignof__] = ACTIONS(1202), + [anon_sym___alignof] = ACTIONS(1202), + [anon_sym__alignof] = ACTIONS(1202), + [anon_sym_alignof] = ACTIONS(1202), + [anon_sym__Alignof] = ACTIONS(1202), + [anon_sym_offsetof] = ACTIONS(1202), + [anon_sym__Generic] = ACTIONS(1202), + [anon_sym_asm] = ACTIONS(1202), + [anon_sym___asm__] = ACTIONS(1202), + [anon_sym___asm] = ACTIONS(1202), + [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(1202), + [sym_false] = ACTIONS(1202), + [anon_sym_NULL] = ACTIONS(1202), + [anon_sym_nullptr] = ACTIONS(1202), + [sym_comment] = ACTIONS(3), + }, + [219] = { + [sym_identifier] = ACTIONS(1214), + [aux_sym_preproc_include_token1] = ACTIONS(1214), + [aux_sym_preproc_def_token1] = ACTIONS(1214), + [aux_sym_preproc_if_token1] = ACTIONS(1214), + [aux_sym_preproc_if_token2] = ACTIONS(1214), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1214), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1214), + [sym_preproc_directive] = ACTIONS(1214), + [anon_sym_LPAREN2] = ACTIONS(1216), + [anon_sym_BANG] = ACTIONS(1216), + [anon_sym_TILDE] = ACTIONS(1216), + [anon_sym_DASH] = ACTIONS(1214), + [anon_sym_PLUS] = ACTIONS(1214), + [anon_sym_STAR] = ACTIONS(1216), + [anon_sym_AMP] = ACTIONS(1216), + [anon_sym_SEMI] = ACTIONS(1216), + [anon_sym___extension__] = ACTIONS(1214), + [anon_sym_typedef] = ACTIONS(1214), + [anon_sym_extern] = ACTIONS(1214), + [anon_sym___attribute__] = ACTIONS(1214), + [anon_sym___attribute] = ACTIONS(1214), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1216), + [anon_sym___declspec] = ACTIONS(1214), + [anon_sym___cdecl] = ACTIONS(1214), + [anon_sym___clrcall] = ACTIONS(1214), + [anon_sym___stdcall] = ACTIONS(1214), + [anon_sym___fastcall] = ACTIONS(1214), + [anon_sym___thiscall] = ACTIONS(1214), + [anon_sym___vectorcall] = ACTIONS(1214), + [anon_sym_LBRACE] = ACTIONS(1216), + [anon_sym_signed] = ACTIONS(1214), + [anon_sym_unsigned] = ACTIONS(1214), + [anon_sym_long] = ACTIONS(1214), + [anon_sym_short] = ACTIONS(1214), + [anon_sym_static] = ACTIONS(1214), + [anon_sym_auto] = ACTIONS(1214), + [anon_sym_register] = ACTIONS(1214), + [anon_sym_inline] = ACTIONS(1214), + [anon_sym___inline] = ACTIONS(1214), + [anon_sym___inline__] = ACTIONS(1214), + [anon_sym___forceinline] = ACTIONS(1214), + [anon_sym_thread_local] = ACTIONS(1214), + [anon_sym___thread] = ACTIONS(1214), + [anon_sym_const] = ACTIONS(1214), + [anon_sym_constexpr] = ACTIONS(1214), + [anon_sym_volatile] = ACTIONS(1214), + [anon_sym_restrict] = ACTIONS(1214), + [anon_sym___restrict__] = ACTIONS(1214), + [anon_sym__Atomic] = ACTIONS(1214), + [anon_sym__Noreturn] = ACTIONS(1214), + [anon_sym_noreturn] = ACTIONS(1214), + [anon_sym__Nonnull] = ACTIONS(1214), + [anon_sym_alignas] = ACTIONS(1214), + [anon_sym__Alignas] = ACTIONS(1214), + [sym_primitive_type] = ACTIONS(1214), + [anon_sym_enum] = ACTIONS(1214), + [anon_sym_struct] = ACTIONS(1214), + [anon_sym_union] = ACTIONS(1214), + [anon_sym_if] = ACTIONS(1214), + [anon_sym_else] = ACTIONS(1214), + [anon_sym_switch] = ACTIONS(1214), + [anon_sym_case] = ACTIONS(1214), + [anon_sym_default] = ACTIONS(1214), + [anon_sym_while] = ACTIONS(1214), + [anon_sym_do] = ACTIONS(1214), + [anon_sym_for] = ACTIONS(1214), + [anon_sym_return] = ACTIONS(1214), + [anon_sym_break] = ACTIONS(1214), + [anon_sym_continue] = ACTIONS(1214), + [anon_sym_goto] = ACTIONS(1214), + [anon_sym___try] = ACTIONS(1214), + [anon_sym___leave] = ACTIONS(1214), + [anon_sym_DASH_DASH] = ACTIONS(1216), + [anon_sym_PLUS_PLUS] = ACTIONS(1216), + [anon_sym_sizeof] = ACTIONS(1214), + [anon_sym___alignof__] = ACTIONS(1214), + [anon_sym___alignof] = ACTIONS(1214), + [anon_sym__alignof] = ACTIONS(1214), + [anon_sym_alignof] = ACTIONS(1214), + [anon_sym__Alignof] = ACTIONS(1214), + [anon_sym_offsetof] = ACTIONS(1214), + [anon_sym__Generic] = ACTIONS(1214), + [anon_sym_asm] = ACTIONS(1214), + [anon_sym___asm__] = ACTIONS(1214), + [anon_sym___asm] = ACTIONS(1214), + [sym_number_literal] = ACTIONS(1216), + [anon_sym_L_SQUOTE] = ACTIONS(1216), + [anon_sym_u_SQUOTE] = ACTIONS(1216), + [anon_sym_U_SQUOTE] = ACTIONS(1216), + [anon_sym_u8_SQUOTE] = ACTIONS(1216), + [anon_sym_SQUOTE] = ACTIONS(1216), + [anon_sym_L_DQUOTE] = ACTIONS(1216), + [anon_sym_u_DQUOTE] = ACTIONS(1216), + [anon_sym_U_DQUOTE] = ACTIONS(1216), + [anon_sym_u8_DQUOTE] = ACTIONS(1216), + [anon_sym_DQUOTE] = ACTIONS(1216), + [sym_true] = ACTIONS(1214), + [sym_false] = ACTIONS(1214), + [anon_sym_NULL] = ACTIONS(1214), + [anon_sym_nullptr] = ACTIONS(1214), + [sym_comment] = ACTIONS(3), + }, + [220] = { + [ts_builtin_sym_end] = ACTIONS(1256), + [sym_identifier] = ACTIONS(1254), + [aux_sym_preproc_include_token1] = ACTIONS(1254), + [aux_sym_preproc_def_token1] = ACTIONS(1254), + [aux_sym_preproc_if_token1] = ACTIONS(1254), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1254), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1254), + [sym_preproc_directive] = ACTIONS(1254), + [anon_sym_LPAREN2] = ACTIONS(1256), + [anon_sym_BANG] = ACTIONS(1256), + [anon_sym_TILDE] = ACTIONS(1256), + [anon_sym_DASH] = ACTIONS(1254), + [anon_sym_PLUS] = ACTIONS(1254), + [anon_sym_STAR] = ACTIONS(1256), + [anon_sym_AMP] = ACTIONS(1256), + [anon_sym_SEMI] = ACTIONS(1256), + [anon_sym___extension__] = ACTIONS(1254), + [anon_sym_typedef] = ACTIONS(1254), + [anon_sym_extern] = ACTIONS(1254), + [anon_sym___attribute__] = ACTIONS(1254), + [anon_sym___attribute] = ACTIONS(1254), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1256), + [anon_sym___declspec] = ACTIONS(1254), + [anon_sym___cdecl] = ACTIONS(1254), + [anon_sym___clrcall] = ACTIONS(1254), + [anon_sym___stdcall] = ACTIONS(1254), + [anon_sym___fastcall] = ACTIONS(1254), + [anon_sym___thiscall] = ACTIONS(1254), + [anon_sym___vectorcall] = ACTIONS(1254), + [anon_sym_LBRACE] = ACTIONS(1256), + [anon_sym_signed] = ACTIONS(1254), + [anon_sym_unsigned] = ACTIONS(1254), + [anon_sym_long] = ACTIONS(1254), + [anon_sym_short] = ACTIONS(1254), + [anon_sym_static] = ACTIONS(1254), + [anon_sym_auto] = ACTIONS(1254), + [anon_sym_register] = ACTIONS(1254), + [anon_sym_inline] = ACTIONS(1254), + [anon_sym___inline] = ACTIONS(1254), + [anon_sym___inline__] = ACTIONS(1254), + [anon_sym___forceinline] = ACTIONS(1254), + [anon_sym_thread_local] = ACTIONS(1254), + [anon_sym___thread] = ACTIONS(1254), + [anon_sym_const] = ACTIONS(1254), + [anon_sym_constexpr] = ACTIONS(1254), + [anon_sym_volatile] = ACTIONS(1254), + [anon_sym_restrict] = ACTIONS(1254), + [anon_sym___restrict__] = ACTIONS(1254), + [anon_sym__Atomic] = ACTIONS(1254), + [anon_sym__Noreturn] = ACTIONS(1254), + [anon_sym_noreturn] = ACTIONS(1254), + [anon_sym__Nonnull] = ACTIONS(1254), + [anon_sym_alignas] = ACTIONS(1254), + [anon_sym__Alignas] = ACTIONS(1254), + [sym_primitive_type] = ACTIONS(1254), + [anon_sym_enum] = ACTIONS(1254), + [anon_sym_struct] = ACTIONS(1254), + [anon_sym_union] = ACTIONS(1254), + [anon_sym_if] = ACTIONS(1254), + [anon_sym_else] = ACTIONS(1254), + [anon_sym_switch] = ACTIONS(1254), + [anon_sym_case] = ACTIONS(1254), + [anon_sym_default] = ACTIONS(1254), + [anon_sym_while] = ACTIONS(1254), + [anon_sym_do] = ACTIONS(1254), + [anon_sym_for] = ACTIONS(1254), + [anon_sym_return] = ACTIONS(1254), + [anon_sym_break] = ACTIONS(1254), + [anon_sym_continue] = ACTIONS(1254), + [anon_sym_goto] = ACTIONS(1254), + [anon_sym___try] = ACTIONS(1254), + [anon_sym___leave] = ACTIONS(1254), + [anon_sym_DASH_DASH] = ACTIONS(1256), + [anon_sym_PLUS_PLUS] = ACTIONS(1256), + [anon_sym_sizeof] = ACTIONS(1254), + [anon_sym___alignof__] = ACTIONS(1254), + [anon_sym___alignof] = ACTIONS(1254), + [anon_sym__alignof] = ACTIONS(1254), + [anon_sym_alignof] = ACTIONS(1254), + [anon_sym__Alignof] = ACTIONS(1254), + [anon_sym_offsetof] = ACTIONS(1254), + [anon_sym__Generic] = ACTIONS(1254), + [anon_sym_asm] = ACTIONS(1254), + [anon_sym___asm__] = ACTIONS(1254), + [anon_sym___asm] = ACTIONS(1254), + [sym_number_literal] = ACTIONS(1256), + [anon_sym_L_SQUOTE] = ACTIONS(1256), + [anon_sym_u_SQUOTE] = ACTIONS(1256), + [anon_sym_U_SQUOTE] = ACTIONS(1256), + [anon_sym_u8_SQUOTE] = ACTIONS(1256), + [anon_sym_SQUOTE] = ACTIONS(1256), + [anon_sym_L_DQUOTE] = ACTIONS(1256), + [anon_sym_u_DQUOTE] = ACTIONS(1256), + [anon_sym_U_DQUOTE] = ACTIONS(1256), + [anon_sym_u8_DQUOTE] = ACTIONS(1256), + [anon_sym_DQUOTE] = ACTIONS(1256), + [sym_true] = ACTIONS(1254), + [sym_false] = ACTIONS(1254), + [anon_sym_NULL] = ACTIONS(1254), + [anon_sym_nullptr] = ACTIONS(1254), + [sym_comment] = ACTIONS(3), + }, + [221] = { + [sym_identifier] = ACTIONS(1158), + [aux_sym_preproc_include_token1] = ACTIONS(1158), + [aux_sym_preproc_def_token1] = ACTIONS(1158), + [aux_sym_preproc_if_token1] = ACTIONS(1158), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1158), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1158), + [sym_preproc_directive] = ACTIONS(1158), + [anon_sym_LPAREN2] = ACTIONS(1160), + [anon_sym_BANG] = ACTIONS(1160), + [anon_sym_TILDE] = ACTIONS(1160), + [anon_sym_DASH] = ACTIONS(1158), + [anon_sym_PLUS] = ACTIONS(1158), + [anon_sym_STAR] = ACTIONS(1160), + [anon_sym_AMP] = ACTIONS(1160), + [anon_sym_SEMI] = ACTIONS(1160), + [anon_sym___extension__] = ACTIONS(1158), + [anon_sym_typedef] = ACTIONS(1158), + [anon_sym_extern] = ACTIONS(1158), + [anon_sym___attribute__] = ACTIONS(1158), + [anon_sym___attribute] = ACTIONS(1158), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1160), + [anon_sym___declspec] = ACTIONS(1158), + [anon_sym___cdecl] = ACTIONS(1158), + [anon_sym___clrcall] = ACTIONS(1158), + [anon_sym___stdcall] = ACTIONS(1158), + [anon_sym___fastcall] = ACTIONS(1158), + [anon_sym___thiscall] = ACTIONS(1158), + [anon_sym___vectorcall] = ACTIONS(1158), + [anon_sym_LBRACE] = ACTIONS(1160), + [anon_sym_RBRACE] = ACTIONS(1160), + [anon_sym_signed] = ACTIONS(1158), + [anon_sym_unsigned] = ACTIONS(1158), + [anon_sym_long] = ACTIONS(1158), + [anon_sym_short] = ACTIONS(1158), + [anon_sym_static] = ACTIONS(1158), + [anon_sym_auto] = ACTIONS(1158), + [anon_sym_register] = ACTIONS(1158), + [anon_sym_inline] = ACTIONS(1158), + [anon_sym___inline] = ACTIONS(1158), + [anon_sym___inline__] = ACTIONS(1158), + [anon_sym___forceinline] = ACTIONS(1158), + [anon_sym_thread_local] = ACTIONS(1158), + [anon_sym___thread] = ACTIONS(1158), + [anon_sym_const] = ACTIONS(1158), + [anon_sym_constexpr] = ACTIONS(1158), + [anon_sym_volatile] = ACTIONS(1158), + [anon_sym_restrict] = ACTIONS(1158), + [anon_sym___restrict__] = ACTIONS(1158), + [anon_sym__Atomic] = ACTIONS(1158), + [anon_sym__Noreturn] = ACTIONS(1158), + [anon_sym_noreturn] = ACTIONS(1158), + [anon_sym__Nonnull] = ACTIONS(1158), + [anon_sym_alignas] = ACTIONS(1158), + [anon_sym__Alignas] = ACTIONS(1158), + [sym_primitive_type] = ACTIONS(1158), + [anon_sym_enum] = ACTIONS(1158), + [anon_sym_struct] = ACTIONS(1158), + [anon_sym_union] = ACTIONS(1158), + [anon_sym_if] = ACTIONS(1158), + [anon_sym_else] = ACTIONS(1158), + [anon_sym_switch] = ACTIONS(1158), + [anon_sym_case] = ACTIONS(1158), + [anon_sym_default] = ACTIONS(1158), + [anon_sym_while] = ACTIONS(1158), + [anon_sym_do] = ACTIONS(1158), + [anon_sym_for] = ACTIONS(1158), + [anon_sym_return] = ACTIONS(1158), + [anon_sym_break] = ACTIONS(1158), + [anon_sym_continue] = ACTIONS(1158), + [anon_sym_goto] = ACTIONS(1158), + [anon_sym___try] = ACTIONS(1158), + [anon_sym___leave] = ACTIONS(1158), + [anon_sym_DASH_DASH] = ACTIONS(1160), + [anon_sym_PLUS_PLUS] = ACTIONS(1160), + [anon_sym_sizeof] = ACTIONS(1158), + [anon_sym___alignof__] = ACTIONS(1158), + [anon_sym___alignof] = ACTIONS(1158), + [anon_sym__alignof] = ACTIONS(1158), + [anon_sym_alignof] = ACTIONS(1158), + [anon_sym__Alignof] = ACTIONS(1158), + [anon_sym_offsetof] = ACTIONS(1158), + [anon_sym__Generic] = ACTIONS(1158), + [anon_sym_asm] = ACTIONS(1158), + [anon_sym___asm__] = ACTIONS(1158), + [anon_sym___asm] = ACTIONS(1158), + [sym_number_literal] = ACTIONS(1160), + [anon_sym_L_SQUOTE] = ACTIONS(1160), + [anon_sym_u_SQUOTE] = ACTIONS(1160), + [anon_sym_U_SQUOTE] = ACTIONS(1160), + [anon_sym_u8_SQUOTE] = ACTIONS(1160), + [anon_sym_SQUOTE] = ACTIONS(1160), + [anon_sym_L_DQUOTE] = ACTIONS(1160), + [anon_sym_u_DQUOTE] = ACTIONS(1160), + [anon_sym_U_DQUOTE] = ACTIONS(1160), + [anon_sym_u8_DQUOTE] = ACTIONS(1160), + [anon_sym_DQUOTE] = ACTIONS(1160), + [sym_true] = ACTIONS(1158), + [sym_false] = ACTIONS(1158), + [anon_sym_NULL] = ACTIONS(1158), + [anon_sym_nullptr] = ACTIONS(1158), + [sym_comment] = ACTIONS(3), + }, + [222] = { + [ts_builtin_sym_end] = ACTIONS(1164), + [sym_identifier] = ACTIONS(1162), + [aux_sym_preproc_include_token1] = ACTIONS(1162), + [aux_sym_preproc_def_token1] = ACTIONS(1162), + [aux_sym_preproc_if_token1] = ACTIONS(1162), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1162), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1162), + [sym_preproc_directive] = ACTIONS(1162), + [anon_sym_LPAREN2] = ACTIONS(1164), + [anon_sym_BANG] = ACTIONS(1164), + [anon_sym_TILDE] = ACTIONS(1164), + [anon_sym_DASH] = ACTIONS(1162), + [anon_sym_PLUS] = ACTIONS(1162), + [anon_sym_STAR] = ACTIONS(1164), + [anon_sym_AMP] = ACTIONS(1164), + [anon_sym_SEMI] = ACTIONS(1164), + [anon_sym___extension__] = ACTIONS(1162), + [anon_sym_typedef] = ACTIONS(1162), + [anon_sym_extern] = ACTIONS(1162), + [anon_sym___attribute__] = ACTIONS(1162), + [anon_sym___attribute] = ACTIONS(1162), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1164), + [anon_sym___declspec] = ACTIONS(1162), + [anon_sym___cdecl] = ACTIONS(1162), + [anon_sym___clrcall] = ACTIONS(1162), + [anon_sym___stdcall] = ACTIONS(1162), + [anon_sym___fastcall] = ACTIONS(1162), + [anon_sym___thiscall] = ACTIONS(1162), + [anon_sym___vectorcall] = ACTIONS(1162), + [anon_sym_LBRACE] = ACTIONS(1164), + [anon_sym_signed] = ACTIONS(1162), + [anon_sym_unsigned] = ACTIONS(1162), + [anon_sym_long] = ACTIONS(1162), + [anon_sym_short] = ACTIONS(1162), + [anon_sym_static] = ACTIONS(1162), + [anon_sym_auto] = ACTIONS(1162), + [anon_sym_register] = ACTIONS(1162), + [anon_sym_inline] = ACTIONS(1162), + [anon_sym___inline] = ACTIONS(1162), + [anon_sym___inline__] = ACTIONS(1162), + [anon_sym___forceinline] = ACTIONS(1162), + [anon_sym_thread_local] = ACTIONS(1162), + [anon_sym___thread] = ACTIONS(1162), + [anon_sym_const] = ACTIONS(1162), + [anon_sym_constexpr] = ACTIONS(1162), + [anon_sym_volatile] = ACTIONS(1162), + [anon_sym_restrict] = ACTIONS(1162), + [anon_sym___restrict__] = ACTIONS(1162), + [anon_sym__Atomic] = ACTIONS(1162), + [anon_sym__Noreturn] = ACTIONS(1162), + [anon_sym_noreturn] = ACTIONS(1162), + [anon_sym__Nonnull] = ACTIONS(1162), + [anon_sym_alignas] = ACTIONS(1162), + [anon_sym__Alignas] = ACTIONS(1162), + [sym_primitive_type] = ACTIONS(1162), + [anon_sym_enum] = ACTIONS(1162), + [anon_sym_struct] = ACTIONS(1162), + [anon_sym_union] = ACTIONS(1162), + [anon_sym_if] = ACTIONS(1162), + [anon_sym_else] = ACTIONS(1162), + [anon_sym_switch] = ACTIONS(1162), + [anon_sym_case] = ACTIONS(1162), + [anon_sym_default] = ACTIONS(1162), + [anon_sym_while] = ACTIONS(1162), + [anon_sym_do] = ACTIONS(1162), + [anon_sym_for] = ACTIONS(1162), + [anon_sym_return] = ACTIONS(1162), + [anon_sym_break] = ACTIONS(1162), + [anon_sym_continue] = ACTIONS(1162), + [anon_sym_goto] = ACTIONS(1162), + [anon_sym___try] = ACTIONS(1162), + [anon_sym___leave] = ACTIONS(1162), + [anon_sym_DASH_DASH] = ACTIONS(1164), + [anon_sym_PLUS_PLUS] = ACTIONS(1164), + [anon_sym_sizeof] = ACTIONS(1162), + [anon_sym___alignof__] = ACTIONS(1162), + [anon_sym___alignof] = ACTIONS(1162), + [anon_sym__alignof] = ACTIONS(1162), + [anon_sym_alignof] = ACTIONS(1162), + [anon_sym__Alignof] = ACTIONS(1162), + [anon_sym_offsetof] = ACTIONS(1162), + [anon_sym__Generic] = ACTIONS(1162), + [anon_sym_asm] = ACTIONS(1162), + [anon_sym___asm__] = ACTIONS(1162), + [anon_sym___asm] = ACTIONS(1162), + [sym_number_literal] = ACTIONS(1164), + [anon_sym_L_SQUOTE] = ACTIONS(1164), + [anon_sym_u_SQUOTE] = ACTIONS(1164), + [anon_sym_U_SQUOTE] = ACTIONS(1164), + [anon_sym_u8_SQUOTE] = ACTIONS(1164), + [anon_sym_SQUOTE] = ACTIONS(1164), + [anon_sym_L_DQUOTE] = ACTIONS(1164), + [anon_sym_u_DQUOTE] = ACTIONS(1164), + [anon_sym_U_DQUOTE] = ACTIONS(1164), + [anon_sym_u8_DQUOTE] = ACTIONS(1164), + [anon_sym_DQUOTE] = ACTIONS(1164), + [sym_true] = ACTIONS(1162), + [sym_false] = ACTIONS(1162), + [anon_sym_NULL] = ACTIONS(1162), + [anon_sym_nullptr] = ACTIONS(1162), + [sym_comment] = ACTIONS(3), + }, + [223] = { + [sym_identifier] = ACTIONS(1166), + [aux_sym_preproc_include_token1] = ACTIONS(1166), + [aux_sym_preproc_def_token1] = ACTIONS(1166), + [aux_sym_preproc_if_token1] = ACTIONS(1166), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1166), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1166), + [sym_preproc_directive] = ACTIONS(1166), + [anon_sym_LPAREN2] = ACTIONS(1168), + [anon_sym_BANG] = ACTIONS(1168), + [anon_sym_TILDE] = ACTIONS(1168), + [anon_sym_DASH] = ACTIONS(1166), + [anon_sym_PLUS] = ACTIONS(1166), + [anon_sym_STAR] = ACTIONS(1168), + [anon_sym_AMP] = ACTIONS(1168), + [anon_sym_SEMI] = ACTIONS(1168), + [anon_sym___extension__] = ACTIONS(1166), + [anon_sym_typedef] = ACTIONS(1166), + [anon_sym_extern] = ACTIONS(1166), + [anon_sym___attribute__] = ACTIONS(1166), + [anon_sym___attribute] = ACTIONS(1166), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1168), + [anon_sym___declspec] = ACTIONS(1166), + [anon_sym___cdecl] = ACTIONS(1166), + [anon_sym___clrcall] = ACTIONS(1166), + [anon_sym___stdcall] = ACTIONS(1166), + [anon_sym___fastcall] = ACTIONS(1166), + [anon_sym___thiscall] = ACTIONS(1166), + [anon_sym___vectorcall] = ACTIONS(1166), + [anon_sym_LBRACE] = ACTIONS(1168), + [anon_sym_RBRACE] = ACTIONS(1168), + [anon_sym_signed] = ACTIONS(1166), + [anon_sym_unsigned] = ACTIONS(1166), + [anon_sym_long] = ACTIONS(1166), + [anon_sym_short] = ACTIONS(1166), + [anon_sym_static] = ACTIONS(1166), + [anon_sym_auto] = ACTIONS(1166), + [anon_sym_register] = ACTIONS(1166), + [anon_sym_inline] = ACTIONS(1166), + [anon_sym___inline] = ACTIONS(1166), + [anon_sym___inline__] = ACTIONS(1166), + [anon_sym___forceinline] = ACTIONS(1166), + [anon_sym_thread_local] = ACTIONS(1166), + [anon_sym___thread] = ACTIONS(1166), + [anon_sym_const] = ACTIONS(1166), + [anon_sym_constexpr] = ACTIONS(1166), + [anon_sym_volatile] = ACTIONS(1166), + [anon_sym_restrict] = ACTIONS(1166), + [anon_sym___restrict__] = ACTIONS(1166), + [anon_sym__Atomic] = ACTIONS(1166), + [anon_sym__Noreturn] = ACTIONS(1166), + [anon_sym_noreturn] = ACTIONS(1166), + [anon_sym__Nonnull] = ACTIONS(1166), + [anon_sym_alignas] = ACTIONS(1166), + [anon_sym__Alignas] = ACTIONS(1166), + [sym_primitive_type] = ACTIONS(1166), + [anon_sym_enum] = ACTIONS(1166), + [anon_sym_struct] = ACTIONS(1166), + [anon_sym_union] = ACTIONS(1166), + [anon_sym_if] = ACTIONS(1166), + [anon_sym_else] = ACTIONS(1166), + [anon_sym_switch] = ACTIONS(1166), + [anon_sym_case] = ACTIONS(1166), + [anon_sym_default] = ACTIONS(1166), + [anon_sym_while] = ACTIONS(1166), + [anon_sym_do] = ACTIONS(1166), + [anon_sym_for] = ACTIONS(1166), + [anon_sym_return] = ACTIONS(1166), + [anon_sym_break] = ACTIONS(1166), + [anon_sym_continue] = ACTIONS(1166), + [anon_sym_goto] = ACTIONS(1166), + [anon_sym___try] = ACTIONS(1166), + [anon_sym___leave] = ACTIONS(1166), + [anon_sym_DASH_DASH] = ACTIONS(1168), + [anon_sym_PLUS_PLUS] = ACTIONS(1168), + [anon_sym_sizeof] = ACTIONS(1166), + [anon_sym___alignof__] = ACTIONS(1166), + [anon_sym___alignof] = ACTIONS(1166), + [anon_sym__alignof] = ACTIONS(1166), + [anon_sym_alignof] = ACTIONS(1166), + [anon_sym__Alignof] = ACTIONS(1166), + [anon_sym_offsetof] = ACTIONS(1166), + [anon_sym__Generic] = ACTIONS(1166), + [anon_sym_asm] = ACTIONS(1166), + [anon_sym___asm__] = ACTIONS(1166), + [anon_sym___asm] = ACTIONS(1166), + [sym_number_literal] = ACTIONS(1168), + [anon_sym_L_SQUOTE] = ACTIONS(1168), + [anon_sym_u_SQUOTE] = ACTIONS(1168), + [anon_sym_U_SQUOTE] = ACTIONS(1168), + [anon_sym_u8_SQUOTE] = ACTIONS(1168), + [anon_sym_SQUOTE] = ACTIONS(1168), + [anon_sym_L_DQUOTE] = ACTIONS(1168), + [anon_sym_u_DQUOTE] = ACTIONS(1168), + [anon_sym_U_DQUOTE] = ACTIONS(1168), + [anon_sym_u8_DQUOTE] = ACTIONS(1168), + [anon_sym_DQUOTE] = ACTIONS(1168), + [sym_true] = ACTIONS(1166), + [sym_false] = ACTIONS(1166), + [anon_sym_NULL] = ACTIONS(1166), + [anon_sym_nullptr] = ACTIONS(1166), + [sym_comment] = ACTIONS(3), + }, + [224] = { + [ts_builtin_sym_end] = ACTIONS(1140), + [sym_identifier] = ACTIONS(1138), + [aux_sym_preproc_include_token1] = ACTIONS(1138), + [aux_sym_preproc_def_token1] = ACTIONS(1138), + [aux_sym_preproc_if_token1] = ACTIONS(1138), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1138), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1138), + [sym_preproc_directive] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(1140), + [anon_sym_BANG] = ACTIONS(1140), + [anon_sym_TILDE] = ACTIONS(1140), + [anon_sym_DASH] = ACTIONS(1138), + [anon_sym_PLUS] = ACTIONS(1138), + [anon_sym_STAR] = ACTIONS(1140), + [anon_sym_AMP] = ACTIONS(1140), + [anon_sym_SEMI] = ACTIONS(1140), + [anon_sym___extension__] = ACTIONS(1138), + [anon_sym_typedef] = ACTIONS(1138), + [anon_sym_extern] = ACTIONS(1138), + [anon_sym___attribute__] = ACTIONS(1138), + [anon_sym___attribute] = ACTIONS(1138), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1140), + [anon_sym___declspec] = ACTIONS(1138), + [anon_sym___cdecl] = ACTIONS(1138), + [anon_sym___clrcall] = ACTIONS(1138), + [anon_sym___stdcall] = ACTIONS(1138), + [anon_sym___fastcall] = ACTIONS(1138), + [anon_sym___thiscall] = ACTIONS(1138), + [anon_sym___vectorcall] = ACTIONS(1138), + [anon_sym_LBRACE] = ACTIONS(1140), + [anon_sym_signed] = ACTIONS(1138), + [anon_sym_unsigned] = ACTIONS(1138), + [anon_sym_long] = ACTIONS(1138), + [anon_sym_short] = ACTIONS(1138), + [anon_sym_static] = ACTIONS(1138), + [anon_sym_auto] = ACTIONS(1138), + [anon_sym_register] = ACTIONS(1138), + [anon_sym_inline] = ACTIONS(1138), + [anon_sym___inline] = ACTIONS(1138), + [anon_sym___inline__] = ACTIONS(1138), + [anon_sym___forceinline] = ACTIONS(1138), + [anon_sym_thread_local] = ACTIONS(1138), + [anon_sym___thread] = ACTIONS(1138), + [anon_sym_const] = ACTIONS(1138), + [anon_sym_constexpr] = ACTIONS(1138), + [anon_sym_volatile] = ACTIONS(1138), + [anon_sym_restrict] = ACTIONS(1138), + [anon_sym___restrict__] = ACTIONS(1138), + [anon_sym__Atomic] = ACTIONS(1138), + [anon_sym__Noreturn] = ACTIONS(1138), + [anon_sym_noreturn] = ACTIONS(1138), + [anon_sym__Nonnull] = ACTIONS(1138), + [anon_sym_alignas] = ACTIONS(1138), + [anon_sym__Alignas] = ACTIONS(1138), + [sym_primitive_type] = ACTIONS(1138), + [anon_sym_enum] = ACTIONS(1138), + [anon_sym_struct] = ACTIONS(1138), + [anon_sym_union] = ACTIONS(1138), + [anon_sym_if] = ACTIONS(1138), + [anon_sym_else] = ACTIONS(1138), + [anon_sym_switch] = ACTIONS(1138), + [anon_sym_case] = ACTIONS(1138), + [anon_sym_default] = ACTIONS(1138), + [anon_sym_while] = ACTIONS(1138), + [anon_sym_do] = ACTIONS(1138), + [anon_sym_for] = ACTIONS(1138), + [anon_sym_return] = ACTIONS(1138), + [anon_sym_break] = ACTIONS(1138), + [anon_sym_continue] = ACTIONS(1138), + [anon_sym_goto] = ACTIONS(1138), + [anon_sym___try] = ACTIONS(1138), + [anon_sym___leave] = ACTIONS(1138), + [anon_sym_DASH_DASH] = ACTIONS(1140), + [anon_sym_PLUS_PLUS] = ACTIONS(1140), + [anon_sym_sizeof] = ACTIONS(1138), + [anon_sym___alignof__] = ACTIONS(1138), + [anon_sym___alignof] = ACTIONS(1138), + [anon_sym__alignof] = ACTIONS(1138), + [anon_sym_alignof] = ACTIONS(1138), + [anon_sym__Alignof] = ACTIONS(1138), + [anon_sym_offsetof] = ACTIONS(1138), + [anon_sym__Generic] = ACTIONS(1138), + [anon_sym_asm] = ACTIONS(1138), + [anon_sym___asm__] = ACTIONS(1138), + [anon_sym___asm] = ACTIONS(1138), + [sym_number_literal] = ACTIONS(1140), + [anon_sym_L_SQUOTE] = ACTIONS(1140), + [anon_sym_u_SQUOTE] = ACTIONS(1140), + [anon_sym_U_SQUOTE] = ACTIONS(1140), + [anon_sym_u8_SQUOTE] = ACTIONS(1140), + [anon_sym_SQUOTE] = ACTIONS(1140), + [anon_sym_L_DQUOTE] = ACTIONS(1140), + [anon_sym_u_DQUOTE] = ACTIONS(1140), + [anon_sym_U_DQUOTE] = ACTIONS(1140), + [anon_sym_u8_DQUOTE] = ACTIONS(1140), + [anon_sym_DQUOTE] = ACTIONS(1140), + [sym_true] = ACTIONS(1138), + [sym_false] = ACTIONS(1138), + [anon_sym_NULL] = ACTIONS(1138), + [anon_sym_nullptr] = ACTIONS(1138), + [sym_comment] = ACTIONS(3), + }, + [225] = { + [ts_builtin_sym_end] = ACTIONS(1144), + [sym_identifier] = ACTIONS(1142), + [aux_sym_preproc_include_token1] = ACTIONS(1142), + [aux_sym_preproc_def_token1] = ACTIONS(1142), + [aux_sym_preproc_if_token1] = ACTIONS(1142), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1142), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1142), + [sym_preproc_directive] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(1144), + [anon_sym_BANG] = ACTIONS(1144), + [anon_sym_TILDE] = ACTIONS(1144), + [anon_sym_DASH] = ACTIONS(1142), + [anon_sym_PLUS] = ACTIONS(1142), + [anon_sym_STAR] = ACTIONS(1144), + [anon_sym_AMP] = ACTIONS(1144), + [anon_sym_SEMI] = ACTIONS(1144), + [anon_sym___extension__] = ACTIONS(1142), + [anon_sym_typedef] = ACTIONS(1142), + [anon_sym_extern] = ACTIONS(1142), + [anon_sym___attribute__] = ACTIONS(1142), + [anon_sym___attribute] = ACTIONS(1142), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1144), + [anon_sym___declspec] = ACTIONS(1142), + [anon_sym___cdecl] = ACTIONS(1142), + [anon_sym___clrcall] = ACTIONS(1142), + [anon_sym___stdcall] = ACTIONS(1142), + [anon_sym___fastcall] = ACTIONS(1142), + [anon_sym___thiscall] = ACTIONS(1142), + [anon_sym___vectorcall] = ACTIONS(1142), + [anon_sym_LBRACE] = ACTIONS(1144), + [anon_sym_signed] = ACTIONS(1142), + [anon_sym_unsigned] = ACTIONS(1142), + [anon_sym_long] = ACTIONS(1142), + [anon_sym_short] = ACTIONS(1142), + [anon_sym_static] = ACTIONS(1142), + [anon_sym_auto] = ACTIONS(1142), + [anon_sym_register] = ACTIONS(1142), + [anon_sym_inline] = ACTIONS(1142), + [anon_sym___inline] = ACTIONS(1142), + [anon_sym___inline__] = ACTIONS(1142), + [anon_sym___forceinline] = ACTIONS(1142), + [anon_sym_thread_local] = ACTIONS(1142), + [anon_sym___thread] = ACTIONS(1142), + [anon_sym_const] = ACTIONS(1142), + [anon_sym_constexpr] = ACTIONS(1142), + [anon_sym_volatile] = ACTIONS(1142), + [anon_sym_restrict] = ACTIONS(1142), + [anon_sym___restrict__] = ACTIONS(1142), + [anon_sym__Atomic] = ACTIONS(1142), + [anon_sym__Noreturn] = ACTIONS(1142), + [anon_sym_noreturn] = ACTIONS(1142), + [anon_sym__Nonnull] = ACTIONS(1142), + [anon_sym_alignas] = ACTIONS(1142), + [anon_sym__Alignas] = ACTIONS(1142), + [sym_primitive_type] = ACTIONS(1142), + [anon_sym_enum] = ACTIONS(1142), + [anon_sym_struct] = ACTIONS(1142), + [anon_sym_union] = ACTIONS(1142), + [anon_sym_if] = ACTIONS(1142), + [anon_sym_else] = ACTIONS(1142), + [anon_sym_switch] = ACTIONS(1142), + [anon_sym_case] = ACTIONS(1142), + [anon_sym_default] = ACTIONS(1142), + [anon_sym_while] = ACTIONS(1142), + [anon_sym_do] = ACTIONS(1142), + [anon_sym_for] = ACTIONS(1142), + [anon_sym_return] = ACTIONS(1142), + [anon_sym_break] = ACTIONS(1142), + [anon_sym_continue] = ACTIONS(1142), + [anon_sym_goto] = ACTIONS(1142), + [anon_sym___try] = ACTIONS(1142), + [anon_sym___leave] = ACTIONS(1142), + [anon_sym_DASH_DASH] = ACTIONS(1144), + [anon_sym_PLUS_PLUS] = ACTIONS(1144), + [anon_sym_sizeof] = ACTIONS(1142), + [anon_sym___alignof__] = ACTIONS(1142), + [anon_sym___alignof] = ACTIONS(1142), + [anon_sym__alignof] = ACTIONS(1142), + [anon_sym_alignof] = ACTIONS(1142), + [anon_sym__Alignof] = ACTIONS(1142), + [anon_sym_offsetof] = ACTIONS(1142), + [anon_sym__Generic] = ACTIONS(1142), + [anon_sym_asm] = ACTIONS(1142), + [anon_sym___asm__] = ACTIONS(1142), + [anon_sym___asm] = ACTIONS(1142), + [sym_number_literal] = ACTIONS(1144), + [anon_sym_L_SQUOTE] = ACTIONS(1144), + [anon_sym_u_SQUOTE] = ACTIONS(1144), + [anon_sym_U_SQUOTE] = ACTIONS(1144), + [anon_sym_u8_SQUOTE] = ACTIONS(1144), + [anon_sym_SQUOTE] = ACTIONS(1144), + [anon_sym_L_DQUOTE] = ACTIONS(1144), + [anon_sym_u_DQUOTE] = ACTIONS(1144), + [anon_sym_U_DQUOTE] = ACTIONS(1144), + [anon_sym_u8_DQUOTE] = ACTIONS(1144), + [anon_sym_DQUOTE] = ACTIONS(1144), + [sym_true] = ACTIONS(1142), + [sym_false] = ACTIONS(1142), + [anon_sym_NULL] = ACTIONS(1142), + [anon_sym_nullptr] = ACTIONS(1142), + [sym_comment] = ACTIONS(3), + }, + [226] = { + [ts_builtin_sym_end] = ACTIONS(1148), + [sym_identifier] = ACTIONS(1146), + [aux_sym_preproc_include_token1] = ACTIONS(1146), + [aux_sym_preproc_def_token1] = ACTIONS(1146), + [aux_sym_preproc_if_token1] = ACTIONS(1146), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1146), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1146), + [sym_preproc_directive] = ACTIONS(1146), + [anon_sym_LPAREN2] = ACTIONS(1148), + [anon_sym_BANG] = ACTIONS(1148), + [anon_sym_TILDE] = ACTIONS(1148), + [anon_sym_DASH] = ACTIONS(1146), + [anon_sym_PLUS] = ACTIONS(1146), + [anon_sym_STAR] = ACTIONS(1148), + [anon_sym_AMP] = ACTIONS(1148), + [anon_sym_SEMI] = ACTIONS(1148), + [anon_sym___extension__] = ACTIONS(1146), + [anon_sym_typedef] = ACTIONS(1146), + [anon_sym_extern] = ACTIONS(1146), + [anon_sym___attribute__] = ACTIONS(1146), + [anon_sym___attribute] = ACTIONS(1146), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1148), + [anon_sym___declspec] = ACTIONS(1146), + [anon_sym___cdecl] = ACTIONS(1146), + [anon_sym___clrcall] = ACTIONS(1146), + [anon_sym___stdcall] = ACTIONS(1146), + [anon_sym___fastcall] = ACTIONS(1146), + [anon_sym___thiscall] = ACTIONS(1146), + [anon_sym___vectorcall] = ACTIONS(1146), + [anon_sym_LBRACE] = ACTIONS(1148), + [anon_sym_signed] = ACTIONS(1146), + [anon_sym_unsigned] = ACTIONS(1146), + [anon_sym_long] = ACTIONS(1146), + [anon_sym_short] = ACTIONS(1146), + [anon_sym_static] = ACTIONS(1146), + [anon_sym_auto] = ACTIONS(1146), + [anon_sym_register] = ACTIONS(1146), + [anon_sym_inline] = ACTIONS(1146), + [anon_sym___inline] = ACTIONS(1146), + [anon_sym___inline__] = ACTIONS(1146), + [anon_sym___forceinline] = ACTIONS(1146), + [anon_sym_thread_local] = ACTIONS(1146), + [anon_sym___thread] = ACTIONS(1146), + [anon_sym_const] = ACTIONS(1146), + [anon_sym_constexpr] = ACTIONS(1146), + [anon_sym_volatile] = ACTIONS(1146), + [anon_sym_restrict] = ACTIONS(1146), + [anon_sym___restrict__] = ACTIONS(1146), + [anon_sym__Atomic] = ACTIONS(1146), + [anon_sym__Noreturn] = ACTIONS(1146), + [anon_sym_noreturn] = ACTIONS(1146), + [anon_sym__Nonnull] = ACTIONS(1146), + [anon_sym_alignas] = ACTIONS(1146), + [anon_sym__Alignas] = ACTIONS(1146), + [sym_primitive_type] = ACTIONS(1146), + [anon_sym_enum] = ACTIONS(1146), + [anon_sym_struct] = ACTIONS(1146), + [anon_sym_union] = ACTIONS(1146), + [anon_sym_if] = ACTIONS(1146), + [anon_sym_else] = ACTIONS(1146), + [anon_sym_switch] = ACTIONS(1146), + [anon_sym_case] = ACTIONS(1146), + [anon_sym_default] = ACTIONS(1146), + [anon_sym_while] = ACTIONS(1146), + [anon_sym_do] = ACTIONS(1146), + [anon_sym_for] = ACTIONS(1146), + [anon_sym_return] = ACTIONS(1146), + [anon_sym_break] = ACTIONS(1146), + [anon_sym_continue] = ACTIONS(1146), + [anon_sym_goto] = ACTIONS(1146), + [anon_sym___try] = ACTIONS(1146), + [anon_sym___leave] = ACTIONS(1146), + [anon_sym_DASH_DASH] = ACTIONS(1148), + [anon_sym_PLUS_PLUS] = ACTIONS(1148), + [anon_sym_sizeof] = ACTIONS(1146), + [anon_sym___alignof__] = ACTIONS(1146), + [anon_sym___alignof] = ACTIONS(1146), + [anon_sym__alignof] = ACTIONS(1146), + [anon_sym_alignof] = ACTIONS(1146), + [anon_sym__Alignof] = ACTIONS(1146), + [anon_sym_offsetof] = ACTIONS(1146), + [anon_sym__Generic] = ACTIONS(1146), + [anon_sym_asm] = ACTIONS(1146), + [anon_sym___asm__] = ACTIONS(1146), + [anon_sym___asm] = ACTIONS(1146), + [sym_number_literal] = ACTIONS(1148), + [anon_sym_L_SQUOTE] = ACTIONS(1148), + [anon_sym_u_SQUOTE] = ACTIONS(1148), + [anon_sym_U_SQUOTE] = ACTIONS(1148), + [anon_sym_u8_SQUOTE] = ACTIONS(1148), + [anon_sym_SQUOTE] = ACTIONS(1148), + [anon_sym_L_DQUOTE] = ACTIONS(1148), + [anon_sym_u_DQUOTE] = ACTIONS(1148), + [anon_sym_U_DQUOTE] = ACTIONS(1148), + [anon_sym_u8_DQUOTE] = ACTIONS(1148), + [anon_sym_DQUOTE] = ACTIONS(1148), + [sym_true] = ACTIONS(1146), + [sym_false] = ACTIONS(1146), + [anon_sym_NULL] = ACTIONS(1146), + [anon_sym_nullptr] = ACTIONS(1146), + [sym_comment] = ACTIONS(3), + }, + [227] = { + [ts_builtin_sym_end] = ACTIONS(1152), + [sym_identifier] = ACTIONS(1150), + [aux_sym_preproc_include_token1] = ACTIONS(1150), + [aux_sym_preproc_def_token1] = ACTIONS(1150), + [aux_sym_preproc_if_token1] = ACTIONS(1150), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1150), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1150), + [sym_preproc_directive] = ACTIONS(1150), + [anon_sym_LPAREN2] = ACTIONS(1152), + [anon_sym_BANG] = ACTIONS(1152), + [anon_sym_TILDE] = ACTIONS(1152), + [anon_sym_DASH] = ACTIONS(1150), + [anon_sym_PLUS] = ACTIONS(1150), + [anon_sym_STAR] = ACTIONS(1152), + [anon_sym_AMP] = ACTIONS(1152), + [anon_sym_SEMI] = ACTIONS(1152), + [anon_sym___extension__] = ACTIONS(1150), + [anon_sym_typedef] = ACTIONS(1150), + [anon_sym_extern] = ACTIONS(1150), + [anon_sym___attribute__] = ACTIONS(1150), + [anon_sym___attribute] = ACTIONS(1150), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1152), + [anon_sym___declspec] = ACTIONS(1150), + [anon_sym___cdecl] = ACTIONS(1150), + [anon_sym___clrcall] = ACTIONS(1150), + [anon_sym___stdcall] = ACTIONS(1150), + [anon_sym___fastcall] = ACTIONS(1150), + [anon_sym___thiscall] = ACTIONS(1150), + [anon_sym___vectorcall] = ACTIONS(1150), + [anon_sym_LBRACE] = ACTIONS(1152), + [anon_sym_signed] = ACTIONS(1150), + [anon_sym_unsigned] = ACTIONS(1150), + [anon_sym_long] = ACTIONS(1150), + [anon_sym_short] = ACTIONS(1150), + [anon_sym_static] = ACTIONS(1150), + [anon_sym_auto] = ACTIONS(1150), + [anon_sym_register] = ACTIONS(1150), + [anon_sym_inline] = ACTIONS(1150), + [anon_sym___inline] = ACTIONS(1150), + [anon_sym___inline__] = ACTIONS(1150), + [anon_sym___forceinline] = ACTIONS(1150), + [anon_sym_thread_local] = ACTIONS(1150), + [anon_sym___thread] = ACTIONS(1150), + [anon_sym_const] = ACTIONS(1150), + [anon_sym_constexpr] = ACTIONS(1150), + [anon_sym_volatile] = ACTIONS(1150), + [anon_sym_restrict] = ACTIONS(1150), + [anon_sym___restrict__] = ACTIONS(1150), + [anon_sym__Atomic] = ACTIONS(1150), + [anon_sym__Noreturn] = ACTIONS(1150), + [anon_sym_noreturn] = ACTIONS(1150), + [anon_sym__Nonnull] = ACTIONS(1150), + [anon_sym_alignas] = ACTIONS(1150), + [anon_sym__Alignas] = ACTIONS(1150), + [sym_primitive_type] = ACTIONS(1150), + [anon_sym_enum] = ACTIONS(1150), + [anon_sym_struct] = ACTIONS(1150), + [anon_sym_union] = ACTIONS(1150), + [anon_sym_if] = ACTIONS(1150), + [anon_sym_else] = ACTIONS(1150), + [anon_sym_switch] = ACTIONS(1150), + [anon_sym_case] = ACTIONS(1150), + [anon_sym_default] = ACTIONS(1150), + [anon_sym_while] = ACTIONS(1150), + [anon_sym_do] = ACTIONS(1150), + [anon_sym_for] = ACTIONS(1150), + [anon_sym_return] = ACTIONS(1150), + [anon_sym_break] = ACTIONS(1150), + [anon_sym_continue] = ACTIONS(1150), + [anon_sym_goto] = ACTIONS(1150), + [anon_sym___try] = ACTIONS(1150), + [anon_sym___leave] = ACTIONS(1150), + [anon_sym_DASH_DASH] = ACTIONS(1152), + [anon_sym_PLUS_PLUS] = ACTIONS(1152), + [anon_sym_sizeof] = ACTIONS(1150), + [anon_sym___alignof__] = ACTIONS(1150), + [anon_sym___alignof] = ACTIONS(1150), + [anon_sym__alignof] = ACTIONS(1150), + [anon_sym_alignof] = ACTIONS(1150), + [anon_sym__Alignof] = ACTIONS(1150), + [anon_sym_offsetof] = ACTIONS(1150), + [anon_sym__Generic] = ACTIONS(1150), + [anon_sym_asm] = ACTIONS(1150), + [anon_sym___asm__] = ACTIONS(1150), + [anon_sym___asm] = ACTIONS(1150), + [sym_number_literal] = ACTIONS(1152), + [anon_sym_L_SQUOTE] = ACTIONS(1152), + [anon_sym_u_SQUOTE] = ACTIONS(1152), + [anon_sym_U_SQUOTE] = ACTIONS(1152), + [anon_sym_u8_SQUOTE] = ACTIONS(1152), + [anon_sym_SQUOTE] = ACTIONS(1152), + [anon_sym_L_DQUOTE] = ACTIONS(1152), + [anon_sym_u_DQUOTE] = ACTIONS(1152), + [anon_sym_U_DQUOTE] = ACTIONS(1152), + [anon_sym_u8_DQUOTE] = ACTIONS(1152), + [anon_sym_DQUOTE] = ACTIONS(1152), + [sym_true] = ACTIONS(1150), + [sym_false] = ACTIONS(1150), + [anon_sym_NULL] = ACTIONS(1150), + [anon_sym_nullptr] = ACTIONS(1150), + [sym_comment] = ACTIONS(3), + }, + [228] = { + [ts_builtin_sym_end] = ACTIONS(1156), + [sym_identifier] = ACTIONS(1154), + [aux_sym_preproc_include_token1] = ACTIONS(1154), + [aux_sym_preproc_def_token1] = ACTIONS(1154), + [aux_sym_preproc_if_token1] = ACTIONS(1154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1154), + [sym_preproc_directive] = ACTIONS(1154), + [anon_sym_LPAREN2] = ACTIONS(1156), + [anon_sym_BANG] = ACTIONS(1156), + [anon_sym_TILDE] = ACTIONS(1156), + [anon_sym_DASH] = ACTIONS(1154), + [anon_sym_PLUS] = ACTIONS(1154), + [anon_sym_STAR] = ACTIONS(1156), + [anon_sym_AMP] = ACTIONS(1156), + [anon_sym_SEMI] = ACTIONS(1156), + [anon_sym___extension__] = ACTIONS(1154), + [anon_sym_typedef] = ACTIONS(1154), + [anon_sym_extern] = ACTIONS(1154), + [anon_sym___attribute__] = ACTIONS(1154), + [anon_sym___attribute] = ACTIONS(1154), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1156), + [anon_sym___declspec] = ACTIONS(1154), + [anon_sym___cdecl] = ACTIONS(1154), + [anon_sym___clrcall] = ACTIONS(1154), + [anon_sym___stdcall] = ACTIONS(1154), + [anon_sym___fastcall] = ACTIONS(1154), + [anon_sym___thiscall] = ACTIONS(1154), + [anon_sym___vectorcall] = ACTIONS(1154), + [anon_sym_LBRACE] = ACTIONS(1156), + [anon_sym_signed] = ACTIONS(1154), + [anon_sym_unsigned] = ACTIONS(1154), + [anon_sym_long] = ACTIONS(1154), + [anon_sym_short] = ACTIONS(1154), + [anon_sym_static] = ACTIONS(1154), + [anon_sym_auto] = ACTIONS(1154), + [anon_sym_register] = ACTIONS(1154), + [anon_sym_inline] = ACTIONS(1154), + [anon_sym___inline] = ACTIONS(1154), + [anon_sym___inline__] = ACTIONS(1154), + [anon_sym___forceinline] = ACTIONS(1154), + [anon_sym_thread_local] = ACTIONS(1154), + [anon_sym___thread] = ACTIONS(1154), + [anon_sym_const] = ACTIONS(1154), + [anon_sym_constexpr] = ACTIONS(1154), + [anon_sym_volatile] = ACTIONS(1154), + [anon_sym_restrict] = ACTIONS(1154), + [anon_sym___restrict__] = ACTIONS(1154), + [anon_sym__Atomic] = ACTIONS(1154), + [anon_sym__Noreturn] = ACTIONS(1154), + [anon_sym_noreturn] = ACTIONS(1154), + [anon_sym__Nonnull] = ACTIONS(1154), + [anon_sym_alignas] = ACTIONS(1154), + [anon_sym__Alignas] = ACTIONS(1154), + [sym_primitive_type] = ACTIONS(1154), + [anon_sym_enum] = ACTIONS(1154), + [anon_sym_struct] = ACTIONS(1154), + [anon_sym_union] = ACTIONS(1154), + [anon_sym_if] = ACTIONS(1154), + [anon_sym_else] = ACTIONS(1154), + [anon_sym_switch] = ACTIONS(1154), + [anon_sym_case] = ACTIONS(1154), + [anon_sym_default] = ACTIONS(1154), + [anon_sym_while] = ACTIONS(1154), + [anon_sym_do] = ACTIONS(1154), + [anon_sym_for] = ACTIONS(1154), + [anon_sym_return] = ACTIONS(1154), + [anon_sym_break] = ACTIONS(1154), + [anon_sym_continue] = ACTIONS(1154), + [anon_sym_goto] = ACTIONS(1154), + [anon_sym___try] = ACTIONS(1154), + [anon_sym___leave] = ACTIONS(1154), + [anon_sym_DASH_DASH] = ACTIONS(1156), + [anon_sym_PLUS_PLUS] = ACTIONS(1156), + [anon_sym_sizeof] = ACTIONS(1154), + [anon_sym___alignof__] = ACTIONS(1154), + [anon_sym___alignof] = ACTIONS(1154), + [anon_sym__alignof] = ACTIONS(1154), + [anon_sym_alignof] = ACTIONS(1154), + [anon_sym__Alignof] = ACTIONS(1154), + [anon_sym_offsetof] = ACTIONS(1154), + [anon_sym__Generic] = ACTIONS(1154), + [anon_sym_asm] = ACTIONS(1154), + [anon_sym___asm__] = ACTIONS(1154), + [anon_sym___asm] = ACTIONS(1154), + [sym_number_literal] = ACTIONS(1156), + [anon_sym_L_SQUOTE] = ACTIONS(1156), + [anon_sym_u_SQUOTE] = ACTIONS(1156), + [anon_sym_U_SQUOTE] = ACTIONS(1156), + [anon_sym_u8_SQUOTE] = ACTIONS(1156), + [anon_sym_SQUOTE] = ACTIONS(1156), + [anon_sym_L_DQUOTE] = ACTIONS(1156), + [anon_sym_u_DQUOTE] = ACTIONS(1156), + [anon_sym_U_DQUOTE] = ACTIONS(1156), + [anon_sym_u8_DQUOTE] = ACTIONS(1156), + [anon_sym_DQUOTE] = ACTIONS(1156), + [sym_true] = ACTIONS(1154), + [sym_false] = ACTIONS(1154), + [anon_sym_NULL] = ACTIONS(1154), + [anon_sym_nullptr] = ACTIONS(1154), + [sym_comment] = ACTIONS(3), + }, + [229] = { + [ts_builtin_sym_end] = ACTIONS(1216), + [sym_identifier] = ACTIONS(1214), + [aux_sym_preproc_include_token1] = ACTIONS(1214), + [aux_sym_preproc_def_token1] = ACTIONS(1214), + [aux_sym_preproc_if_token1] = ACTIONS(1214), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1214), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1214), + [sym_preproc_directive] = ACTIONS(1214), + [anon_sym_LPAREN2] = ACTIONS(1216), + [anon_sym_BANG] = ACTIONS(1216), + [anon_sym_TILDE] = ACTIONS(1216), + [anon_sym_DASH] = ACTIONS(1214), + [anon_sym_PLUS] = ACTIONS(1214), + [anon_sym_STAR] = ACTIONS(1216), + [anon_sym_AMP] = ACTIONS(1216), + [anon_sym_SEMI] = ACTIONS(1216), + [anon_sym___extension__] = ACTIONS(1214), + [anon_sym_typedef] = ACTIONS(1214), + [anon_sym_extern] = ACTIONS(1214), + [anon_sym___attribute__] = ACTIONS(1214), + [anon_sym___attribute] = ACTIONS(1214), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1216), + [anon_sym___declspec] = ACTIONS(1214), + [anon_sym___cdecl] = ACTIONS(1214), + [anon_sym___clrcall] = ACTIONS(1214), + [anon_sym___stdcall] = ACTIONS(1214), + [anon_sym___fastcall] = ACTIONS(1214), + [anon_sym___thiscall] = ACTIONS(1214), + [anon_sym___vectorcall] = ACTIONS(1214), + [anon_sym_LBRACE] = ACTIONS(1216), + [anon_sym_signed] = ACTIONS(1214), + [anon_sym_unsigned] = ACTIONS(1214), + [anon_sym_long] = ACTIONS(1214), + [anon_sym_short] = ACTIONS(1214), + [anon_sym_static] = ACTIONS(1214), + [anon_sym_auto] = ACTIONS(1214), + [anon_sym_register] = ACTIONS(1214), + [anon_sym_inline] = ACTIONS(1214), + [anon_sym___inline] = ACTIONS(1214), + [anon_sym___inline__] = ACTIONS(1214), + [anon_sym___forceinline] = ACTIONS(1214), + [anon_sym_thread_local] = ACTIONS(1214), + [anon_sym___thread] = ACTIONS(1214), + [anon_sym_const] = ACTIONS(1214), + [anon_sym_constexpr] = ACTIONS(1214), + [anon_sym_volatile] = ACTIONS(1214), + [anon_sym_restrict] = ACTIONS(1214), + [anon_sym___restrict__] = ACTIONS(1214), + [anon_sym__Atomic] = ACTIONS(1214), + [anon_sym__Noreturn] = ACTIONS(1214), + [anon_sym_noreturn] = ACTIONS(1214), + [anon_sym__Nonnull] = ACTIONS(1214), + [anon_sym_alignas] = ACTIONS(1214), + [anon_sym__Alignas] = ACTIONS(1214), + [sym_primitive_type] = ACTIONS(1214), + [anon_sym_enum] = ACTIONS(1214), + [anon_sym_struct] = ACTIONS(1214), + [anon_sym_union] = ACTIONS(1214), + [anon_sym_if] = ACTIONS(1214), + [anon_sym_else] = ACTIONS(1214), + [anon_sym_switch] = ACTIONS(1214), + [anon_sym_case] = ACTIONS(1214), + [anon_sym_default] = ACTIONS(1214), + [anon_sym_while] = ACTIONS(1214), + [anon_sym_do] = ACTIONS(1214), + [anon_sym_for] = ACTIONS(1214), + [anon_sym_return] = ACTIONS(1214), + [anon_sym_break] = ACTIONS(1214), + [anon_sym_continue] = ACTIONS(1214), + [anon_sym_goto] = ACTIONS(1214), + [anon_sym___try] = ACTIONS(1214), + [anon_sym___leave] = ACTIONS(1214), + [anon_sym_DASH_DASH] = ACTIONS(1216), + [anon_sym_PLUS_PLUS] = ACTIONS(1216), + [anon_sym_sizeof] = ACTIONS(1214), + [anon_sym___alignof__] = ACTIONS(1214), + [anon_sym___alignof] = ACTIONS(1214), + [anon_sym__alignof] = ACTIONS(1214), + [anon_sym_alignof] = ACTIONS(1214), + [anon_sym__Alignof] = ACTIONS(1214), + [anon_sym_offsetof] = ACTIONS(1214), + [anon_sym__Generic] = ACTIONS(1214), + [anon_sym_asm] = ACTIONS(1214), + [anon_sym___asm__] = ACTIONS(1214), + [anon_sym___asm] = ACTIONS(1214), + [sym_number_literal] = ACTIONS(1216), + [anon_sym_L_SQUOTE] = ACTIONS(1216), + [anon_sym_u_SQUOTE] = ACTIONS(1216), + [anon_sym_U_SQUOTE] = ACTIONS(1216), + [anon_sym_u8_SQUOTE] = ACTIONS(1216), + [anon_sym_SQUOTE] = ACTIONS(1216), + [anon_sym_L_DQUOTE] = ACTIONS(1216), + [anon_sym_u_DQUOTE] = ACTIONS(1216), + [anon_sym_U_DQUOTE] = ACTIONS(1216), + [anon_sym_u8_DQUOTE] = ACTIONS(1216), + [anon_sym_DQUOTE] = ACTIONS(1216), + [sym_true] = ACTIONS(1214), + [sym_false] = ACTIONS(1214), + [anon_sym_NULL] = ACTIONS(1214), + [anon_sym_nullptr] = ACTIONS(1214), + [sym_comment] = ACTIONS(3), + }, + [230] = { + [ts_builtin_sym_end] = ACTIONS(1224), + [sym_identifier] = ACTIONS(1222), + [aux_sym_preproc_include_token1] = ACTIONS(1222), + [aux_sym_preproc_def_token1] = ACTIONS(1222), + [aux_sym_preproc_if_token1] = ACTIONS(1222), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1222), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1222), + [sym_preproc_directive] = ACTIONS(1222), + [anon_sym_LPAREN2] = ACTIONS(1224), + [anon_sym_BANG] = ACTIONS(1224), + [anon_sym_TILDE] = ACTIONS(1224), + [anon_sym_DASH] = ACTIONS(1222), + [anon_sym_PLUS] = ACTIONS(1222), + [anon_sym_STAR] = ACTIONS(1224), + [anon_sym_AMP] = ACTIONS(1224), + [anon_sym_SEMI] = ACTIONS(1224), + [anon_sym___extension__] = ACTIONS(1222), + [anon_sym_typedef] = ACTIONS(1222), + [anon_sym_extern] = ACTIONS(1222), + [anon_sym___attribute__] = ACTIONS(1222), + [anon_sym___attribute] = ACTIONS(1222), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1224), + [anon_sym___declspec] = ACTIONS(1222), + [anon_sym___cdecl] = ACTIONS(1222), + [anon_sym___clrcall] = ACTIONS(1222), + [anon_sym___stdcall] = ACTIONS(1222), + [anon_sym___fastcall] = ACTIONS(1222), + [anon_sym___thiscall] = ACTIONS(1222), + [anon_sym___vectorcall] = ACTIONS(1222), + [anon_sym_LBRACE] = ACTIONS(1224), + [anon_sym_signed] = ACTIONS(1222), + [anon_sym_unsigned] = ACTIONS(1222), + [anon_sym_long] = ACTIONS(1222), + [anon_sym_short] = ACTIONS(1222), + [anon_sym_static] = ACTIONS(1222), + [anon_sym_auto] = ACTIONS(1222), + [anon_sym_register] = ACTIONS(1222), + [anon_sym_inline] = ACTIONS(1222), + [anon_sym___inline] = ACTIONS(1222), + [anon_sym___inline__] = ACTIONS(1222), + [anon_sym___forceinline] = ACTIONS(1222), + [anon_sym_thread_local] = ACTIONS(1222), + [anon_sym___thread] = ACTIONS(1222), + [anon_sym_const] = ACTIONS(1222), + [anon_sym_constexpr] = ACTIONS(1222), + [anon_sym_volatile] = ACTIONS(1222), + [anon_sym_restrict] = ACTIONS(1222), + [anon_sym___restrict__] = ACTIONS(1222), + [anon_sym__Atomic] = ACTIONS(1222), + [anon_sym__Noreturn] = ACTIONS(1222), + [anon_sym_noreturn] = ACTIONS(1222), + [anon_sym__Nonnull] = ACTIONS(1222), + [anon_sym_alignas] = ACTIONS(1222), + [anon_sym__Alignas] = ACTIONS(1222), + [sym_primitive_type] = ACTIONS(1222), + [anon_sym_enum] = ACTIONS(1222), + [anon_sym_struct] = ACTIONS(1222), + [anon_sym_union] = ACTIONS(1222), + [anon_sym_if] = ACTIONS(1222), + [anon_sym_else] = ACTIONS(1222), + [anon_sym_switch] = ACTIONS(1222), + [anon_sym_case] = ACTIONS(1222), + [anon_sym_default] = ACTIONS(1222), + [anon_sym_while] = ACTIONS(1222), + [anon_sym_do] = ACTIONS(1222), + [anon_sym_for] = ACTIONS(1222), + [anon_sym_return] = ACTIONS(1222), + [anon_sym_break] = ACTIONS(1222), + [anon_sym_continue] = ACTIONS(1222), + [anon_sym_goto] = ACTIONS(1222), + [anon_sym___try] = ACTIONS(1222), + [anon_sym___leave] = ACTIONS(1222), + [anon_sym_DASH_DASH] = ACTIONS(1224), + [anon_sym_PLUS_PLUS] = ACTIONS(1224), + [anon_sym_sizeof] = ACTIONS(1222), + [anon_sym___alignof__] = ACTIONS(1222), + [anon_sym___alignof] = ACTIONS(1222), + [anon_sym__alignof] = ACTIONS(1222), + [anon_sym_alignof] = ACTIONS(1222), + [anon_sym__Alignof] = ACTIONS(1222), + [anon_sym_offsetof] = ACTIONS(1222), + [anon_sym__Generic] = ACTIONS(1222), + [anon_sym_asm] = ACTIONS(1222), + [anon_sym___asm__] = ACTIONS(1222), + [anon_sym___asm] = ACTIONS(1222), + [sym_number_literal] = ACTIONS(1224), + [anon_sym_L_SQUOTE] = ACTIONS(1224), + [anon_sym_u_SQUOTE] = ACTIONS(1224), + [anon_sym_U_SQUOTE] = ACTIONS(1224), + [anon_sym_u8_SQUOTE] = ACTIONS(1224), + [anon_sym_SQUOTE] = ACTIONS(1224), + [anon_sym_L_DQUOTE] = ACTIONS(1224), + [anon_sym_u_DQUOTE] = ACTIONS(1224), + [anon_sym_U_DQUOTE] = ACTIONS(1224), + [anon_sym_u8_DQUOTE] = ACTIONS(1224), + [anon_sym_DQUOTE] = ACTIONS(1224), + [sym_true] = ACTIONS(1222), + [sym_false] = ACTIONS(1222), + [anon_sym_NULL] = ACTIONS(1222), + [anon_sym_nullptr] = ACTIONS(1222), + [sym_comment] = ACTIONS(3), + }, + [231] = { + [sym_identifier] = ACTIONS(1170), + [aux_sym_preproc_include_token1] = ACTIONS(1170), + [aux_sym_preproc_def_token1] = ACTIONS(1170), + [aux_sym_preproc_if_token1] = ACTIONS(1170), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1170), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1170), + [sym_preproc_directive] = ACTIONS(1170), + [anon_sym_LPAREN2] = ACTIONS(1172), + [anon_sym_BANG] = ACTIONS(1172), + [anon_sym_TILDE] = ACTIONS(1172), + [anon_sym_DASH] = ACTIONS(1170), + [anon_sym_PLUS] = ACTIONS(1170), + [anon_sym_STAR] = ACTIONS(1172), + [anon_sym_AMP] = ACTIONS(1172), + [anon_sym_SEMI] = ACTIONS(1172), + [anon_sym___extension__] = ACTIONS(1170), + [anon_sym_typedef] = ACTIONS(1170), + [anon_sym_extern] = ACTIONS(1170), + [anon_sym___attribute__] = ACTIONS(1170), + [anon_sym___attribute] = ACTIONS(1170), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1172), + [anon_sym___declspec] = ACTIONS(1170), + [anon_sym___cdecl] = ACTIONS(1170), + [anon_sym___clrcall] = ACTIONS(1170), + [anon_sym___stdcall] = ACTIONS(1170), + [anon_sym___fastcall] = ACTIONS(1170), + [anon_sym___thiscall] = ACTIONS(1170), + [anon_sym___vectorcall] = ACTIONS(1170), + [anon_sym_LBRACE] = ACTIONS(1172), + [anon_sym_RBRACE] = ACTIONS(1172), + [anon_sym_signed] = ACTIONS(1170), + [anon_sym_unsigned] = ACTIONS(1170), + [anon_sym_long] = ACTIONS(1170), + [anon_sym_short] = ACTIONS(1170), + [anon_sym_static] = ACTIONS(1170), + [anon_sym_auto] = ACTIONS(1170), + [anon_sym_register] = ACTIONS(1170), + [anon_sym_inline] = ACTIONS(1170), + [anon_sym___inline] = ACTIONS(1170), + [anon_sym___inline__] = ACTIONS(1170), + [anon_sym___forceinline] = ACTIONS(1170), + [anon_sym_thread_local] = ACTIONS(1170), + [anon_sym___thread] = ACTIONS(1170), + [anon_sym_const] = ACTIONS(1170), + [anon_sym_constexpr] = ACTIONS(1170), + [anon_sym_volatile] = ACTIONS(1170), + [anon_sym_restrict] = ACTIONS(1170), + [anon_sym___restrict__] = ACTIONS(1170), + [anon_sym__Atomic] = ACTIONS(1170), + [anon_sym__Noreturn] = ACTIONS(1170), + [anon_sym_noreturn] = ACTIONS(1170), + [anon_sym__Nonnull] = ACTIONS(1170), + [anon_sym_alignas] = ACTIONS(1170), + [anon_sym__Alignas] = ACTIONS(1170), + [sym_primitive_type] = ACTIONS(1170), + [anon_sym_enum] = ACTIONS(1170), + [anon_sym_struct] = ACTIONS(1170), + [anon_sym_union] = ACTIONS(1170), + [anon_sym_if] = ACTIONS(1170), + [anon_sym_else] = ACTIONS(1170), + [anon_sym_switch] = ACTIONS(1170), + [anon_sym_case] = ACTIONS(1170), + [anon_sym_default] = ACTIONS(1170), + [anon_sym_while] = ACTIONS(1170), + [anon_sym_do] = ACTIONS(1170), + [anon_sym_for] = ACTIONS(1170), + [anon_sym_return] = ACTIONS(1170), + [anon_sym_break] = ACTIONS(1170), + [anon_sym_continue] = ACTIONS(1170), + [anon_sym_goto] = ACTIONS(1170), + [anon_sym___try] = ACTIONS(1170), + [anon_sym___leave] = ACTIONS(1170), + [anon_sym_DASH_DASH] = ACTIONS(1172), + [anon_sym_PLUS_PLUS] = ACTIONS(1172), + [anon_sym_sizeof] = ACTIONS(1170), + [anon_sym___alignof__] = ACTIONS(1170), + [anon_sym___alignof] = ACTIONS(1170), + [anon_sym__alignof] = ACTIONS(1170), + [anon_sym_alignof] = ACTIONS(1170), + [anon_sym__Alignof] = ACTIONS(1170), + [anon_sym_offsetof] = ACTIONS(1170), + [anon_sym__Generic] = ACTIONS(1170), + [anon_sym_asm] = ACTIONS(1170), + [anon_sym___asm__] = ACTIONS(1170), + [anon_sym___asm] = ACTIONS(1170), + [sym_number_literal] = ACTIONS(1172), + [anon_sym_L_SQUOTE] = ACTIONS(1172), + [anon_sym_u_SQUOTE] = ACTIONS(1172), + [anon_sym_U_SQUOTE] = ACTIONS(1172), + [anon_sym_u8_SQUOTE] = ACTIONS(1172), + [anon_sym_SQUOTE] = ACTIONS(1172), + [anon_sym_L_DQUOTE] = ACTIONS(1172), + [anon_sym_u_DQUOTE] = ACTIONS(1172), + [anon_sym_U_DQUOTE] = ACTIONS(1172), + [anon_sym_u8_DQUOTE] = ACTIONS(1172), + [anon_sym_DQUOTE] = ACTIONS(1172), + [sym_true] = ACTIONS(1170), + [sym_false] = ACTIONS(1170), + [anon_sym_NULL] = ACTIONS(1170), + [anon_sym_nullptr] = ACTIONS(1170), + [sym_comment] = ACTIONS(3), + }, + [232] = { + [sym_identifier] = ACTIONS(1170), + [aux_sym_preproc_include_token1] = ACTIONS(1170), + [aux_sym_preproc_def_token1] = ACTIONS(1170), + [aux_sym_preproc_if_token1] = ACTIONS(1170), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1170), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1170), + [sym_preproc_directive] = ACTIONS(1170), + [anon_sym_LPAREN2] = ACTIONS(1172), + [anon_sym_BANG] = ACTIONS(1172), + [anon_sym_TILDE] = ACTIONS(1172), + [anon_sym_DASH] = ACTIONS(1170), + [anon_sym_PLUS] = ACTIONS(1170), + [anon_sym_STAR] = ACTIONS(1172), + [anon_sym_AMP] = ACTIONS(1172), + [anon_sym_SEMI] = ACTIONS(1172), + [anon_sym___extension__] = ACTIONS(1170), + [anon_sym_typedef] = ACTIONS(1170), + [anon_sym_extern] = ACTIONS(1170), + [anon_sym___attribute__] = ACTIONS(1170), + [anon_sym___attribute] = ACTIONS(1170), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1172), + [anon_sym___declspec] = ACTIONS(1170), + [anon_sym___cdecl] = ACTIONS(1170), + [anon_sym___clrcall] = ACTIONS(1170), + [anon_sym___stdcall] = ACTIONS(1170), + [anon_sym___fastcall] = ACTIONS(1170), + [anon_sym___thiscall] = ACTIONS(1170), + [anon_sym___vectorcall] = ACTIONS(1170), + [anon_sym_LBRACE] = ACTIONS(1172), + [anon_sym_RBRACE] = ACTIONS(1172), + [anon_sym_signed] = ACTIONS(1170), + [anon_sym_unsigned] = ACTIONS(1170), + [anon_sym_long] = ACTIONS(1170), + [anon_sym_short] = ACTIONS(1170), + [anon_sym_static] = ACTIONS(1170), + [anon_sym_auto] = ACTIONS(1170), + [anon_sym_register] = ACTIONS(1170), + [anon_sym_inline] = ACTIONS(1170), + [anon_sym___inline] = ACTIONS(1170), + [anon_sym___inline__] = ACTIONS(1170), + [anon_sym___forceinline] = ACTIONS(1170), + [anon_sym_thread_local] = ACTIONS(1170), + [anon_sym___thread] = ACTIONS(1170), + [anon_sym_const] = ACTIONS(1170), + [anon_sym_constexpr] = ACTIONS(1170), + [anon_sym_volatile] = ACTIONS(1170), + [anon_sym_restrict] = ACTIONS(1170), + [anon_sym___restrict__] = ACTIONS(1170), + [anon_sym__Atomic] = ACTIONS(1170), + [anon_sym__Noreturn] = ACTIONS(1170), + [anon_sym_noreturn] = ACTIONS(1170), + [anon_sym__Nonnull] = ACTIONS(1170), + [anon_sym_alignas] = ACTIONS(1170), + [anon_sym__Alignas] = ACTIONS(1170), + [sym_primitive_type] = ACTIONS(1170), + [anon_sym_enum] = ACTIONS(1170), + [anon_sym_struct] = ACTIONS(1170), + [anon_sym_union] = ACTIONS(1170), + [anon_sym_if] = ACTIONS(1170), + [anon_sym_else] = ACTIONS(1170), + [anon_sym_switch] = ACTIONS(1170), + [anon_sym_case] = ACTIONS(1170), + [anon_sym_default] = ACTIONS(1170), + [anon_sym_while] = ACTIONS(1170), + [anon_sym_do] = ACTIONS(1170), + [anon_sym_for] = ACTIONS(1170), + [anon_sym_return] = ACTIONS(1170), + [anon_sym_break] = ACTIONS(1170), + [anon_sym_continue] = ACTIONS(1170), + [anon_sym_goto] = ACTIONS(1170), + [anon_sym___try] = ACTIONS(1170), + [anon_sym___leave] = ACTIONS(1170), + [anon_sym_DASH_DASH] = ACTIONS(1172), + [anon_sym_PLUS_PLUS] = ACTIONS(1172), + [anon_sym_sizeof] = ACTIONS(1170), + [anon_sym___alignof__] = ACTIONS(1170), + [anon_sym___alignof] = ACTIONS(1170), + [anon_sym__alignof] = ACTIONS(1170), + [anon_sym_alignof] = ACTIONS(1170), + [anon_sym__Alignof] = ACTIONS(1170), + [anon_sym_offsetof] = ACTIONS(1170), + [anon_sym__Generic] = ACTIONS(1170), + [anon_sym_asm] = ACTIONS(1170), + [anon_sym___asm__] = ACTIONS(1170), + [anon_sym___asm] = ACTIONS(1170), + [sym_number_literal] = ACTIONS(1172), + [anon_sym_L_SQUOTE] = ACTIONS(1172), + [anon_sym_u_SQUOTE] = ACTIONS(1172), + [anon_sym_U_SQUOTE] = ACTIONS(1172), + [anon_sym_u8_SQUOTE] = ACTIONS(1172), + [anon_sym_SQUOTE] = ACTIONS(1172), + [anon_sym_L_DQUOTE] = ACTIONS(1172), + [anon_sym_u_DQUOTE] = ACTIONS(1172), + [anon_sym_U_DQUOTE] = ACTIONS(1172), + [anon_sym_u8_DQUOTE] = ACTIONS(1172), + [anon_sym_DQUOTE] = ACTIONS(1172), + [sym_true] = ACTIONS(1170), + [sym_false] = ACTIONS(1170), + [anon_sym_NULL] = ACTIONS(1170), + [anon_sym_nullptr] = ACTIONS(1170), + [sym_comment] = ACTIONS(3), + }, + [233] = { + [sym_identifier] = ACTIONS(1174), + [aux_sym_preproc_include_token1] = ACTIONS(1174), + [aux_sym_preproc_def_token1] = ACTIONS(1174), + [aux_sym_preproc_if_token1] = ACTIONS(1174), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1174), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1174), + [sym_preproc_directive] = ACTIONS(1174), + [anon_sym_LPAREN2] = ACTIONS(1176), + [anon_sym_BANG] = ACTIONS(1176), + [anon_sym_TILDE] = ACTIONS(1176), + [anon_sym_DASH] = ACTIONS(1174), + [anon_sym_PLUS] = ACTIONS(1174), + [anon_sym_STAR] = ACTIONS(1176), + [anon_sym_AMP] = ACTIONS(1176), + [anon_sym_SEMI] = ACTIONS(1176), + [anon_sym___extension__] = ACTIONS(1174), + [anon_sym_typedef] = ACTIONS(1174), + [anon_sym_extern] = ACTIONS(1174), + [anon_sym___attribute__] = ACTIONS(1174), + [anon_sym___attribute] = ACTIONS(1174), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1176), + [anon_sym___declspec] = ACTIONS(1174), + [anon_sym___cdecl] = ACTIONS(1174), + [anon_sym___clrcall] = ACTIONS(1174), + [anon_sym___stdcall] = ACTIONS(1174), + [anon_sym___fastcall] = ACTIONS(1174), + [anon_sym___thiscall] = ACTIONS(1174), + [anon_sym___vectorcall] = ACTIONS(1174), + [anon_sym_LBRACE] = ACTIONS(1176), + [anon_sym_RBRACE] = ACTIONS(1176), + [anon_sym_signed] = ACTIONS(1174), + [anon_sym_unsigned] = ACTIONS(1174), + [anon_sym_long] = ACTIONS(1174), + [anon_sym_short] = ACTIONS(1174), + [anon_sym_static] = ACTIONS(1174), + [anon_sym_auto] = ACTIONS(1174), + [anon_sym_register] = ACTIONS(1174), + [anon_sym_inline] = ACTIONS(1174), + [anon_sym___inline] = ACTIONS(1174), + [anon_sym___inline__] = ACTIONS(1174), + [anon_sym___forceinline] = ACTIONS(1174), + [anon_sym_thread_local] = ACTIONS(1174), + [anon_sym___thread] = ACTIONS(1174), + [anon_sym_const] = ACTIONS(1174), + [anon_sym_constexpr] = ACTIONS(1174), + [anon_sym_volatile] = ACTIONS(1174), + [anon_sym_restrict] = ACTIONS(1174), + [anon_sym___restrict__] = ACTIONS(1174), + [anon_sym__Atomic] = ACTIONS(1174), + [anon_sym__Noreturn] = ACTIONS(1174), + [anon_sym_noreturn] = ACTIONS(1174), + [anon_sym__Nonnull] = ACTIONS(1174), + [anon_sym_alignas] = ACTIONS(1174), + [anon_sym__Alignas] = ACTIONS(1174), + [sym_primitive_type] = ACTIONS(1174), + [anon_sym_enum] = ACTIONS(1174), + [anon_sym_struct] = ACTIONS(1174), + [anon_sym_union] = ACTIONS(1174), + [anon_sym_if] = ACTIONS(1174), + [anon_sym_else] = ACTIONS(1174), + [anon_sym_switch] = ACTIONS(1174), + [anon_sym_case] = ACTIONS(1174), + [anon_sym_default] = ACTIONS(1174), + [anon_sym_while] = ACTIONS(1174), + [anon_sym_do] = ACTIONS(1174), + [anon_sym_for] = ACTIONS(1174), + [anon_sym_return] = ACTIONS(1174), + [anon_sym_break] = ACTIONS(1174), + [anon_sym_continue] = ACTIONS(1174), + [anon_sym_goto] = ACTIONS(1174), + [anon_sym___try] = ACTIONS(1174), + [anon_sym___leave] = ACTIONS(1174), + [anon_sym_DASH_DASH] = ACTIONS(1176), + [anon_sym_PLUS_PLUS] = ACTIONS(1176), + [anon_sym_sizeof] = ACTIONS(1174), + [anon_sym___alignof__] = ACTIONS(1174), + [anon_sym___alignof] = ACTIONS(1174), + [anon_sym__alignof] = ACTIONS(1174), + [anon_sym_alignof] = ACTIONS(1174), + [anon_sym__Alignof] = ACTIONS(1174), + [anon_sym_offsetof] = ACTIONS(1174), + [anon_sym__Generic] = ACTIONS(1174), + [anon_sym_asm] = ACTIONS(1174), + [anon_sym___asm__] = ACTIONS(1174), + [anon_sym___asm] = ACTIONS(1174), + [sym_number_literal] = ACTIONS(1176), + [anon_sym_L_SQUOTE] = ACTIONS(1176), + [anon_sym_u_SQUOTE] = ACTIONS(1176), + [anon_sym_U_SQUOTE] = ACTIONS(1176), + [anon_sym_u8_SQUOTE] = ACTIONS(1176), + [anon_sym_SQUOTE] = ACTIONS(1176), + [anon_sym_L_DQUOTE] = ACTIONS(1176), + [anon_sym_u_DQUOTE] = ACTIONS(1176), + [anon_sym_U_DQUOTE] = ACTIONS(1176), + [anon_sym_u8_DQUOTE] = ACTIONS(1176), + [anon_sym_DQUOTE] = ACTIONS(1176), + [sym_true] = ACTIONS(1174), + [sym_false] = ACTIONS(1174), + [anon_sym_NULL] = ACTIONS(1174), + [anon_sym_nullptr] = ACTIONS(1174), + [sym_comment] = ACTIONS(3), + }, + [234] = { + [sym_identifier] = ACTIONS(1174), + [aux_sym_preproc_include_token1] = ACTIONS(1174), + [aux_sym_preproc_def_token1] = ACTIONS(1174), + [aux_sym_preproc_if_token1] = ACTIONS(1174), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1174), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1174), + [sym_preproc_directive] = ACTIONS(1174), + [anon_sym_LPAREN2] = ACTIONS(1176), + [anon_sym_BANG] = ACTIONS(1176), + [anon_sym_TILDE] = ACTIONS(1176), + [anon_sym_DASH] = ACTIONS(1174), + [anon_sym_PLUS] = ACTIONS(1174), + [anon_sym_STAR] = ACTIONS(1176), + [anon_sym_AMP] = ACTIONS(1176), + [anon_sym_SEMI] = ACTIONS(1176), + [anon_sym___extension__] = ACTIONS(1174), + [anon_sym_typedef] = ACTIONS(1174), + [anon_sym_extern] = ACTIONS(1174), + [anon_sym___attribute__] = ACTIONS(1174), + [anon_sym___attribute] = ACTIONS(1174), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1176), + [anon_sym___declspec] = ACTIONS(1174), + [anon_sym___cdecl] = ACTIONS(1174), + [anon_sym___clrcall] = ACTIONS(1174), + [anon_sym___stdcall] = ACTIONS(1174), + [anon_sym___fastcall] = ACTIONS(1174), + [anon_sym___thiscall] = ACTIONS(1174), + [anon_sym___vectorcall] = ACTIONS(1174), + [anon_sym_LBRACE] = ACTIONS(1176), + [anon_sym_RBRACE] = ACTIONS(1176), + [anon_sym_signed] = ACTIONS(1174), + [anon_sym_unsigned] = ACTIONS(1174), + [anon_sym_long] = ACTIONS(1174), + [anon_sym_short] = ACTIONS(1174), + [anon_sym_static] = ACTIONS(1174), + [anon_sym_auto] = ACTIONS(1174), + [anon_sym_register] = ACTIONS(1174), + [anon_sym_inline] = ACTIONS(1174), + [anon_sym___inline] = ACTIONS(1174), + [anon_sym___inline__] = ACTIONS(1174), + [anon_sym___forceinline] = ACTIONS(1174), + [anon_sym_thread_local] = ACTIONS(1174), + [anon_sym___thread] = ACTIONS(1174), + [anon_sym_const] = ACTIONS(1174), + [anon_sym_constexpr] = ACTIONS(1174), + [anon_sym_volatile] = ACTIONS(1174), + [anon_sym_restrict] = ACTIONS(1174), + [anon_sym___restrict__] = ACTIONS(1174), + [anon_sym__Atomic] = ACTIONS(1174), + [anon_sym__Noreturn] = ACTIONS(1174), + [anon_sym_noreturn] = ACTIONS(1174), + [anon_sym__Nonnull] = ACTIONS(1174), + [anon_sym_alignas] = ACTIONS(1174), + [anon_sym__Alignas] = ACTIONS(1174), + [sym_primitive_type] = ACTIONS(1174), + [anon_sym_enum] = ACTIONS(1174), + [anon_sym_struct] = ACTIONS(1174), + [anon_sym_union] = ACTIONS(1174), + [anon_sym_if] = ACTIONS(1174), + [anon_sym_else] = ACTIONS(1174), + [anon_sym_switch] = ACTIONS(1174), + [anon_sym_case] = ACTIONS(1174), + [anon_sym_default] = ACTIONS(1174), + [anon_sym_while] = ACTIONS(1174), + [anon_sym_do] = ACTIONS(1174), + [anon_sym_for] = ACTIONS(1174), + [anon_sym_return] = ACTIONS(1174), + [anon_sym_break] = ACTIONS(1174), + [anon_sym_continue] = ACTIONS(1174), + [anon_sym_goto] = ACTIONS(1174), + [anon_sym___try] = ACTIONS(1174), + [anon_sym___leave] = ACTIONS(1174), + [anon_sym_DASH_DASH] = ACTIONS(1176), + [anon_sym_PLUS_PLUS] = ACTIONS(1176), + [anon_sym_sizeof] = ACTIONS(1174), + [anon_sym___alignof__] = ACTIONS(1174), + [anon_sym___alignof] = ACTIONS(1174), + [anon_sym__alignof] = ACTIONS(1174), + [anon_sym_alignof] = ACTIONS(1174), + [anon_sym__Alignof] = ACTIONS(1174), + [anon_sym_offsetof] = ACTIONS(1174), + [anon_sym__Generic] = ACTIONS(1174), + [anon_sym_asm] = ACTIONS(1174), + [anon_sym___asm__] = ACTIONS(1174), + [anon_sym___asm] = ACTIONS(1174), + [sym_number_literal] = ACTIONS(1176), + [anon_sym_L_SQUOTE] = ACTIONS(1176), + [anon_sym_u_SQUOTE] = ACTIONS(1176), + [anon_sym_U_SQUOTE] = ACTIONS(1176), + [anon_sym_u8_SQUOTE] = ACTIONS(1176), + [anon_sym_SQUOTE] = ACTIONS(1176), + [anon_sym_L_DQUOTE] = ACTIONS(1176), + [anon_sym_u_DQUOTE] = ACTIONS(1176), + [anon_sym_U_DQUOTE] = ACTIONS(1176), + [anon_sym_u8_DQUOTE] = ACTIONS(1176), + [anon_sym_DQUOTE] = ACTIONS(1176), + [sym_true] = ACTIONS(1174), + [sym_false] = ACTIONS(1174), + [anon_sym_NULL] = ACTIONS(1174), + [anon_sym_nullptr] = ACTIONS(1174), + [sym_comment] = ACTIONS(3), + }, + [235] = { + [ts_builtin_sym_end] = ACTIONS(1156), + [sym_identifier] = ACTIONS(1154), + [aux_sym_preproc_include_token1] = ACTIONS(1154), + [aux_sym_preproc_def_token1] = ACTIONS(1154), + [aux_sym_preproc_if_token1] = ACTIONS(1154), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1154), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1154), + [sym_preproc_directive] = ACTIONS(1154), + [anon_sym_LPAREN2] = ACTIONS(1156), + [anon_sym_BANG] = ACTIONS(1156), + [anon_sym_TILDE] = ACTIONS(1156), + [anon_sym_DASH] = ACTIONS(1154), + [anon_sym_PLUS] = ACTIONS(1154), + [anon_sym_STAR] = ACTIONS(1156), + [anon_sym_AMP] = ACTIONS(1156), + [anon_sym_SEMI] = ACTIONS(1156), + [anon_sym___extension__] = ACTIONS(1154), + [anon_sym_typedef] = ACTIONS(1154), + [anon_sym_extern] = ACTIONS(1154), + [anon_sym___attribute__] = ACTIONS(1154), + [anon_sym___attribute] = ACTIONS(1154), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1156), + [anon_sym___declspec] = ACTIONS(1154), + [anon_sym___cdecl] = ACTIONS(1154), + [anon_sym___clrcall] = ACTIONS(1154), + [anon_sym___stdcall] = ACTIONS(1154), + [anon_sym___fastcall] = ACTIONS(1154), + [anon_sym___thiscall] = ACTIONS(1154), + [anon_sym___vectorcall] = ACTIONS(1154), + [anon_sym_LBRACE] = ACTIONS(1156), + [anon_sym_signed] = ACTIONS(1154), + [anon_sym_unsigned] = ACTIONS(1154), + [anon_sym_long] = ACTIONS(1154), + [anon_sym_short] = ACTIONS(1154), + [anon_sym_static] = ACTIONS(1154), + [anon_sym_auto] = ACTIONS(1154), + [anon_sym_register] = ACTIONS(1154), + [anon_sym_inline] = ACTIONS(1154), + [anon_sym___inline] = ACTIONS(1154), + [anon_sym___inline__] = ACTIONS(1154), + [anon_sym___forceinline] = ACTIONS(1154), + [anon_sym_thread_local] = ACTIONS(1154), + [anon_sym___thread] = ACTIONS(1154), + [anon_sym_const] = ACTIONS(1154), + [anon_sym_constexpr] = ACTIONS(1154), + [anon_sym_volatile] = ACTIONS(1154), + [anon_sym_restrict] = ACTIONS(1154), + [anon_sym___restrict__] = ACTIONS(1154), + [anon_sym__Atomic] = ACTIONS(1154), + [anon_sym__Noreturn] = ACTIONS(1154), + [anon_sym_noreturn] = ACTIONS(1154), + [anon_sym__Nonnull] = ACTIONS(1154), + [anon_sym_alignas] = ACTIONS(1154), + [anon_sym__Alignas] = ACTIONS(1154), + [sym_primitive_type] = ACTIONS(1154), + [anon_sym_enum] = ACTIONS(1154), + [anon_sym_struct] = ACTIONS(1154), + [anon_sym_union] = ACTIONS(1154), + [anon_sym_if] = ACTIONS(1154), + [anon_sym_else] = ACTIONS(1154), + [anon_sym_switch] = ACTIONS(1154), + [anon_sym_case] = ACTIONS(1154), + [anon_sym_default] = ACTIONS(1154), + [anon_sym_while] = ACTIONS(1154), + [anon_sym_do] = ACTIONS(1154), + [anon_sym_for] = ACTIONS(1154), + [anon_sym_return] = ACTIONS(1154), + [anon_sym_break] = ACTIONS(1154), + [anon_sym_continue] = ACTIONS(1154), + [anon_sym_goto] = ACTIONS(1154), + [anon_sym___try] = ACTIONS(1154), + [anon_sym___leave] = ACTIONS(1154), + [anon_sym_DASH_DASH] = ACTIONS(1156), + [anon_sym_PLUS_PLUS] = ACTIONS(1156), + [anon_sym_sizeof] = ACTIONS(1154), + [anon_sym___alignof__] = ACTIONS(1154), + [anon_sym___alignof] = ACTIONS(1154), + [anon_sym__alignof] = ACTIONS(1154), + [anon_sym_alignof] = ACTIONS(1154), + [anon_sym__Alignof] = ACTIONS(1154), + [anon_sym_offsetof] = ACTIONS(1154), + [anon_sym__Generic] = ACTIONS(1154), + [anon_sym_asm] = ACTIONS(1154), + [anon_sym___asm__] = ACTIONS(1154), + [anon_sym___asm] = ACTIONS(1154), + [sym_number_literal] = ACTIONS(1156), + [anon_sym_L_SQUOTE] = ACTIONS(1156), + [anon_sym_u_SQUOTE] = ACTIONS(1156), + [anon_sym_U_SQUOTE] = ACTIONS(1156), + [anon_sym_u8_SQUOTE] = ACTIONS(1156), + [anon_sym_SQUOTE] = ACTIONS(1156), + [anon_sym_L_DQUOTE] = ACTIONS(1156), + [anon_sym_u_DQUOTE] = ACTIONS(1156), + [anon_sym_U_DQUOTE] = ACTIONS(1156), + [anon_sym_u8_DQUOTE] = ACTIONS(1156), + [anon_sym_DQUOTE] = ACTIONS(1156), + [sym_true] = ACTIONS(1154), + [sym_false] = ACTIONS(1154), + [anon_sym_NULL] = ACTIONS(1154), + [anon_sym_nullptr] = ACTIONS(1154), + [sym_comment] = ACTIONS(3), + }, + [236] = { + [ts_builtin_sym_end] = ACTIONS(1248), + [sym_identifier] = ACTIONS(1246), + [aux_sym_preproc_include_token1] = ACTIONS(1246), + [aux_sym_preproc_def_token1] = ACTIONS(1246), + [aux_sym_preproc_if_token1] = ACTIONS(1246), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1246), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1246), + [sym_preproc_directive] = ACTIONS(1246), + [anon_sym_LPAREN2] = ACTIONS(1248), + [anon_sym_BANG] = ACTIONS(1248), + [anon_sym_TILDE] = ACTIONS(1248), + [anon_sym_DASH] = ACTIONS(1246), + [anon_sym_PLUS] = ACTIONS(1246), + [anon_sym_STAR] = ACTIONS(1248), + [anon_sym_AMP] = ACTIONS(1248), + [anon_sym_SEMI] = ACTIONS(1248), + [anon_sym___extension__] = ACTIONS(1246), + [anon_sym_typedef] = ACTIONS(1246), + [anon_sym_extern] = ACTIONS(1246), + [anon_sym___attribute__] = ACTIONS(1246), + [anon_sym___attribute] = ACTIONS(1246), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1248), + [anon_sym___declspec] = ACTIONS(1246), + [anon_sym___cdecl] = ACTIONS(1246), + [anon_sym___clrcall] = ACTIONS(1246), + [anon_sym___stdcall] = ACTIONS(1246), + [anon_sym___fastcall] = ACTIONS(1246), + [anon_sym___thiscall] = ACTIONS(1246), + [anon_sym___vectorcall] = ACTIONS(1246), + [anon_sym_LBRACE] = ACTIONS(1248), + [anon_sym_signed] = ACTIONS(1246), + [anon_sym_unsigned] = ACTIONS(1246), + [anon_sym_long] = ACTIONS(1246), + [anon_sym_short] = ACTIONS(1246), + [anon_sym_static] = ACTIONS(1246), + [anon_sym_auto] = ACTIONS(1246), + [anon_sym_register] = ACTIONS(1246), + [anon_sym_inline] = ACTIONS(1246), + [anon_sym___inline] = ACTIONS(1246), + [anon_sym___inline__] = ACTIONS(1246), + [anon_sym___forceinline] = ACTIONS(1246), + [anon_sym_thread_local] = ACTIONS(1246), + [anon_sym___thread] = ACTIONS(1246), + [anon_sym_const] = ACTIONS(1246), + [anon_sym_constexpr] = ACTIONS(1246), + [anon_sym_volatile] = ACTIONS(1246), + [anon_sym_restrict] = ACTIONS(1246), + [anon_sym___restrict__] = ACTIONS(1246), + [anon_sym__Atomic] = ACTIONS(1246), + [anon_sym__Noreturn] = ACTIONS(1246), + [anon_sym_noreturn] = ACTIONS(1246), + [anon_sym__Nonnull] = ACTIONS(1246), + [anon_sym_alignas] = ACTIONS(1246), + [anon_sym__Alignas] = ACTIONS(1246), + [sym_primitive_type] = ACTIONS(1246), + [anon_sym_enum] = ACTIONS(1246), + [anon_sym_struct] = ACTIONS(1246), + [anon_sym_union] = ACTIONS(1246), + [anon_sym_if] = ACTIONS(1246), + [anon_sym_else] = ACTIONS(1246), + [anon_sym_switch] = ACTIONS(1246), + [anon_sym_case] = ACTIONS(1246), + [anon_sym_default] = ACTIONS(1246), + [anon_sym_while] = ACTIONS(1246), + [anon_sym_do] = ACTIONS(1246), + [anon_sym_for] = ACTIONS(1246), + [anon_sym_return] = ACTIONS(1246), + [anon_sym_break] = ACTIONS(1246), + [anon_sym_continue] = ACTIONS(1246), + [anon_sym_goto] = ACTIONS(1246), + [anon_sym___try] = ACTIONS(1246), + [anon_sym___leave] = ACTIONS(1246), + [anon_sym_DASH_DASH] = ACTIONS(1248), + [anon_sym_PLUS_PLUS] = ACTIONS(1248), + [anon_sym_sizeof] = ACTIONS(1246), + [anon_sym___alignof__] = ACTIONS(1246), + [anon_sym___alignof] = ACTIONS(1246), + [anon_sym__alignof] = ACTIONS(1246), + [anon_sym_alignof] = ACTIONS(1246), + [anon_sym__Alignof] = ACTIONS(1246), + [anon_sym_offsetof] = ACTIONS(1246), + [anon_sym__Generic] = ACTIONS(1246), + [anon_sym_asm] = ACTIONS(1246), + [anon_sym___asm__] = ACTIONS(1246), + [anon_sym___asm] = ACTIONS(1246), + [sym_number_literal] = ACTIONS(1248), + [anon_sym_L_SQUOTE] = ACTIONS(1248), + [anon_sym_u_SQUOTE] = ACTIONS(1248), + [anon_sym_U_SQUOTE] = ACTIONS(1248), + [anon_sym_u8_SQUOTE] = ACTIONS(1248), + [anon_sym_SQUOTE] = ACTIONS(1248), + [anon_sym_L_DQUOTE] = ACTIONS(1248), + [anon_sym_u_DQUOTE] = ACTIONS(1248), + [anon_sym_U_DQUOTE] = ACTIONS(1248), + [anon_sym_u8_DQUOTE] = ACTIONS(1248), + [anon_sym_DQUOTE] = ACTIONS(1248), + [sym_true] = ACTIONS(1246), + [sym_false] = ACTIONS(1246), + [anon_sym_NULL] = ACTIONS(1246), + [anon_sym_nullptr] = ACTIONS(1246), + [sym_comment] = ACTIONS(3), + }, + [237] = { + [sym_identifier] = ACTIONS(1178), + [aux_sym_preproc_include_token1] = ACTIONS(1178), + [aux_sym_preproc_def_token1] = ACTIONS(1178), + [aux_sym_preproc_if_token1] = ACTIONS(1178), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1178), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1178), + [sym_preproc_directive] = ACTIONS(1178), + [anon_sym_LPAREN2] = ACTIONS(1180), + [anon_sym_BANG] = ACTIONS(1180), + [anon_sym_TILDE] = ACTIONS(1180), + [anon_sym_DASH] = ACTIONS(1178), + [anon_sym_PLUS] = ACTIONS(1178), + [anon_sym_STAR] = ACTIONS(1180), + [anon_sym_AMP] = ACTIONS(1180), + [anon_sym_SEMI] = ACTIONS(1180), + [anon_sym___extension__] = ACTIONS(1178), + [anon_sym_typedef] = ACTIONS(1178), + [anon_sym_extern] = ACTIONS(1178), + [anon_sym___attribute__] = ACTIONS(1178), + [anon_sym___attribute] = ACTIONS(1178), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1180), + [anon_sym___declspec] = ACTIONS(1178), + [anon_sym___cdecl] = ACTIONS(1178), + [anon_sym___clrcall] = ACTIONS(1178), + [anon_sym___stdcall] = ACTIONS(1178), + [anon_sym___fastcall] = ACTIONS(1178), + [anon_sym___thiscall] = ACTIONS(1178), + [anon_sym___vectorcall] = ACTIONS(1178), + [anon_sym_LBRACE] = ACTIONS(1180), + [anon_sym_RBRACE] = ACTIONS(1180), + [anon_sym_signed] = ACTIONS(1178), + [anon_sym_unsigned] = ACTIONS(1178), + [anon_sym_long] = ACTIONS(1178), + [anon_sym_short] = ACTIONS(1178), + [anon_sym_static] = ACTIONS(1178), + [anon_sym_auto] = ACTIONS(1178), + [anon_sym_register] = ACTIONS(1178), + [anon_sym_inline] = ACTIONS(1178), + [anon_sym___inline] = ACTIONS(1178), + [anon_sym___inline__] = ACTIONS(1178), + [anon_sym___forceinline] = ACTIONS(1178), + [anon_sym_thread_local] = ACTIONS(1178), + [anon_sym___thread] = ACTIONS(1178), + [anon_sym_const] = ACTIONS(1178), + [anon_sym_constexpr] = ACTIONS(1178), + [anon_sym_volatile] = ACTIONS(1178), + [anon_sym_restrict] = ACTIONS(1178), + [anon_sym___restrict__] = ACTIONS(1178), + [anon_sym__Atomic] = ACTIONS(1178), + [anon_sym__Noreturn] = ACTIONS(1178), + [anon_sym_noreturn] = ACTIONS(1178), + [anon_sym__Nonnull] = ACTIONS(1178), + [anon_sym_alignas] = ACTIONS(1178), + [anon_sym__Alignas] = ACTIONS(1178), + [sym_primitive_type] = ACTIONS(1178), + [anon_sym_enum] = ACTIONS(1178), + [anon_sym_struct] = ACTIONS(1178), + [anon_sym_union] = ACTIONS(1178), + [anon_sym_if] = ACTIONS(1178), + [anon_sym_else] = ACTIONS(1178), + [anon_sym_switch] = ACTIONS(1178), + [anon_sym_case] = ACTIONS(1178), + [anon_sym_default] = ACTIONS(1178), + [anon_sym_while] = ACTIONS(1178), + [anon_sym_do] = ACTIONS(1178), + [anon_sym_for] = ACTIONS(1178), + [anon_sym_return] = ACTIONS(1178), + [anon_sym_break] = ACTIONS(1178), + [anon_sym_continue] = ACTIONS(1178), + [anon_sym_goto] = ACTIONS(1178), + [anon_sym___try] = ACTIONS(1178), + [anon_sym___leave] = ACTIONS(1178), + [anon_sym_DASH_DASH] = ACTIONS(1180), + [anon_sym_PLUS_PLUS] = ACTIONS(1180), + [anon_sym_sizeof] = ACTIONS(1178), + [anon_sym___alignof__] = ACTIONS(1178), + [anon_sym___alignof] = ACTIONS(1178), + [anon_sym__alignof] = ACTIONS(1178), + [anon_sym_alignof] = ACTIONS(1178), + [anon_sym__Alignof] = ACTIONS(1178), + [anon_sym_offsetof] = ACTIONS(1178), + [anon_sym__Generic] = ACTIONS(1178), + [anon_sym_asm] = ACTIONS(1178), + [anon_sym___asm__] = ACTIONS(1178), + [anon_sym___asm] = ACTIONS(1178), + [sym_number_literal] = ACTIONS(1180), + [anon_sym_L_SQUOTE] = ACTIONS(1180), + [anon_sym_u_SQUOTE] = ACTIONS(1180), + [anon_sym_U_SQUOTE] = ACTIONS(1180), + [anon_sym_u8_SQUOTE] = ACTIONS(1180), + [anon_sym_SQUOTE] = ACTIONS(1180), + [anon_sym_L_DQUOTE] = ACTIONS(1180), + [anon_sym_u_DQUOTE] = ACTIONS(1180), + [anon_sym_U_DQUOTE] = ACTIONS(1180), + [anon_sym_u8_DQUOTE] = ACTIONS(1180), + [anon_sym_DQUOTE] = ACTIONS(1180), + [sym_true] = ACTIONS(1178), + [sym_false] = ACTIONS(1178), + [anon_sym_NULL] = ACTIONS(1178), + [anon_sym_nullptr] = ACTIONS(1178), + [sym_comment] = ACTIONS(3), + }, + [238] = { + [sym_identifier] = ACTIONS(1182), + [aux_sym_preproc_include_token1] = ACTIONS(1182), + [aux_sym_preproc_def_token1] = ACTIONS(1182), + [aux_sym_preproc_if_token1] = ACTIONS(1182), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1182), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1182), + [sym_preproc_directive] = ACTIONS(1182), + [anon_sym_LPAREN2] = ACTIONS(1184), + [anon_sym_BANG] = ACTIONS(1184), + [anon_sym_TILDE] = ACTIONS(1184), + [anon_sym_DASH] = ACTIONS(1182), + [anon_sym_PLUS] = ACTIONS(1182), + [anon_sym_STAR] = ACTIONS(1184), + [anon_sym_AMP] = ACTIONS(1184), + [anon_sym_SEMI] = ACTIONS(1184), + [anon_sym___extension__] = ACTIONS(1182), + [anon_sym_typedef] = ACTIONS(1182), + [anon_sym_extern] = ACTIONS(1182), + [anon_sym___attribute__] = ACTIONS(1182), + [anon_sym___attribute] = ACTIONS(1182), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1184), + [anon_sym___declspec] = ACTIONS(1182), + [anon_sym___cdecl] = ACTIONS(1182), + [anon_sym___clrcall] = ACTIONS(1182), + [anon_sym___stdcall] = ACTIONS(1182), + [anon_sym___fastcall] = ACTIONS(1182), + [anon_sym___thiscall] = ACTIONS(1182), + [anon_sym___vectorcall] = ACTIONS(1182), + [anon_sym_LBRACE] = ACTIONS(1184), + [anon_sym_RBRACE] = ACTIONS(1184), + [anon_sym_signed] = ACTIONS(1182), + [anon_sym_unsigned] = ACTIONS(1182), + [anon_sym_long] = ACTIONS(1182), + [anon_sym_short] = ACTIONS(1182), + [anon_sym_static] = ACTIONS(1182), + [anon_sym_auto] = ACTIONS(1182), + [anon_sym_register] = ACTIONS(1182), + [anon_sym_inline] = ACTIONS(1182), + [anon_sym___inline] = ACTIONS(1182), + [anon_sym___inline__] = ACTIONS(1182), + [anon_sym___forceinline] = ACTIONS(1182), + [anon_sym_thread_local] = ACTIONS(1182), + [anon_sym___thread] = ACTIONS(1182), + [anon_sym_const] = ACTIONS(1182), + [anon_sym_constexpr] = ACTIONS(1182), + [anon_sym_volatile] = ACTIONS(1182), + [anon_sym_restrict] = ACTIONS(1182), + [anon_sym___restrict__] = ACTIONS(1182), + [anon_sym__Atomic] = ACTIONS(1182), + [anon_sym__Noreturn] = ACTIONS(1182), + [anon_sym_noreturn] = ACTIONS(1182), + [anon_sym__Nonnull] = ACTIONS(1182), + [anon_sym_alignas] = ACTIONS(1182), + [anon_sym__Alignas] = ACTIONS(1182), + [sym_primitive_type] = ACTIONS(1182), + [anon_sym_enum] = ACTIONS(1182), + [anon_sym_struct] = ACTIONS(1182), + [anon_sym_union] = ACTIONS(1182), + [anon_sym_if] = ACTIONS(1182), + [anon_sym_else] = ACTIONS(1182), + [anon_sym_switch] = ACTIONS(1182), + [anon_sym_case] = ACTIONS(1182), + [anon_sym_default] = ACTIONS(1182), + [anon_sym_while] = ACTIONS(1182), + [anon_sym_do] = ACTIONS(1182), + [anon_sym_for] = ACTIONS(1182), + [anon_sym_return] = ACTIONS(1182), + [anon_sym_break] = ACTIONS(1182), + [anon_sym_continue] = ACTIONS(1182), + [anon_sym_goto] = ACTIONS(1182), + [anon_sym___try] = ACTIONS(1182), + [anon_sym___leave] = ACTIONS(1182), + [anon_sym_DASH_DASH] = ACTIONS(1184), + [anon_sym_PLUS_PLUS] = ACTIONS(1184), + [anon_sym_sizeof] = ACTIONS(1182), + [anon_sym___alignof__] = ACTIONS(1182), + [anon_sym___alignof] = ACTIONS(1182), + [anon_sym__alignof] = ACTIONS(1182), + [anon_sym_alignof] = ACTIONS(1182), + [anon_sym__Alignof] = ACTIONS(1182), + [anon_sym_offsetof] = ACTIONS(1182), + [anon_sym__Generic] = ACTIONS(1182), + [anon_sym_asm] = ACTIONS(1182), + [anon_sym___asm__] = ACTIONS(1182), + [anon_sym___asm] = ACTIONS(1182), + [sym_number_literal] = ACTIONS(1184), + [anon_sym_L_SQUOTE] = ACTIONS(1184), + [anon_sym_u_SQUOTE] = ACTIONS(1184), + [anon_sym_U_SQUOTE] = ACTIONS(1184), + [anon_sym_u8_SQUOTE] = ACTIONS(1184), + [anon_sym_SQUOTE] = ACTIONS(1184), + [anon_sym_L_DQUOTE] = ACTIONS(1184), + [anon_sym_u_DQUOTE] = ACTIONS(1184), + [anon_sym_U_DQUOTE] = ACTIONS(1184), + [anon_sym_u8_DQUOTE] = ACTIONS(1184), + [anon_sym_DQUOTE] = ACTIONS(1184), + [sym_true] = ACTIONS(1182), + [sym_false] = ACTIONS(1182), + [anon_sym_NULL] = ACTIONS(1182), + [anon_sym_nullptr] = ACTIONS(1182), + [sym_comment] = ACTIONS(3), + }, + [239] = { + [ts_builtin_sym_end] = ACTIONS(1136), + [sym_identifier] = ACTIONS(1134), + [aux_sym_preproc_include_token1] = ACTIONS(1134), + [aux_sym_preproc_def_token1] = ACTIONS(1134), + [aux_sym_preproc_if_token1] = ACTIONS(1134), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1134), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1134), + [sym_preproc_directive] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(1136), + [anon_sym_BANG] = ACTIONS(1136), + [anon_sym_TILDE] = ACTIONS(1136), + [anon_sym_DASH] = ACTIONS(1134), + [anon_sym_PLUS] = ACTIONS(1134), + [anon_sym_STAR] = ACTIONS(1136), + [anon_sym_AMP] = ACTIONS(1136), + [anon_sym_SEMI] = ACTIONS(1136), + [anon_sym___extension__] = ACTIONS(1134), + [anon_sym_typedef] = ACTIONS(1134), + [anon_sym_extern] = ACTIONS(1134), + [anon_sym___attribute__] = ACTIONS(1134), + [anon_sym___attribute] = ACTIONS(1134), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1136), + [anon_sym___declspec] = ACTIONS(1134), + [anon_sym___cdecl] = ACTIONS(1134), + [anon_sym___clrcall] = ACTIONS(1134), + [anon_sym___stdcall] = ACTIONS(1134), + [anon_sym___fastcall] = ACTIONS(1134), + [anon_sym___thiscall] = ACTIONS(1134), + [anon_sym___vectorcall] = ACTIONS(1134), + [anon_sym_LBRACE] = ACTIONS(1136), + [anon_sym_signed] = ACTIONS(1134), + [anon_sym_unsigned] = ACTIONS(1134), + [anon_sym_long] = ACTIONS(1134), + [anon_sym_short] = ACTIONS(1134), + [anon_sym_static] = ACTIONS(1134), + [anon_sym_auto] = ACTIONS(1134), + [anon_sym_register] = ACTIONS(1134), + [anon_sym_inline] = ACTIONS(1134), + [anon_sym___inline] = ACTIONS(1134), + [anon_sym___inline__] = ACTIONS(1134), + [anon_sym___forceinline] = ACTIONS(1134), + [anon_sym_thread_local] = ACTIONS(1134), + [anon_sym___thread] = ACTIONS(1134), + [anon_sym_const] = ACTIONS(1134), + [anon_sym_constexpr] = ACTIONS(1134), + [anon_sym_volatile] = ACTIONS(1134), + [anon_sym_restrict] = ACTIONS(1134), + [anon_sym___restrict__] = ACTIONS(1134), + [anon_sym__Atomic] = ACTIONS(1134), + [anon_sym__Noreturn] = ACTIONS(1134), + [anon_sym_noreturn] = ACTIONS(1134), + [anon_sym__Nonnull] = ACTIONS(1134), + [anon_sym_alignas] = ACTIONS(1134), + [anon_sym__Alignas] = ACTIONS(1134), + [sym_primitive_type] = ACTIONS(1134), + [anon_sym_enum] = ACTIONS(1134), + [anon_sym_struct] = ACTIONS(1134), + [anon_sym_union] = ACTIONS(1134), + [anon_sym_if] = ACTIONS(1134), + [anon_sym_else] = ACTIONS(1134), + [anon_sym_switch] = ACTIONS(1134), + [anon_sym_case] = ACTIONS(1134), + [anon_sym_default] = ACTIONS(1134), + [anon_sym_while] = ACTIONS(1134), + [anon_sym_do] = ACTIONS(1134), + [anon_sym_for] = ACTIONS(1134), + [anon_sym_return] = ACTIONS(1134), + [anon_sym_break] = ACTIONS(1134), + [anon_sym_continue] = ACTIONS(1134), + [anon_sym_goto] = ACTIONS(1134), + [anon_sym___try] = ACTIONS(1134), + [anon_sym___leave] = ACTIONS(1134), + [anon_sym_DASH_DASH] = ACTIONS(1136), + [anon_sym_PLUS_PLUS] = ACTIONS(1136), + [anon_sym_sizeof] = ACTIONS(1134), + [anon_sym___alignof__] = ACTIONS(1134), + [anon_sym___alignof] = ACTIONS(1134), + [anon_sym__alignof] = ACTIONS(1134), + [anon_sym_alignof] = ACTIONS(1134), + [anon_sym__Alignof] = ACTIONS(1134), + [anon_sym_offsetof] = ACTIONS(1134), + [anon_sym__Generic] = ACTIONS(1134), + [anon_sym_asm] = ACTIONS(1134), + [anon_sym___asm__] = ACTIONS(1134), + [anon_sym___asm] = ACTIONS(1134), + [sym_number_literal] = ACTIONS(1136), + [anon_sym_L_SQUOTE] = ACTIONS(1136), + [anon_sym_u_SQUOTE] = ACTIONS(1136), + [anon_sym_U_SQUOTE] = ACTIONS(1136), + [anon_sym_u8_SQUOTE] = ACTIONS(1136), + [anon_sym_SQUOTE] = ACTIONS(1136), + [anon_sym_L_DQUOTE] = ACTIONS(1136), + [anon_sym_u_DQUOTE] = ACTIONS(1136), + [anon_sym_U_DQUOTE] = ACTIONS(1136), + [anon_sym_u8_DQUOTE] = ACTIONS(1136), + [anon_sym_DQUOTE] = ACTIONS(1136), + [sym_true] = ACTIONS(1134), + [sym_false] = ACTIONS(1134), + [anon_sym_NULL] = ACTIONS(1134), + [anon_sym_nullptr] = ACTIONS(1134), + [sym_comment] = ACTIONS(3), + }, + [240] = { + [ts_builtin_sym_end] = ACTIONS(1160), + [sym_identifier] = ACTIONS(1158), + [aux_sym_preproc_include_token1] = ACTIONS(1158), + [aux_sym_preproc_def_token1] = ACTIONS(1158), + [aux_sym_preproc_if_token1] = ACTIONS(1158), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1158), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1158), + [sym_preproc_directive] = ACTIONS(1158), + [anon_sym_LPAREN2] = ACTIONS(1160), + [anon_sym_BANG] = ACTIONS(1160), + [anon_sym_TILDE] = ACTIONS(1160), + [anon_sym_DASH] = ACTIONS(1158), + [anon_sym_PLUS] = ACTIONS(1158), + [anon_sym_STAR] = ACTIONS(1160), + [anon_sym_AMP] = ACTIONS(1160), + [anon_sym_SEMI] = ACTIONS(1160), + [anon_sym___extension__] = ACTIONS(1158), + [anon_sym_typedef] = ACTIONS(1158), + [anon_sym_extern] = ACTIONS(1158), + [anon_sym___attribute__] = ACTIONS(1158), + [anon_sym___attribute] = ACTIONS(1158), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1160), + [anon_sym___declspec] = ACTIONS(1158), + [anon_sym___cdecl] = ACTIONS(1158), + [anon_sym___clrcall] = ACTIONS(1158), + [anon_sym___stdcall] = ACTIONS(1158), + [anon_sym___fastcall] = ACTIONS(1158), + [anon_sym___thiscall] = ACTIONS(1158), + [anon_sym___vectorcall] = ACTIONS(1158), + [anon_sym_LBRACE] = ACTIONS(1160), + [anon_sym_signed] = ACTIONS(1158), + [anon_sym_unsigned] = ACTIONS(1158), + [anon_sym_long] = ACTIONS(1158), + [anon_sym_short] = ACTIONS(1158), + [anon_sym_static] = ACTIONS(1158), + [anon_sym_auto] = ACTIONS(1158), + [anon_sym_register] = ACTIONS(1158), + [anon_sym_inline] = ACTIONS(1158), + [anon_sym___inline] = ACTIONS(1158), + [anon_sym___inline__] = ACTIONS(1158), + [anon_sym___forceinline] = ACTIONS(1158), + [anon_sym_thread_local] = ACTIONS(1158), + [anon_sym___thread] = ACTIONS(1158), + [anon_sym_const] = ACTIONS(1158), + [anon_sym_constexpr] = ACTIONS(1158), + [anon_sym_volatile] = ACTIONS(1158), + [anon_sym_restrict] = ACTIONS(1158), + [anon_sym___restrict__] = ACTIONS(1158), + [anon_sym__Atomic] = ACTIONS(1158), + [anon_sym__Noreturn] = ACTIONS(1158), + [anon_sym_noreturn] = ACTIONS(1158), + [anon_sym__Nonnull] = ACTIONS(1158), + [anon_sym_alignas] = ACTIONS(1158), + [anon_sym__Alignas] = ACTIONS(1158), + [sym_primitive_type] = ACTIONS(1158), + [anon_sym_enum] = ACTIONS(1158), + [anon_sym_struct] = ACTIONS(1158), + [anon_sym_union] = ACTIONS(1158), + [anon_sym_if] = ACTIONS(1158), + [anon_sym_else] = ACTIONS(1158), + [anon_sym_switch] = ACTIONS(1158), + [anon_sym_case] = ACTIONS(1158), + [anon_sym_default] = ACTIONS(1158), + [anon_sym_while] = ACTIONS(1158), + [anon_sym_do] = ACTIONS(1158), + [anon_sym_for] = ACTIONS(1158), + [anon_sym_return] = ACTIONS(1158), + [anon_sym_break] = ACTIONS(1158), + [anon_sym_continue] = ACTIONS(1158), + [anon_sym_goto] = ACTIONS(1158), + [anon_sym___try] = ACTIONS(1158), + [anon_sym___leave] = ACTIONS(1158), + [anon_sym_DASH_DASH] = ACTIONS(1160), + [anon_sym_PLUS_PLUS] = ACTIONS(1160), + [anon_sym_sizeof] = ACTIONS(1158), + [anon_sym___alignof__] = ACTIONS(1158), + [anon_sym___alignof] = ACTIONS(1158), + [anon_sym__alignof] = ACTIONS(1158), + [anon_sym_alignof] = ACTIONS(1158), + [anon_sym__Alignof] = ACTIONS(1158), + [anon_sym_offsetof] = ACTIONS(1158), + [anon_sym__Generic] = ACTIONS(1158), + [anon_sym_asm] = ACTIONS(1158), + [anon_sym___asm__] = ACTIONS(1158), + [anon_sym___asm] = ACTIONS(1158), + [sym_number_literal] = ACTIONS(1160), + [anon_sym_L_SQUOTE] = ACTIONS(1160), + [anon_sym_u_SQUOTE] = ACTIONS(1160), + [anon_sym_U_SQUOTE] = ACTIONS(1160), + [anon_sym_u8_SQUOTE] = ACTIONS(1160), + [anon_sym_SQUOTE] = ACTIONS(1160), + [anon_sym_L_DQUOTE] = ACTIONS(1160), + [anon_sym_u_DQUOTE] = ACTIONS(1160), + [anon_sym_U_DQUOTE] = ACTIONS(1160), + [anon_sym_u8_DQUOTE] = ACTIONS(1160), + [anon_sym_DQUOTE] = ACTIONS(1160), + [sym_true] = ACTIONS(1158), + [sym_false] = ACTIONS(1158), + [anon_sym_NULL] = ACTIONS(1158), + [anon_sym_nullptr] = ACTIONS(1158), + [sym_comment] = ACTIONS(3), + }, + [241] = { + [ts_builtin_sym_end] = ACTIONS(1252), + [sym_identifier] = ACTIONS(1250), + [aux_sym_preproc_include_token1] = ACTIONS(1250), + [aux_sym_preproc_def_token1] = ACTIONS(1250), + [aux_sym_preproc_if_token1] = ACTIONS(1250), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1250), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1250), + [sym_preproc_directive] = ACTIONS(1250), + [anon_sym_LPAREN2] = ACTIONS(1252), + [anon_sym_BANG] = ACTIONS(1252), + [anon_sym_TILDE] = ACTIONS(1252), + [anon_sym_DASH] = ACTIONS(1250), + [anon_sym_PLUS] = ACTIONS(1250), + [anon_sym_STAR] = ACTIONS(1252), + [anon_sym_AMP] = ACTIONS(1252), + [anon_sym_SEMI] = ACTIONS(1252), + [anon_sym___extension__] = ACTIONS(1250), + [anon_sym_typedef] = ACTIONS(1250), + [anon_sym_extern] = ACTIONS(1250), + [anon_sym___attribute__] = ACTIONS(1250), + [anon_sym___attribute] = ACTIONS(1250), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1252), + [anon_sym___declspec] = ACTIONS(1250), + [anon_sym___cdecl] = ACTIONS(1250), + [anon_sym___clrcall] = ACTIONS(1250), + [anon_sym___stdcall] = ACTIONS(1250), + [anon_sym___fastcall] = ACTIONS(1250), + [anon_sym___thiscall] = ACTIONS(1250), + [anon_sym___vectorcall] = ACTIONS(1250), + [anon_sym_LBRACE] = ACTIONS(1252), + [anon_sym_signed] = ACTIONS(1250), + [anon_sym_unsigned] = ACTIONS(1250), + [anon_sym_long] = ACTIONS(1250), + [anon_sym_short] = ACTIONS(1250), + [anon_sym_static] = ACTIONS(1250), + [anon_sym_auto] = ACTIONS(1250), + [anon_sym_register] = ACTIONS(1250), + [anon_sym_inline] = ACTIONS(1250), + [anon_sym___inline] = ACTIONS(1250), + [anon_sym___inline__] = ACTIONS(1250), + [anon_sym___forceinline] = ACTIONS(1250), + [anon_sym_thread_local] = ACTIONS(1250), + [anon_sym___thread] = ACTIONS(1250), + [anon_sym_const] = ACTIONS(1250), + [anon_sym_constexpr] = ACTIONS(1250), + [anon_sym_volatile] = ACTIONS(1250), + [anon_sym_restrict] = ACTIONS(1250), + [anon_sym___restrict__] = ACTIONS(1250), + [anon_sym__Atomic] = ACTIONS(1250), + [anon_sym__Noreturn] = ACTIONS(1250), + [anon_sym_noreturn] = ACTIONS(1250), + [anon_sym__Nonnull] = ACTIONS(1250), + [anon_sym_alignas] = ACTIONS(1250), + [anon_sym__Alignas] = ACTIONS(1250), + [sym_primitive_type] = ACTIONS(1250), + [anon_sym_enum] = ACTIONS(1250), + [anon_sym_struct] = ACTIONS(1250), + [anon_sym_union] = ACTIONS(1250), + [anon_sym_if] = ACTIONS(1250), + [anon_sym_else] = ACTIONS(1250), + [anon_sym_switch] = ACTIONS(1250), + [anon_sym_case] = ACTIONS(1250), + [anon_sym_default] = ACTIONS(1250), + [anon_sym_while] = ACTIONS(1250), + [anon_sym_do] = ACTIONS(1250), + [anon_sym_for] = ACTIONS(1250), + [anon_sym_return] = ACTIONS(1250), + [anon_sym_break] = ACTIONS(1250), + [anon_sym_continue] = ACTIONS(1250), + [anon_sym_goto] = ACTIONS(1250), + [anon_sym___try] = ACTIONS(1250), + [anon_sym___leave] = ACTIONS(1250), + [anon_sym_DASH_DASH] = ACTIONS(1252), + [anon_sym_PLUS_PLUS] = ACTIONS(1252), + [anon_sym_sizeof] = ACTIONS(1250), + [anon_sym___alignof__] = ACTIONS(1250), + [anon_sym___alignof] = ACTIONS(1250), + [anon_sym__alignof] = ACTIONS(1250), + [anon_sym_alignof] = ACTIONS(1250), + [anon_sym__Alignof] = ACTIONS(1250), + [anon_sym_offsetof] = ACTIONS(1250), + [anon_sym__Generic] = ACTIONS(1250), + [anon_sym_asm] = ACTIONS(1250), + [anon_sym___asm__] = ACTIONS(1250), + [anon_sym___asm] = ACTIONS(1250), + [sym_number_literal] = ACTIONS(1252), + [anon_sym_L_SQUOTE] = ACTIONS(1252), + [anon_sym_u_SQUOTE] = ACTIONS(1252), + [anon_sym_U_SQUOTE] = ACTIONS(1252), + [anon_sym_u8_SQUOTE] = ACTIONS(1252), + [anon_sym_SQUOTE] = ACTIONS(1252), + [anon_sym_L_DQUOTE] = ACTIONS(1252), + [anon_sym_u_DQUOTE] = ACTIONS(1252), + [anon_sym_U_DQUOTE] = ACTIONS(1252), + [anon_sym_u8_DQUOTE] = ACTIONS(1252), + [anon_sym_DQUOTE] = ACTIONS(1252), + [sym_true] = ACTIONS(1250), + [sym_false] = ACTIONS(1250), + [anon_sym_NULL] = ACTIONS(1250), + [anon_sym_nullptr] = ACTIONS(1250), + [sym_comment] = ACTIONS(3), + }, + [242] = { + [sym_identifier] = ACTIONS(1162), + [aux_sym_preproc_include_token1] = ACTIONS(1162), + [aux_sym_preproc_def_token1] = ACTIONS(1162), + [aux_sym_preproc_if_token1] = ACTIONS(1162), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1162), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1162), + [sym_preproc_directive] = ACTIONS(1162), + [anon_sym_LPAREN2] = ACTIONS(1164), + [anon_sym_BANG] = ACTIONS(1164), + [anon_sym_TILDE] = ACTIONS(1164), + [anon_sym_DASH] = ACTIONS(1162), + [anon_sym_PLUS] = ACTIONS(1162), + [anon_sym_STAR] = ACTIONS(1164), + [anon_sym_AMP] = ACTIONS(1164), + [anon_sym_SEMI] = ACTIONS(1164), + [anon_sym___extension__] = ACTIONS(1162), + [anon_sym_typedef] = ACTIONS(1162), + [anon_sym_extern] = ACTIONS(1162), + [anon_sym___attribute__] = ACTIONS(1162), + [anon_sym___attribute] = ACTIONS(1162), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1164), + [anon_sym___declspec] = ACTIONS(1162), + [anon_sym___cdecl] = ACTIONS(1162), + [anon_sym___clrcall] = ACTIONS(1162), + [anon_sym___stdcall] = ACTIONS(1162), + [anon_sym___fastcall] = ACTIONS(1162), + [anon_sym___thiscall] = ACTIONS(1162), + [anon_sym___vectorcall] = ACTIONS(1162), + [anon_sym_LBRACE] = ACTIONS(1164), + [anon_sym_RBRACE] = ACTIONS(1164), + [anon_sym_signed] = ACTIONS(1162), + [anon_sym_unsigned] = ACTIONS(1162), + [anon_sym_long] = ACTIONS(1162), + [anon_sym_short] = ACTIONS(1162), + [anon_sym_static] = ACTIONS(1162), + [anon_sym_auto] = ACTIONS(1162), + [anon_sym_register] = ACTIONS(1162), + [anon_sym_inline] = ACTIONS(1162), + [anon_sym___inline] = ACTIONS(1162), + [anon_sym___inline__] = ACTIONS(1162), + [anon_sym___forceinline] = ACTIONS(1162), + [anon_sym_thread_local] = ACTIONS(1162), + [anon_sym___thread] = ACTIONS(1162), + [anon_sym_const] = ACTIONS(1162), + [anon_sym_constexpr] = ACTIONS(1162), + [anon_sym_volatile] = ACTIONS(1162), + [anon_sym_restrict] = ACTIONS(1162), + [anon_sym___restrict__] = ACTIONS(1162), + [anon_sym__Atomic] = ACTIONS(1162), + [anon_sym__Noreturn] = ACTIONS(1162), + [anon_sym_noreturn] = ACTIONS(1162), + [anon_sym__Nonnull] = ACTIONS(1162), + [anon_sym_alignas] = ACTIONS(1162), + [anon_sym__Alignas] = ACTIONS(1162), + [sym_primitive_type] = ACTIONS(1162), + [anon_sym_enum] = ACTIONS(1162), + [anon_sym_struct] = ACTIONS(1162), + [anon_sym_union] = ACTIONS(1162), + [anon_sym_if] = ACTIONS(1162), + [anon_sym_else] = ACTIONS(1162), + [anon_sym_switch] = ACTIONS(1162), + [anon_sym_case] = ACTIONS(1162), + [anon_sym_default] = ACTIONS(1162), + [anon_sym_while] = ACTIONS(1162), + [anon_sym_do] = ACTIONS(1162), + [anon_sym_for] = ACTIONS(1162), + [anon_sym_return] = ACTIONS(1162), + [anon_sym_break] = ACTIONS(1162), + [anon_sym_continue] = ACTIONS(1162), + [anon_sym_goto] = ACTIONS(1162), + [anon_sym___try] = ACTIONS(1162), + [anon_sym___leave] = ACTIONS(1162), + [anon_sym_DASH_DASH] = ACTIONS(1164), + [anon_sym_PLUS_PLUS] = ACTIONS(1164), + [anon_sym_sizeof] = ACTIONS(1162), + [anon_sym___alignof__] = ACTIONS(1162), + [anon_sym___alignof] = ACTIONS(1162), + [anon_sym__alignof] = ACTIONS(1162), + [anon_sym_alignof] = ACTIONS(1162), + [anon_sym__Alignof] = ACTIONS(1162), + [anon_sym_offsetof] = ACTIONS(1162), + [anon_sym__Generic] = ACTIONS(1162), + [anon_sym_asm] = ACTIONS(1162), + [anon_sym___asm__] = ACTIONS(1162), + [anon_sym___asm] = ACTIONS(1162), + [sym_number_literal] = ACTIONS(1164), + [anon_sym_L_SQUOTE] = ACTIONS(1164), + [anon_sym_u_SQUOTE] = ACTIONS(1164), + [anon_sym_U_SQUOTE] = ACTIONS(1164), + [anon_sym_u8_SQUOTE] = ACTIONS(1164), + [anon_sym_SQUOTE] = ACTIONS(1164), + [anon_sym_L_DQUOTE] = ACTIONS(1164), + [anon_sym_u_DQUOTE] = ACTIONS(1164), + [anon_sym_U_DQUOTE] = ACTIONS(1164), + [anon_sym_u8_DQUOTE] = ACTIONS(1164), + [anon_sym_DQUOTE] = ACTIONS(1164), + [sym_true] = ACTIONS(1162), + [sym_false] = ACTIONS(1162), + [anon_sym_NULL] = ACTIONS(1162), + [anon_sym_nullptr] = ACTIONS(1162), + [sym_comment] = ACTIONS(3), + }, + [243] = { + [ts_builtin_sym_end] = ACTIONS(1168), + [sym_identifier] = ACTIONS(1166), + [aux_sym_preproc_include_token1] = ACTIONS(1166), + [aux_sym_preproc_def_token1] = ACTIONS(1166), + [aux_sym_preproc_if_token1] = ACTIONS(1166), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1166), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1166), + [sym_preproc_directive] = ACTIONS(1166), + [anon_sym_LPAREN2] = ACTIONS(1168), + [anon_sym_BANG] = ACTIONS(1168), + [anon_sym_TILDE] = ACTIONS(1168), + [anon_sym_DASH] = ACTIONS(1166), + [anon_sym_PLUS] = ACTIONS(1166), + [anon_sym_STAR] = ACTIONS(1168), + [anon_sym_AMP] = ACTIONS(1168), + [anon_sym_SEMI] = ACTIONS(1168), + [anon_sym___extension__] = ACTIONS(1166), + [anon_sym_typedef] = ACTIONS(1166), + [anon_sym_extern] = ACTIONS(1166), + [anon_sym___attribute__] = ACTIONS(1166), + [anon_sym___attribute] = ACTIONS(1166), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1168), + [anon_sym___declspec] = ACTIONS(1166), + [anon_sym___cdecl] = ACTIONS(1166), + [anon_sym___clrcall] = ACTIONS(1166), + [anon_sym___stdcall] = ACTIONS(1166), + [anon_sym___fastcall] = ACTIONS(1166), + [anon_sym___thiscall] = ACTIONS(1166), + [anon_sym___vectorcall] = ACTIONS(1166), + [anon_sym_LBRACE] = ACTIONS(1168), + [anon_sym_signed] = ACTIONS(1166), + [anon_sym_unsigned] = ACTIONS(1166), + [anon_sym_long] = ACTIONS(1166), + [anon_sym_short] = ACTIONS(1166), + [anon_sym_static] = ACTIONS(1166), + [anon_sym_auto] = ACTIONS(1166), + [anon_sym_register] = ACTIONS(1166), + [anon_sym_inline] = ACTIONS(1166), + [anon_sym___inline] = ACTIONS(1166), + [anon_sym___inline__] = ACTIONS(1166), + [anon_sym___forceinline] = ACTIONS(1166), + [anon_sym_thread_local] = ACTIONS(1166), + [anon_sym___thread] = ACTIONS(1166), + [anon_sym_const] = ACTIONS(1166), + [anon_sym_constexpr] = ACTIONS(1166), + [anon_sym_volatile] = ACTIONS(1166), + [anon_sym_restrict] = ACTIONS(1166), + [anon_sym___restrict__] = ACTIONS(1166), + [anon_sym__Atomic] = ACTIONS(1166), + [anon_sym__Noreturn] = ACTIONS(1166), + [anon_sym_noreturn] = ACTIONS(1166), + [anon_sym__Nonnull] = ACTIONS(1166), + [anon_sym_alignas] = ACTIONS(1166), + [anon_sym__Alignas] = ACTIONS(1166), + [sym_primitive_type] = ACTIONS(1166), + [anon_sym_enum] = ACTIONS(1166), + [anon_sym_struct] = ACTIONS(1166), + [anon_sym_union] = ACTIONS(1166), + [anon_sym_if] = ACTIONS(1166), + [anon_sym_else] = ACTIONS(1166), + [anon_sym_switch] = ACTIONS(1166), + [anon_sym_case] = ACTIONS(1166), + [anon_sym_default] = ACTIONS(1166), + [anon_sym_while] = ACTIONS(1166), + [anon_sym_do] = ACTIONS(1166), + [anon_sym_for] = ACTIONS(1166), + [anon_sym_return] = ACTIONS(1166), + [anon_sym_break] = ACTIONS(1166), + [anon_sym_continue] = ACTIONS(1166), + [anon_sym_goto] = ACTIONS(1166), + [anon_sym___try] = ACTIONS(1166), + [anon_sym___leave] = ACTIONS(1166), + [anon_sym_DASH_DASH] = ACTIONS(1168), + [anon_sym_PLUS_PLUS] = ACTIONS(1168), + [anon_sym_sizeof] = ACTIONS(1166), + [anon_sym___alignof__] = ACTIONS(1166), + [anon_sym___alignof] = ACTIONS(1166), + [anon_sym__alignof] = ACTIONS(1166), + [anon_sym_alignof] = ACTIONS(1166), + [anon_sym__Alignof] = ACTIONS(1166), + [anon_sym_offsetof] = ACTIONS(1166), + [anon_sym__Generic] = ACTIONS(1166), + [anon_sym_asm] = ACTIONS(1166), + [anon_sym___asm__] = ACTIONS(1166), + [anon_sym___asm] = ACTIONS(1166), + [sym_number_literal] = ACTIONS(1168), + [anon_sym_L_SQUOTE] = ACTIONS(1168), + [anon_sym_u_SQUOTE] = ACTIONS(1168), + [anon_sym_U_SQUOTE] = ACTIONS(1168), + [anon_sym_u8_SQUOTE] = ACTIONS(1168), + [anon_sym_SQUOTE] = ACTIONS(1168), + [anon_sym_L_DQUOTE] = ACTIONS(1168), + [anon_sym_u_DQUOTE] = ACTIONS(1168), + [anon_sym_U_DQUOTE] = ACTIONS(1168), + [anon_sym_u8_DQUOTE] = ACTIONS(1168), + [anon_sym_DQUOTE] = ACTIONS(1168), + [sym_true] = ACTIONS(1166), + [sym_false] = ACTIONS(1166), + [anon_sym_NULL] = ACTIONS(1166), + [anon_sym_nullptr] = ACTIONS(1166), + [sym_comment] = ACTIONS(3), + }, + [244] = { + [sym_identifier] = ACTIONS(1186), + [aux_sym_preproc_include_token1] = ACTIONS(1186), + [aux_sym_preproc_def_token1] = ACTIONS(1186), + [aux_sym_preproc_if_token1] = ACTIONS(1186), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1186), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1186), + [sym_preproc_directive] = ACTIONS(1186), + [anon_sym_LPAREN2] = ACTIONS(1188), + [anon_sym_BANG] = ACTIONS(1188), + [anon_sym_TILDE] = ACTIONS(1188), + [anon_sym_DASH] = ACTIONS(1186), + [anon_sym_PLUS] = ACTIONS(1186), + [anon_sym_STAR] = ACTIONS(1188), + [anon_sym_AMP] = ACTIONS(1188), + [anon_sym_SEMI] = ACTIONS(1188), + [anon_sym___extension__] = ACTIONS(1186), + [anon_sym_typedef] = ACTIONS(1186), + [anon_sym_extern] = ACTIONS(1186), + [anon_sym___attribute__] = ACTIONS(1186), + [anon_sym___attribute] = ACTIONS(1186), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1188), + [anon_sym___declspec] = ACTIONS(1186), + [anon_sym___cdecl] = ACTIONS(1186), + [anon_sym___clrcall] = ACTIONS(1186), + [anon_sym___stdcall] = ACTIONS(1186), + [anon_sym___fastcall] = ACTIONS(1186), + [anon_sym___thiscall] = ACTIONS(1186), + [anon_sym___vectorcall] = ACTIONS(1186), + [anon_sym_LBRACE] = ACTIONS(1188), + [anon_sym_RBRACE] = ACTIONS(1188), + [anon_sym_signed] = ACTIONS(1186), + [anon_sym_unsigned] = ACTIONS(1186), + [anon_sym_long] = ACTIONS(1186), + [anon_sym_short] = ACTIONS(1186), + [anon_sym_static] = ACTIONS(1186), + [anon_sym_auto] = ACTIONS(1186), + [anon_sym_register] = ACTIONS(1186), + [anon_sym_inline] = ACTIONS(1186), + [anon_sym___inline] = ACTIONS(1186), + [anon_sym___inline__] = ACTIONS(1186), + [anon_sym___forceinline] = ACTIONS(1186), + [anon_sym_thread_local] = ACTIONS(1186), + [anon_sym___thread] = ACTIONS(1186), + [anon_sym_const] = ACTIONS(1186), + [anon_sym_constexpr] = ACTIONS(1186), + [anon_sym_volatile] = ACTIONS(1186), + [anon_sym_restrict] = ACTIONS(1186), + [anon_sym___restrict__] = ACTIONS(1186), + [anon_sym__Atomic] = ACTIONS(1186), + [anon_sym__Noreturn] = ACTIONS(1186), + [anon_sym_noreturn] = ACTIONS(1186), + [anon_sym__Nonnull] = ACTIONS(1186), + [anon_sym_alignas] = ACTIONS(1186), + [anon_sym__Alignas] = ACTIONS(1186), + [sym_primitive_type] = ACTIONS(1186), + [anon_sym_enum] = ACTIONS(1186), + [anon_sym_struct] = ACTIONS(1186), + [anon_sym_union] = ACTIONS(1186), + [anon_sym_if] = ACTIONS(1186), + [anon_sym_else] = ACTIONS(1186), + [anon_sym_switch] = ACTIONS(1186), + [anon_sym_case] = ACTIONS(1186), + [anon_sym_default] = ACTIONS(1186), + [anon_sym_while] = ACTIONS(1186), + [anon_sym_do] = ACTIONS(1186), + [anon_sym_for] = ACTIONS(1186), + [anon_sym_return] = ACTIONS(1186), + [anon_sym_break] = ACTIONS(1186), + [anon_sym_continue] = ACTIONS(1186), + [anon_sym_goto] = ACTIONS(1186), + [anon_sym___try] = ACTIONS(1186), + [anon_sym___leave] = ACTIONS(1186), + [anon_sym_DASH_DASH] = ACTIONS(1188), + [anon_sym_PLUS_PLUS] = ACTIONS(1188), + [anon_sym_sizeof] = ACTIONS(1186), + [anon_sym___alignof__] = ACTIONS(1186), + [anon_sym___alignof] = ACTIONS(1186), + [anon_sym__alignof] = ACTIONS(1186), + [anon_sym_alignof] = ACTIONS(1186), + [anon_sym__Alignof] = ACTIONS(1186), + [anon_sym_offsetof] = ACTIONS(1186), + [anon_sym__Generic] = ACTIONS(1186), + [anon_sym_asm] = ACTIONS(1186), + [anon_sym___asm__] = ACTIONS(1186), + [anon_sym___asm] = ACTIONS(1186), + [sym_number_literal] = ACTIONS(1188), + [anon_sym_L_SQUOTE] = ACTIONS(1188), + [anon_sym_u_SQUOTE] = ACTIONS(1188), + [anon_sym_U_SQUOTE] = ACTIONS(1188), + [anon_sym_u8_SQUOTE] = ACTIONS(1188), + [anon_sym_SQUOTE] = ACTIONS(1188), + [anon_sym_L_DQUOTE] = ACTIONS(1188), + [anon_sym_u_DQUOTE] = ACTIONS(1188), + [anon_sym_U_DQUOTE] = ACTIONS(1188), + [anon_sym_u8_DQUOTE] = ACTIONS(1188), + [anon_sym_DQUOTE] = ACTIONS(1188), + [sym_true] = ACTIONS(1186), + [sym_false] = ACTIONS(1186), + [anon_sym_NULL] = ACTIONS(1186), + [anon_sym_nullptr] = ACTIONS(1186), + [sym_comment] = ACTIONS(3), + }, + [245] = { + [ts_builtin_sym_end] = ACTIONS(1244), + [sym_identifier] = ACTIONS(1242), + [aux_sym_preproc_include_token1] = ACTIONS(1242), + [aux_sym_preproc_def_token1] = ACTIONS(1242), + [aux_sym_preproc_if_token1] = ACTIONS(1242), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1242), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1242), + [sym_preproc_directive] = ACTIONS(1242), + [anon_sym_LPAREN2] = ACTIONS(1244), + [anon_sym_BANG] = ACTIONS(1244), + [anon_sym_TILDE] = ACTIONS(1244), + [anon_sym_DASH] = ACTIONS(1242), + [anon_sym_PLUS] = ACTIONS(1242), + [anon_sym_STAR] = ACTIONS(1244), + [anon_sym_AMP] = ACTIONS(1244), + [anon_sym_SEMI] = ACTIONS(1244), + [anon_sym___extension__] = ACTIONS(1242), + [anon_sym_typedef] = ACTIONS(1242), + [anon_sym_extern] = ACTIONS(1242), + [anon_sym___attribute__] = ACTIONS(1242), + [anon_sym___attribute] = ACTIONS(1242), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1244), + [anon_sym___declspec] = ACTIONS(1242), + [anon_sym___cdecl] = ACTIONS(1242), + [anon_sym___clrcall] = ACTIONS(1242), + [anon_sym___stdcall] = ACTIONS(1242), + [anon_sym___fastcall] = ACTIONS(1242), + [anon_sym___thiscall] = ACTIONS(1242), + [anon_sym___vectorcall] = ACTIONS(1242), + [anon_sym_LBRACE] = ACTIONS(1244), + [anon_sym_signed] = ACTIONS(1242), + [anon_sym_unsigned] = ACTIONS(1242), + [anon_sym_long] = ACTIONS(1242), + [anon_sym_short] = ACTIONS(1242), + [anon_sym_static] = ACTIONS(1242), + [anon_sym_auto] = ACTIONS(1242), + [anon_sym_register] = ACTIONS(1242), + [anon_sym_inline] = ACTIONS(1242), + [anon_sym___inline] = ACTIONS(1242), + [anon_sym___inline__] = ACTIONS(1242), + [anon_sym___forceinline] = ACTIONS(1242), + [anon_sym_thread_local] = ACTIONS(1242), + [anon_sym___thread] = ACTIONS(1242), + [anon_sym_const] = ACTIONS(1242), + [anon_sym_constexpr] = ACTIONS(1242), + [anon_sym_volatile] = ACTIONS(1242), + [anon_sym_restrict] = ACTIONS(1242), + [anon_sym___restrict__] = ACTIONS(1242), + [anon_sym__Atomic] = ACTIONS(1242), + [anon_sym__Noreturn] = ACTIONS(1242), + [anon_sym_noreturn] = ACTIONS(1242), + [anon_sym__Nonnull] = ACTIONS(1242), + [anon_sym_alignas] = ACTIONS(1242), + [anon_sym__Alignas] = ACTIONS(1242), + [sym_primitive_type] = ACTIONS(1242), + [anon_sym_enum] = ACTIONS(1242), + [anon_sym_struct] = ACTIONS(1242), + [anon_sym_union] = ACTIONS(1242), + [anon_sym_if] = ACTIONS(1242), + [anon_sym_else] = ACTIONS(1242), + [anon_sym_switch] = ACTIONS(1242), + [anon_sym_case] = ACTIONS(1242), + [anon_sym_default] = ACTIONS(1242), + [anon_sym_while] = ACTIONS(1242), + [anon_sym_do] = ACTIONS(1242), + [anon_sym_for] = ACTIONS(1242), + [anon_sym_return] = ACTIONS(1242), + [anon_sym_break] = ACTIONS(1242), + [anon_sym_continue] = ACTIONS(1242), + [anon_sym_goto] = ACTIONS(1242), + [anon_sym___try] = ACTIONS(1242), + [anon_sym___leave] = ACTIONS(1242), + [anon_sym_DASH_DASH] = ACTIONS(1244), + [anon_sym_PLUS_PLUS] = ACTIONS(1244), + [anon_sym_sizeof] = ACTIONS(1242), + [anon_sym___alignof__] = ACTIONS(1242), + [anon_sym___alignof] = ACTIONS(1242), + [anon_sym__alignof] = ACTIONS(1242), + [anon_sym_alignof] = ACTIONS(1242), + [anon_sym__Alignof] = ACTIONS(1242), + [anon_sym_offsetof] = ACTIONS(1242), + [anon_sym__Generic] = ACTIONS(1242), + [anon_sym_asm] = ACTIONS(1242), + [anon_sym___asm__] = ACTIONS(1242), + [anon_sym___asm] = ACTIONS(1242), + [sym_number_literal] = ACTIONS(1244), + [anon_sym_L_SQUOTE] = ACTIONS(1244), + [anon_sym_u_SQUOTE] = ACTIONS(1244), + [anon_sym_U_SQUOTE] = ACTIONS(1244), + [anon_sym_u8_SQUOTE] = ACTIONS(1244), + [anon_sym_SQUOTE] = ACTIONS(1244), + [anon_sym_L_DQUOTE] = ACTIONS(1244), + [anon_sym_u_DQUOTE] = ACTIONS(1244), + [anon_sym_U_DQUOTE] = ACTIONS(1244), + [anon_sym_u8_DQUOTE] = ACTIONS(1244), + [anon_sym_DQUOTE] = ACTIONS(1244), + [sym_true] = ACTIONS(1242), + [sym_false] = ACTIONS(1242), + [anon_sym_NULL] = ACTIONS(1242), + [anon_sym_nullptr] = ACTIONS(1242), + [sym_comment] = ACTIONS(3), + }, + [246] = { + [ts_builtin_sym_end] = ACTIONS(1184), + [sym_identifier] = ACTIONS(1182), + [aux_sym_preproc_include_token1] = ACTIONS(1182), + [aux_sym_preproc_def_token1] = ACTIONS(1182), + [aux_sym_preproc_if_token1] = ACTIONS(1182), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1182), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1182), + [sym_preproc_directive] = ACTIONS(1182), + [anon_sym_LPAREN2] = ACTIONS(1184), + [anon_sym_BANG] = ACTIONS(1184), + [anon_sym_TILDE] = ACTIONS(1184), + [anon_sym_DASH] = ACTIONS(1182), + [anon_sym_PLUS] = ACTIONS(1182), + [anon_sym_STAR] = ACTIONS(1184), + [anon_sym_AMP] = ACTIONS(1184), + [anon_sym_SEMI] = ACTIONS(1184), + [anon_sym___extension__] = ACTIONS(1182), + [anon_sym_typedef] = ACTIONS(1182), + [anon_sym_extern] = ACTIONS(1182), + [anon_sym___attribute__] = ACTIONS(1182), + [anon_sym___attribute] = ACTIONS(1182), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1184), + [anon_sym___declspec] = ACTIONS(1182), + [anon_sym___cdecl] = ACTIONS(1182), + [anon_sym___clrcall] = ACTIONS(1182), + [anon_sym___stdcall] = ACTIONS(1182), + [anon_sym___fastcall] = ACTIONS(1182), + [anon_sym___thiscall] = ACTIONS(1182), + [anon_sym___vectorcall] = ACTIONS(1182), + [anon_sym_LBRACE] = ACTIONS(1184), + [anon_sym_signed] = ACTIONS(1182), + [anon_sym_unsigned] = ACTIONS(1182), + [anon_sym_long] = ACTIONS(1182), + [anon_sym_short] = ACTIONS(1182), + [anon_sym_static] = ACTIONS(1182), + [anon_sym_auto] = ACTIONS(1182), + [anon_sym_register] = ACTIONS(1182), + [anon_sym_inline] = ACTIONS(1182), + [anon_sym___inline] = ACTIONS(1182), + [anon_sym___inline__] = ACTIONS(1182), + [anon_sym___forceinline] = ACTIONS(1182), + [anon_sym_thread_local] = ACTIONS(1182), + [anon_sym___thread] = ACTIONS(1182), + [anon_sym_const] = ACTIONS(1182), + [anon_sym_constexpr] = ACTIONS(1182), + [anon_sym_volatile] = ACTIONS(1182), + [anon_sym_restrict] = ACTIONS(1182), + [anon_sym___restrict__] = ACTIONS(1182), + [anon_sym__Atomic] = ACTIONS(1182), + [anon_sym__Noreturn] = ACTIONS(1182), + [anon_sym_noreturn] = ACTIONS(1182), + [anon_sym__Nonnull] = ACTIONS(1182), + [anon_sym_alignas] = ACTIONS(1182), + [anon_sym__Alignas] = ACTIONS(1182), + [sym_primitive_type] = ACTIONS(1182), + [anon_sym_enum] = ACTIONS(1182), + [anon_sym_struct] = ACTIONS(1182), + [anon_sym_union] = ACTIONS(1182), + [anon_sym_if] = ACTIONS(1182), + [anon_sym_else] = ACTIONS(1182), + [anon_sym_switch] = ACTIONS(1182), + [anon_sym_case] = ACTIONS(1182), + [anon_sym_default] = ACTIONS(1182), + [anon_sym_while] = ACTIONS(1182), + [anon_sym_do] = ACTIONS(1182), + [anon_sym_for] = ACTIONS(1182), + [anon_sym_return] = ACTIONS(1182), + [anon_sym_break] = ACTIONS(1182), + [anon_sym_continue] = ACTIONS(1182), + [anon_sym_goto] = ACTIONS(1182), + [anon_sym___try] = ACTIONS(1182), + [anon_sym___leave] = ACTIONS(1182), + [anon_sym_DASH_DASH] = ACTIONS(1184), + [anon_sym_PLUS_PLUS] = ACTIONS(1184), + [anon_sym_sizeof] = ACTIONS(1182), + [anon_sym___alignof__] = ACTIONS(1182), + [anon_sym___alignof] = ACTIONS(1182), + [anon_sym__alignof] = ACTIONS(1182), + [anon_sym_alignof] = ACTIONS(1182), + [anon_sym__Alignof] = ACTIONS(1182), + [anon_sym_offsetof] = ACTIONS(1182), + [anon_sym__Generic] = ACTIONS(1182), + [anon_sym_asm] = ACTIONS(1182), + [anon_sym___asm__] = ACTIONS(1182), + [anon_sym___asm] = ACTIONS(1182), + [sym_number_literal] = ACTIONS(1184), + [anon_sym_L_SQUOTE] = ACTIONS(1184), + [anon_sym_u_SQUOTE] = ACTIONS(1184), + [anon_sym_U_SQUOTE] = ACTIONS(1184), + [anon_sym_u8_SQUOTE] = ACTIONS(1184), + [anon_sym_SQUOTE] = ACTIONS(1184), + [anon_sym_L_DQUOTE] = ACTIONS(1184), + [anon_sym_u_DQUOTE] = ACTIONS(1184), + [anon_sym_U_DQUOTE] = ACTIONS(1184), + [anon_sym_u8_DQUOTE] = ACTIONS(1184), + [anon_sym_DQUOTE] = ACTIONS(1184), + [sym_true] = ACTIONS(1182), + [sym_false] = ACTIONS(1182), + [anon_sym_NULL] = ACTIONS(1182), + [anon_sym_nullptr] = ACTIONS(1182), + [sym_comment] = ACTIONS(3), + }, + [247] = { + [ts_builtin_sym_end] = ACTIONS(1172), + [sym_identifier] = ACTIONS(1170), + [aux_sym_preproc_include_token1] = ACTIONS(1170), + [aux_sym_preproc_def_token1] = ACTIONS(1170), + [aux_sym_preproc_if_token1] = ACTIONS(1170), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1170), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1170), + [sym_preproc_directive] = ACTIONS(1170), + [anon_sym_LPAREN2] = ACTIONS(1172), + [anon_sym_BANG] = ACTIONS(1172), + [anon_sym_TILDE] = ACTIONS(1172), + [anon_sym_DASH] = ACTIONS(1170), + [anon_sym_PLUS] = ACTIONS(1170), + [anon_sym_STAR] = ACTIONS(1172), + [anon_sym_AMP] = ACTIONS(1172), + [anon_sym_SEMI] = ACTIONS(1172), + [anon_sym___extension__] = ACTIONS(1170), + [anon_sym_typedef] = ACTIONS(1170), + [anon_sym_extern] = ACTIONS(1170), + [anon_sym___attribute__] = ACTIONS(1170), + [anon_sym___attribute] = ACTIONS(1170), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1172), + [anon_sym___declspec] = ACTIONS(1170), + [anon_sym___cdecl] = ACTIONS(1170), + [anon_sym___clrcall] = ACTIONS(1170), + [anon_sym___stdcall] = ACTIONS(1170), + [anon_sym___fastcall] = ACTIONS(1170), + [anon_sym___thiscall] = ACTIONS(1170), + [anon_sym___vectorcall] = ACTIONS(1170), + [anon_sym_LBRACE] = ACTIONS(1172), + [anon_sym_signed] = ACTIONS(1170), + [anon_sym_unsigned] = ACTIONS(1170), + [anon_sym_long] = ACTIONS(1170), + [anon_sym_short] = ACTIONS(1170), + [anon_sym_static] = ACTIONS(1170), + [anon_sym_auto] = ACTIONS(1170), + [anon_sym_register] = ACTIONS(1170), + [anon_sym_inline] = ACTIONS(1170), + [anon_sym___inline] = ACTIONS(1170), + [anon_sym___inline__] = ACTIONS(1170), + [anon_sym___forceinline] = ACTIONS(1170), + [anon_sym_thread_local] = ACTIONS(1170), + [anon_sym___thread] = ACTIONS(1170), + [anon_sym_const] = ACTIONS(1170), + [anon_sym_constexpr] = ACTIONS(1170), + [anon_sym_volatile] = ACTIONS(1170), + [anon_sym_restrict] = ACTIONS(1170), + [anon_sym___restrict__] = ACTIONS(1170), + [anon_sym__Atomic] = ACTIONS(1170), + [anon_sym__Noreturn] = ACTIONS(1170), + [anon_sym_noreturn] = ACTIONS(1170), + [anon_sym__Nonnull] = ACTIONS(1170), + [anon_sym_alignas] = ACTIONS(1170), + [anon_sym__Alignas] = ACTIONS(1170), + [sym_primitive_type] = ACTIONS(1170), + [anon_sym_enum] = ACTIONS(1170), + [anon_sym_struct] = ACTIONS(1170), + [anon_sym_union] = ACTIONS(1170), + [anon_sym_if] = ACTIONS(1170), + [anon_sym_else] = ACTIONS(1170), + [anon_sym_switch] = ACTIONS(1170), + [anon_sym_case] = ACTIONS(1170), + [anon_sym_default] = ACTIONS(1170), + [anon_sym_while] = ACTIONS(1170), + [anon_sym_do] = ACTIONS(1170), + [anon_sym_for] = ACTIONS(1170), + [anon_sym_return] = ACTIONS(1170), + [anon_sym_break] = ACTIONS(1170), + [anon_sym_continue] = ACTIONS(1170), + [anon_sym_goto] = ACTIONS(1170), + [anon_sym___try] = ACTIONS(1170), + [anon_sym___leave] = ACTIONS(1170), + [anon_sym_DASH_DASH] = ACTIONS(1172), + [anon_sym_PLUS_PLUS] = ACTIONS(1172), + [anon_sym_sizeof] = ACTIONS(1170), + [anon_sym___alignof__] = ACTIONS(1170), + [anon_sym___alignof] = ACTIONS(1170), + [anon_sym__alignof] = ACTIONS(1170), + [anon_sym_alignof] = ACTIONS(1170), + [anon_sym__Alignof] = ACTIONS(1170), + [anon_sym_offsetof] = ACTIONS(1170), + [anon_sym__Generic] = ACTIONS(1170), + [anon_sym_asm] = ACTIONS(1170), + [anon_sym___asm__] = ACTIONS(1170), + [anon_sym___asm] = ACTIONS(1170), + [sym_number_literal] = ACTIONS(1172), + [anon_sym_L_SQUOTE] = ACTIONS(1172), + [anon_sym_u_SQUOTE] = ACTIONS(1172), + [anon_sym_U_SQUOTE] = ACTIONS(1172), + [anon_sym_u8_SQUOTE] = ACTIONS(1172), + [anon_sym_SQUOTE] = ACTIONS(1172), + [anon_sym_L_DQUOTE] = ACTIONS(1172), + [anon_sym_u_DQUOTE] = ACTIONS(1172), + [anon_sym_U_DQUOTE] = ACTIONS(1172), + [anon_sym_u8_DQUOTE] = ACTIONS(1172), + [anon_sym_DQUOTE] = ACTIONS(1172), + [sym_true] = ACTIONS(1170), + [sym_false] = ACTIONS(1170), + [anon_sym_NULL] = ACTIONS(1170), + [anon_sym_nullptr] = ACTIONS(1170), + [sym_comment] = ACTIONS(3), + }, + [248] = { + [ts_builtin_sym_end] = ACTIONS(1176), + [sym_identifier] = ACTIONS(1174), + [aux_sym_preproc_include_token1] = ACTIONS(1174), + [aux_sym_preproc_def_token1] = ACTIONS(1174), + [aux_sym_preproc_if_token1] = ACTIONS(1174), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1174), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1174), + [sym_preproc_directive] = ACTIONS(1174), + [anon_sym_LPAREN2] = ACTIONS(1176), + [anon_sym_BANG] = ACTIONS(1176), + [anon_sym_TILDE] = ACTIONS(1176), + [anon_sym_DASH] = ACTIONS(1174), + [anon_sym_PLUS] = ACTIONS(1174), + [anon_sym_STAR] = ACTIONS(1176), + [anon_sym_AMP] = ACTIONS(1176), + [anon_sym_SEMI] = ACTIONS(1176), + [anon_sym___extension__] = ACTIONS(1174), + [anon_sym_typedef] = ACTIONS(1174), + [anon_sym_extern] = ACTIONS(1174), + [anon_sym___attribute__] = ACTIONS(1174), + [anon_sym___attribute] = ACTIONS(1174), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1176), + [anon_sym___declspec] = ACTIONS(1174), + [anon_sym___cdecl] = ACTIONS(1174), + [anon_sym___clrcall] = ACTIONS(1174), + [anon_sym___stdcall] = ACTIONS(1174), + [anon_sym___fastcall] = ACTIONS(1174), + [anon_sym___thiscall] = ACTIONS(1174), + [anon_sym___vectorcall] = ACTIONS(1174), + [anon_sym_LBRACE] = ACTIONS(1176), + [anon_sym_signed] = ACTIONS(1174), + [anon_sym_unsigned] = ACTIONS(1174), + [anon_sym_long] = ACTIONS(1174), + [anon_sym_short] = ACTIONS(1174), + [anon_sym_static] = ACTIONS(1174), + [anon_sym_auto] = ACTIONS(1174), + [anon_sym_register] = ACTIONS(1174), + [anon_sym_inline] = ACTIONS(1174), + [anon_sym___inline] = ACTIONS(1174), + [anon_sym___inline__] = ACTIONS(1174), + [anon_sym___forceinline] = ACTIONS(1174), + [anon_sym_thread_local] = ACTIONS(1174), + [anon_sym___thread] = ACTIONS(1174), + [anon_sym_const] = ACTIONS(1174), + [anon_sym_constexpr] = ACTIONS(1174), + [anon_sym_volatile] = ACTIONS(1174), + [anon_sym_restrict] = ACTIONS(1174), + [anon_sym___restrict__] = ACTIONS(1174), + [anon_sym__Atomic] = ACTIONS(1174), + [anon_sym__Noreturn] = ACTIONS(1174), + [anon_sym_noreturn] = ACTIONS(1174), + [anon_sym__Nonnull] = ACTIONS(1174), + [anon_sym_alignas] = ACTIONS(1174), + [anon_sym__Alignas] = ACTIONS(1174), + [sym_primitive_type] = ACTIONS(1174), + [anon_sym_enum] = ACTIONS(1174), + [anon_sym_struct] = ACTIONS(1174), + [anon_sym_union] = ACTIONS(1174), + [anon_sym_if] = ACTIONS(1174), + [anon_sym_else] = ACTIONS(1174), + [anon_sym_switch] = ACTIONS(1174), + [anon_sym_case] = ACTIONS(1174), + [anon_sym_default] = ACTIONS(1174), + [anon_sym_while] = ACTIONS(1174), + [anon_sym_do] = ACTIONS(1174), + [anon_sym_for] = ACTIONS(1174), + [anon_sym_return] = ACTIONS(1174), + [anon_sym_break] = ACTIONS(1174), + [anon_sym_continue] = ACTIONS(1174), + [anon_sym_goto] = ACTIONS(1174), + [anon_sym___try] = ACTIONS(1174), + [anon_sym___leave] = ACTIONS(1174), + [anon_sym_DASH_DASH] = ACTIONS(1176), + [anon_sym_PLUS_PLUS] = ACTIONS(1176), + [anon_sym_sizeof] = ACTIONS(1174), + [anon_sym___alignof__] = ACTIONS(1174), + [anon_sym___alignof] = ACTIONS(1174), + [anon_sym__alignof] = ACTIONS(1174), + [anon_sym_alignof] = ACTIONS(1174), + [anon_sym__Alignof] = ACTIONS(1174), + [anon_sym_offsetof] = ACTIONS(1174), + [anon_sym__Generic] = ACTIONS(1174), + [anon_sym_asm] = ACTIONS(1174), + [anon_sym___asm__] = ACTIONS(1174), + [anon_sym___asm] = ACTIONS(1174), + [sym_number_literal] = ACTIONS(1176), + [anon_sym_L_SQUOTE] = ACTIONS(1176), + [anon_sym_u_SQUOTE] = ACTIONS(1176), + [anon_sym_U_SQUOTE] = ACTIONS(1176), + [anon_sym_u8_SQUOTE] = ACTIONS(1176), + [anon_sym_SQUOTE] = ACTIONS(1176), + [anon_sym_L_DQUOTE] = ACTIONS(1176), + [anon_sym_u_DQUOTE] = ACTIONS(1176), + [anon_sym_U_DQUOTE] = ACTIONS(1176), + [anon_sym_u8_DQUOTE] = ACTIONS(1176), + [anon_sym_DQUOTE] = ACTIONS(1176), + [sym_true] = ACTIONS(1174), + [sym_false] = ACTIONS(1174), + [anon_sym_NULL] = ACTIONS(1174), + [anon_sym_nullptr] = ACTIONS(1174), + [sym_comment] = ACTIONS(3), + }, + [249] = { + [ts_builtin_sym_end] = ACTIONS(1176), + [sym_identifier] = ACTIONS(1174), + [aux_sym_preproc_include_token1] = ACTIONS(1174), + [aux_sym_preproc_def_token1] = ACTIONS(1174), + [aux_sym_preproc_if_token1] = ACTIONS(1174), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1174), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1174), + [sym_preproc_directive] = ACTIONS(1174), + [anon_sym_LPAREN2] = ACTIONS(1176), + [anon_sym_BANG] = ACTIONS(1176), + [anon_sym_TILDE] = ACTIONS(1176), + [anon_sym_DASH] = ACTIONS(1174), + [anon_sym_PLUS] = ACTIONS(1174), + [anon_sym_STAR] = ACTIONS(1176), + [anon_sym_AMP] = ACTIONS(1176), + [anon_sym_SEMI] = ACTIONS(1176), + [anon_sym___extension__] = ACTIONS(1174), + [anon_sym_typedef] = ACTIONS(1174), + [anon_sym_extern] = ACTIONS(1174), + [anon_sym___attribute__] = ACTIONS(1174), + [anon_sym___attribute] = ACTIONS(1174), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1176), + [anon_sym___declspec] = ACTIONS(1174), + [anon_sym___cdecl] = ACTIONS(1174), + [anon_sym___clrcall] = ACTIONS(1174), + [anon_sym___stdcall] = ACTIONS(1174), + [anon_sym___fastcall] = ACTIONS(1174), + [anon_sym___thiscall] = ACTIONS(1174), + [anon_sym___vectorcall] = ACTIONS(1174), + [anon_sym_LBRACE] = ACTIONS(1176), + [anon_sym_signed] = ACTIONS(1174), + [anon_sym_unsigned] = ACTIONS(1174), + [anon_sym_long] = ACTIONS(1174), + [anon_sym_short] = ACTIONS(1174), + [anon_sym_static] = ACTIONS(1174), + [anon_sym_auto] = ACTIONS(1174), + [anon_sym_register] = ACTIONS(1174), + [anon_sym_inline] = ACTIONS(1174), + [anon_sym___inline] = ACTIONS(1174), + [anon_sym___inline__] = ACTIONS(1174), + [anon_sym___forceinline] = ACTIONS(1174), + [anon_sym_thread_local] = ACTIONS(1174), + [anon_sym___thread] = ACTIONS(1174), + [anon_sym_const] = ACTIONS(1174), + [anon_sym_constexpr] = ACTIONS(1174), + [anon_sym_volatile] = ACTIONS(1174), + [anon_sym_restrict] = ACTIONS(1174), + [anon_sym___restrict__] = ACTIONS(1174), + [anon_sym__Atomic] = ACTIONS(1174), + [anon_sym__Noreturn] = ACTIONS(1174), + [anon_sym_noreturn] = ACTIONS(1174), + [anon_sym__Nonnull] = ACTIONS(1174), + [anon_sym_alignas] = ACTIONS(1174), + [anon_sym__Alignas] = ACTIONS(1174), + [sym_primitive_type] = ACTIONS(1174), + [anon_sym_enum] = ACTIONS(1174), + [anon_sym_struct] = ACTIONS(1174), + [anon_sym_union] = ACTIONS(1174), + [anon_sym_if] = ACTIONS(1174), + [anon_sym_else] = ACTIONS(1174), + [anon_sym_switch] = ACTIONS(1174), + [anon_sym_case] = ACTIONS(1174), + [anon_sym_default] = ACTIONS(1174), + [anon_sym_while] = ACTIONS(1174), + [anon_sym_do] = ACTIONS(1174), + [anon_sym_for] = ACTIONS(1174), + [anon_sym_return] = ACTIONS(1174), + [anon_sym_break] = ACTIONS(1174), + [anon_sym_continue] = ACTIONS(1174), + [anon_sym_goto] = ACTIONS(1174), + [anon_sym___try] = ACTIONS(1174), + [anon_sym___leave] = ACTIONS(1174), + [anon_sym_DASH_DASH] = ACTIONS(1176), + [anon_sym_PLUS_PLUS] = ACTIONS(1176), + [anon_sym_sizeof] = ACTIONS(1174), + [anon_sym___alignof__] = ACTIONS(1174), + [anon_sym___alignof] = ACTIONS(1174), + [anon_sym__alignof] = ACTIONS(1174), + [anon_sym_alignof] = ACTIONS(1174), + [anon_sym__Alignof] = ACTIONS(1174), + [anon_sym_offsetof] = ACTIONS(1174), + [anon_sym__Generic] = ACTIONS(1174), + [anon_sym_asm] = ACTIONS(1174), + [anon_sym___asm__] = ACTIONS(1174), + [anon_sym___asm] = ACTIONS(1174), + [sym_number_literal] = ACTIONS(1176), + [anon_sym_L_SQUOTE] = ACTIONS(1176), + [anon_sym_u_SQUOTE] = ACTIONS(1176), + [anon_sym_U_SQUOTE] = ACTIONS(1176), + [anon_sym_u8_SQUOTE] = ACTIONS(1176), + [anon_sym_SQUOTE] = ACTIONS(1176), + [anon_sym_L_DQUOTE] = ACTIONS(1176), + [anon_sym_u_DQUOTE] = ACTIONS(1176), + [anon_sym_U_DQUOTE] = ACTIONS(1176), + [anon_sym_u8_DQUOTE] = ACTIONS(1176), + [anon_sym_DQUOTE] = ACTIONS(1176), + [sym_true] = ACTIONS(1174), + [sym_false] = ACTIONS(1174), + [anon_sym_NULL] = ACTIONS(1174), + [anon_sym_nullptr] = ACTIONS(1174), + [sym_comment] = ACTIONS(3), + }, + [250] = { + [sym_identifier] = ACTIONS(1234), + [aux_sym_preproc_include_token1] = ACTIONS(1234), + [aux_sym_preproc_def_token1] = ACTIONS(1234), + [aux_sym_preproc_if_token1] = ACTIONS(1234), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1234), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1234), + [sym_preproc_directive] = ACTIONS(1234), + [anon_sym_LPAREN2] = ACTIONS(1236), + [anon_sym_BANG] = ACTIONS(1236), + [anon_sym_TILDE] = ACTIONS(1236), + [anon_sym_DASH] = ACTIONS(1234), + [anon_sym_PLUS] = ACTIONS(1234), + [anon_sym_STAR] = ACTIONS(1236), + [anon_sym_AMP] = ACTIONS(1236), + [anon_sym_SEMI] = ACTIONS(1236), + [anon_sym___extension__] = ACTIONS(1234), + [anon_sym_typedef] = ACTIONS(1234), + [anon_sym_extern] = ACTIONS(1234), + [anon_sym___attribute__] = ACTIONS(1234), + [anon_sym___attribute] = ACTIONS(1234), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1236), + [anon_sym___declspec] = ACTIONS(1234), + [anon_sym___cdecl] = ACTIONS(1234), + [anon_sym___clrcall] = ACTIONS(1234), + [anon_sym___stdcall] = ACTIONS(1234), + [anon_sym___fastcall] = ACTIONS(1234), + [anon_sym___thiscall] = ACTIONS(1234), + [anon_sym___vectorcall] = ACTIONS(1234), + [anon_sym_LBRACE] = ACTIONS(1236), + [anon_sym_RBRACE] = ACTIONS(1236), + [anon_sym_signed] = ACTIONS(1234), + [anon_sym_unsigned] = ACTIONS(1234), + [anon_sym_long] = ACTIONS(1234), + [anon_sym_short] = ACTIONS(1234), + [anon_sym_static] = ACTIONS(1234), + [anon_sym_auto] = ACTIONS(1234), + [anon_sym_register] = ACTIONS(1234), + [anon_sym_inline] = ACTIONS(1234), + [anon_sym___inline] = ACTIONS(1234), + [anon_sym___inline__] = ACTIONS(1234), + [anon_sym___forceinline] = ACTIONS(1234), + [anon_sym_thread_local] = ACTIONS(1234), + [anon_sym___thread] = ACTIONS(1234), + [anon_sym_const] = ACTIONS(1234), + [anon_sym_constexpr] = ACTIONS(1234), + [anon_sym_volatile] = ACTIONS(1234), + [anon_sym_restrict] = ACTIONS(1234), + [anon_sym___restrict__] = ACTIONS(1234), + [anon_sym__Atomic] = ACTIONS(1234), + [anon_sym__Noreturn] = ACTIONS(1234), + [anon_sym_noreturn] = ACTIONS(1234), + [anon_sym__Nonnull] = ACTIONS(1234), + [anon_sym_alignas] = ACTIONS(1234), + [anon_sym__Alignas] = ACTIONS(1234), + [sym_primitive_type] = ACTIONS(1234), + [anon_sym_enum] = ACTIONS(1234), + [anon_sym_struct] = ACTIONS(1234), + [anon_sym_union] = ACTIONS(1234), + [anon_sym_if] = ACTIONS(1234), + [anon_sym_else] = ACTIONS(1234), + [anon_sym_switch] = ACTIONS(1234), + [anon_sym_case] = ACTIONS(1234), + [anon_sym_default] = ACTIONS(1234), + [anon_sym_while] = ACTIONS(1234), + [anon_sym_do] = ACTIONS(1234), + [anon_sym_for] = ACTIONS(1234), + [anon_sym_return] = ACTIONS(1234), + [anon_sym_break] = ACTIONS(1234), + [anon_sym_continue] = ACTIONS(1234), + [anon_sym_goto] = ACTIONS(1234), + [anon_sym___try] = ACTIONS(1234), + [anon_sym___leave] = ACTIONS(1234), + [anon_sym_DASH_DASH] = ACTIONS(1236), + [anon_sym_PLUS_PLUS] = ACTIONS(1236), + [anon_sym_sizeof] = ACTIONS(1234), + [anon_sym___alignof__] = ACTIONS(1234), + [anon_sym___alignof] = ACTIONS(1234), + [anon_sym__alignof] = ACTIONS(1234), + [anon_sym_alignof] = ACTIONS(1234), + [anon_sym__Alignof] = ACTIONS(1234), + [anon_sym_offsetof] = ACTIONS(1234), + [anon_sym__Generic] = ACTIONS(1234), + [anon_sym_asm] = ACTIONS(1234), + [anon_sym___asm__] = ACTIONS(1234), + [anon_sym___asm] = ACTIONS(1234), + [sym_number_literal] = ACTIONS(1236), + [anon_sym_L_SQUOTE] = ACTIONS(1236), + [anon_sym_u_SQUOTE] = ACTIONS(1236), + [anon_sym_U_SQUOTE] = ACTIONS(1236), + [anon_sym_u8_SQUOTE] = ACTIONS(1236), + [anon_sym_SQUOTE] = ACTIONS(1236), + [anon_sym_L_DQUOTE] = ACTIONS(1236), + [anon_sym_u_DQUOTE] = ACTIONS(1236), + [anon_sym_U_DQUOTE] = ACTIONS(1236), + [anon_sym_u8_DQUOTE] = ACTIONS(1236), + [anon_sym_DQUOTE] = ACTIONS(1236), + [sym_true] = ACTIONS(1234), + [sym_false] = ACTIONS(1234), + [anon_sym_NULL] = ACTIONS(1234), + [anon_sym_nullptr] = ACTIONS(1234), + [sym_comment] = ACTIONS(3), + }, + [251] = { + [sym_identifier] = ACTIONS(1222), + [aux_sym_preproc_include_token1] = ACTIONS(1222), + [aux_sym_preproc_def_token1] = ACTIONS(1222), + [aux_sym_preproc_if_token1] = ACTIONS(1222), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1222), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1222), + [sym_preproc_directive] = ACTIONS(1222), + [anon_sym_LPAREN2] = ACTIONS(1224), + [anon_sym_BANG] = ACTIONS(1224), + [anon_sym_TILDE] = ACTIONS(1224), + [anon_sym_DASH] = ACTIONS(1222), + [anon_sym_PLUS] = ACTIONS(1222), + [anon_sym_STAR] = ACTIONS(1224), + [anon_sym_AMP] = ACTIONS(1224), + [anon_sym_SEMI] = ACTIONS(1224), + [anon_sym___extension__] = ACTIONS(1222), + [anon_sym_typedef] = ACTIONS(1222), + [anon_sym_extern] = ACTIONS(1222), + [anon_sym___attribute__] = ACTIONS(1222), + [anon_sym___attribute] = ACTIONS(1222), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1224), + [anon_sym___declspec] = ACTIONS(1222), + [anon_sym___cdecl] = ACTIONS(1222), + [anon_sym___clrcall] = ACTIONS(1222), + [anon_sym___stdcall] = ACTIONS(1222), + [anon_sym___fastcall] = ACTIONS(1222), + [anon_sym___thiscall] = ACTIONS(1222), + [anon_sym___vectorcall] = ACTIONS(1222), + [anon_sym_LBRACE] = ACTIONS(1224), + [anon_sym_RBRACE] = ACTIONS(1224), + [anon_sym_signed] = ACTIONS(1222), + [anon_sym_unsigned] = ACTIONS(1222), + [anon_sym_long] = ACTIONS(1222), + [anon_sym_short] = ACTIONS(1222), + [anon_sym_static] = ACTIONS(1222), + [anon_sym_auto] = ACTIONS(1222), + [anon_sym_register] = ACTIONS(1222), + [anon_sym_inline] = ACTIONS(1222), + [anon_sym___inline] = ACTIONS(1222), + [anon_sym___inline__] = ACTIONS(1222), + [anon_sym___forceinline] = ACTIONS(1222), + [anon_sym_thread_local] = ACTIONS(1222), + [anon_sym___thread] = ACTIONS(1222), + [anon_sym_const] = ACTIONS(1222), + [anon_sym_constexpr] = ACTIONS(1222), + [anon_sym_volatile] = ACTIONS(1222), + [anon_sym_restrict] = ACTIONS(1222), + [anon_sym___restrict__] = ACTIONS(1222), + [anon_sym__Atomic] = ACTIONS(1222), + [anon_sym__Noreturn] = ACTIONS(1222), + [anon_sym_noreturn] = ACTIONS(1222), + [anon_sym__Nonnull] = ACTIONS(1222), + [anon_sym_alignas] = ACTIONS(1222), + [anon_sym__Alignas] = ACTIONS(1222), + [sym_primitive_type] = ACTIONS(1222), + [anon_sym_enum] = ACTIONS(1222), + [anon_sym_struct] = ACTIONS(1222), + [anon_sym_union] = ACTIONS(1222), + [anon_sym_if] = ACTIONS(1222), + [anon_sym_else] = ACTIONS(1222), + [anon_sym_switch] = ACTIONS(1222), + [anon_sym_case] = ACTIONS(1222), + [anon_sym_default] = ACTIONS(1222), + [anon_sym_while] = ACTIONS(1222), + [anon_sym_do] = ACTIONS(1222), + [anon_sym_for] = ACTIONS(1222), + [anon_sym_return] = ACTIONS(1222), + [anon_sym_break] = ACTIONS(1222), + [anon_sym_continue] = ACTIONS(1222), + [anon_sym_goto] = ACTIONS(1222), + [anon_sym___try] = ACTIONS(1222), + [anon_sym___leave] = ACTIONS(1222), + [anon_sym_DASH_DASH] = ACTIONS(1224), + [anon_sym_PLUS_PLUS] = ACTIONS(1224), + [anon_sym_sizeof] = ACTIONS(1222), + [anon_sym___alignof__] = ACTIONS(1222), + [anon_sym___alignof] = ACTIONS(1222), + [anon_sym__alignof] = ACTIONS(1222), + [anon_sym_alignof] = ACTIONS(1222), + [anon_sym__Alignof] = ACTIONS(1222), + [anon_sym_offsetof] = ACTIONS(1222), + [anon_sym__Generic] = ACTIONS(1222), + [anon_sym_asm] = ACTIONS(1222), + [anon_sym___asm__] = ACTIONS(1222), + [anon_sym___asm] = ACTIONS(1222), + [sym_number_literal] = ACTIONS(1224), + [anon_sym_L_SQUOTE] = ACTIONS(1224), + [anon_sym_u_SQUOTE] = ACTIONS(1224), + [anon_sym_U_SQUOTE] = ACTIONS(1224), + [anon_sym_u8_SQUOTE] = ACTIONS(1224), + [anon_sym_SQUOTE] = ACTIONS(1224), + [anon_sym_L_DQUOTE] = ACTIONS(1224), + [anon_sym_u_DQUOTE] = ACTIONS(1224), + [anon_sym_U_DQUOTE] = ACTIONS(1224), + [anon_sym_u8_DQUOTE] = ACTIONS(1224), + [anon_sym_DQUOTE] = ACTIONS(1224), + [sym_true] = ACTIONS(1222), + [sym_false] = ACTIONS(1222), + [anon_sym_NULL] = ACTIONS(1222), + [anon_sym_nullptr] = ACTIONS(1222), + [sym_comment] = ACTIONS(3), + }, + [252] = { + [sym_identifier] = ACTIONS(1190), + [aux_sym_preproc_include_token1] = ACTIONS(1190), + [aux_sym_preproc_def_token1] = ACTIONS(1190), + [aux_sym_preproc_if_token1] = ACTIONS(1190), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1190), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1190), + [sym_preproc_directive] = ACTIONS(1190), + [anon_sym_LPAREN2] = ACTIONS(1192), + [anon_sym_BANG] = ACTIONS(1192), + [anon_sym_TILDE] = ACTIONS(1192), + [anon_sym_DASH] = ACTIONS(1190), + [anon_sym_PLUS] = ACTIONS(1190), + [anon_sym_STAR] = ACTIONS(1192), + [anon_sym_AMP] = ACTIONS(1192), + [anon_sym_SEMI] = ACTIONS(1192), + [anon_sym___extension__] = ACTIONS(1190), + [anon_sym_typedef] = ACTIONS(1190), + [anon_sym_extern] = ACTIONS(1190), + [anon_sym___attribute__] = ACTIONS(1190), + [anon_sym___attribute] = ACTIONS(1190), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1192), + [anon_sym___declspec] = ACTIONS(1190), + [anon_sym___cdecl] = ACTIONS(1190), + [anon_sym___clrcall] = ACTIONS(1190), + [anon_sym___stdcall] = ACTIONS(1190), + [anon_sym___fastcall] = ACTIONS(1190), + [anon_sym___thiscall] = ACTIONS(1190), + [anon_sym___vectorcall] = ACTIONS(1190), + [anon_sym_LBRACE] = ACTIONS(1192), + [anon_sym_RBRACE] = ACTIONS(1192), + [anon_sym_signed] = ACTIONS(1190), + [anon_sym_unsigned] = ACTIONS(1190), + [anon_sym_long] = ACTIONS(1190), + [anon_sym_short] = ACTIONS(1190), + [anon_sym_static] = ACTIONS(1190), + [anon_sym_auto] = ACTIONS(1190), + [anon_sym_register] = ACTIONS(1190), + [anon_sym_inline] = ACTIONS(1190), + [anon_sym___inline] = ACTIONS(1190), + [anon_sym___inline__] = ACTIONS(1190), + [anon_sym___forceinline] = ACTIONS(1190), + [anon_sym_thread_local] = ACTIONS(1190), + [anon_sym___thread] = ACTIONS(1190), + [anon_sym_const] = ACTIONS(1190), + [anon_sym_constexpr] = ACTIONS(1190), + [anon_sym_volatile] = ACTIONS(1190), + [anon_sym_restrict] = ACTIONS(1190), + [anon_sym___restrict__] = ACTIONS(1190), + [anon_sym__Atomic] = ACTIONS(1190), + [anon_sym__Noreturn] = ACTIONS(1190), + [anon_sym_noreturn] = ACTIONS(1190), + [anon_sym__Nonnull] = ACTIONS(1190), + [anon_sym_alignas] = ACTIONS(1190), + [anon_sym__Alignas] = ACTIONS(1190), + [sym_primitive_type] = ACTIONS(1190), + [anon_sym_enum] = ACTIONS(1190), + [anon_sym_struct] = ACTIONS(1190), + [anon_sym_union] = ACTIONS(1190), + [anon_sym_if] = ACTIONS(1190), + [anon_sym_else] = ACTIONS(1190), + [anon_sym_switch] = ACTIONS(1190), + [anon_sym_case] = ACTIONS(1190), + [anon_sym_default] = ACTIONS(1190), + [anon_sym_while] = ACTIONS(1190), + [anon_sym_do] = ACTIONS(1190), + [anon_sym_for] = ACTIONS(1190), + [anon_sym_return] = ACTIONS(1190), + [anon_sym_break] = ACTIONS(1190), + [anon_sym_continue] = ACTIONS(1190), + [anon_sym_goto] = ACTIONS(1190), + [anon_sym___try] = ACTIONS(1190), + [anon_sym___leave] = ACTIONS(1190), + [anon_sym_DASH_DASH] = ACTIONS(1192), + [anon_sym_PLUS_PLUS] = ACTIONS(1192), + [anon_sym_sizeof] = ACTIONS(1190), + [anon_sym___alignof__] = ACTIONS(1190), + [anon_sym___alignof] = ACTIONS(1190), + [anon_sym__alignof] = ACTIONS(1190), + [anon_sym_alignof] = ACTIONS(1190), + [anon_sym__Alignof] = ACTIONS(1190), + [anon_sym_offsetof] = ACTIONS(1190), + [anon_sym__Generic] = ACTIONS(1190), + [anon_sym_asm] = ACTIONS(1190), + [anon_sym___asm__] = ACTIONS(1190), + [anon_sym___asm] = ACTIONS(1190), + [sym_number_literal] = ACTIONS(1192), + [anon_sym_L_SQUOTE] = ACTIONS(1192), + [anon_sym_u_SQUOTE] = ACTIONS(1192), + [anon_sym_U_SQUOTE] = ACTIONS(1192), + [anon_sym_u8_SQUOTE] = ACTIONS(1192), + [anon_sym_SQUOTE] = ACTIONS(1192), + [anon_sym_L_DQUOTE] = ACTIONS(1192), + [anon_sym_u_DQUOTE] = ACTIONS(1192), + [anon_sym_U_DQUOTE] = ACTIONS(1192), + [anon_sym_u8_DQUOTE] = ACTIONS(1192), + [anon_sym_DQUOTE] = ACTIONS(1192), + [sym_true] = ACTIONS(1190), + [sym_false] = ACTIONS(1190), + [anon_sym_NULL] = ACTIONS(1190), + [anon_sym_nullptr] = ACTIONS(1190), + [sym_comment] = ACTIONS(3), + }, + [253] = { + [sym_identifier] = ACTIONS(1194), + [aux_sym_preproc_include_token1] = ACTIONS(1194), + [aux_sym_preproc_def_token1] = ACTIONS(1194), + [aux_sym_preproc_if_token1] = ACTIONS(1194), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1194), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1194), + [sym_preproc_directive] = ACTIONS(1194), + [anon_sym_LPAREN2] = ACTIONS(1196), + [anon_sym_BANG] = ACTIONS(1196), + [anon_sym_TILDE] = ACTIONS(1196), + [anon_sym_DASH] = ACTIONS(1194), + [anon_sym_PLUS] = ACTIONS(1194), + [anon_sym_STAR] = ACTIONS(1196), + [anon_sym_AMP] = ACTIONS(1196), + [anon_sym_SEMI] = ACTIONS(1196), + [anon_sym___extension__] = ACTIONS(1194), + [anon_sym_typedef] = ACTIONS(1194), + [anon_sym_extern] = ACTIONS(1194), + [anon_sym___attribute__] = ACTIONS(1194), + [anon_sym___attribute] = ACTIONS(1194), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1196), + [anon_sym___declspec] = ACTIONS(1194), + [anon_sym___cdecl] = ACTIONS(1194), + [anon_sym___clrcall] = ACTIONS(1194), + [anon_sym___stdcall] = ACTIONS(1194), + [anon_sym___fastcall] = ACTIONS(1194), + [anon_sym___thiscall] = ACTIONS(1194), + [anon_sym___vectorcall] = ACTIONS(1194), + [anon_sym_LBRACE] = ACTIONS(1196), + [anon_sym_RBRACE] = ACTIONS(1196), + [anon_sym_signed] = ACTIONS(1194), + [anon_sym_unsigned] = ACTIONS(1194), + [anon_sym_long] = ACTIONS(1194), + [anon_sym_short] = ACTIONS(1194), + [anon_sym_static] = ACTIONS(1194), + [anon_sym_auto] = ACTIONS(1194), + [anon_sym_register] = ACTIONS(1194), + [anon_sym_inline] = ACTIONS(1194), + [anon_sym___inline] = ACTIONS(1194), + [anon_sym___inline__] = ACTIONS(1194), + [anon_sym___forceinline] = ACTIONS(1194), + [anon_sym_thread_local] = ACTIONS(1194), + [anon_sym___thread] = ACTIONS(1194), + [anon_sym_const] = ACTIONS(1194), + [anon_sym_constexpr] = ACTIONS(1194), + [anon_sym_volatile] = ACTIONS(1194), + [anon_sym_restrict] = ACTIONS(1194), + [anon_sym___restrict__] = ACTIONS(1194), + [anon_sym__Atomic] = ACTIONS(1194), + [anon_sym__Noreturn] = ACTIONS(1194), + [anon_sym_noreturn] = ACTIONS(1194), + [anon_sym__Nonnull] = ACTIONS(1194), + [anon_sym_alignas] = ACTIONS(1194), + [anon_sym__Alignas] = ACTIONS(1194), + [sym_primitive_type] = ACTIONS(1194), + [anon_sym_enum] = ACTIONS(1194), + [anon_sym_struct] = ACTIONS(1194), + [anon_sym_union] = ACTIONS(1194), + [anon_sym_if] = ACTIONS(1194), + [anon_sym_else] = ACTIONS(1194), + [anon_sym_switch] = ACTIONS(1194), + [anon_sym_case] = ACTIONS(1194), + [anon_sym_default] = ACTIONS(1194), + [anon_sym_while] = ACTIONS(1194), + [anon_sym_do] = ACTIONS(1194), + [anon_sym_for] = ACTIONS(1194), + [anon_sym_return] = ACTIONS(1194), + [anon_sym_break] = ACTIONS(1194), + [anon_sym_continue] = ACTIONS(1194), + [anon_sym_goto] = ACTIONS(1194), + [anon_sym___try] = ACTIONS(1194), + [anon_sym___leave] = ACTIONS(1194), + [anon_sym_DASH_DASH] = ACTIONS(1196), + [anon_sym_PLUS_PLUS] = ACTIONS(1196), + [anon_sym_sizeof] = ACTIONS(1194), + [anon_sym___alignof__] = ACTIONS(1194), + [anon_sym___alignof] = ACTIONS(1194), + [anon_sym__alignof] = ACTIONS(1194), + [anon_sym_alignof] = ACTIONS(1194), + [anon_sym__Alignof] = ACTIONS(1194), + [anon_sym_offsetof] = ACTIONS(1194), + [anon_sym__Generic] = ACTIONS(1194), + [anon_sym_asm] = ACTIONS(1194), + [anon_sym___asm__] = ACTIONS(1194), + [anon_sym___asm] = ACTIONS(1194), + [sym_number_literal] = ACTIONS(1196), + [anon_sym_L_SQUOTE] = ACTIONS(1196), + [anon_sym_u_SQUOTE] = ACTIONS(1196), + [anon_sym_U_SQUOTE] = ACTIONS(1196), + [anon_sym_u8_SQUOTE] = ACTIONS(1196), + [anon_sym_SQUOTE] = ACTIONS(1196), + [anon_sym_L_DQUOTE] = ACTIONS(1196), + [anon_sym_u_DQUOTE] = ACTIONS(1196), + [anon_sym_U_DQUOTE] = ACTIONS(1196), + [anon_sym_u8_DQUOTE] = ACTIONS(1196), + [anon_sym_DQUOTE] = ACTIONS(1196), + [sym_true] = ACTIONS(1194), + [sym_false] = ACTIONS(1194), + [anon_sym_NULL] = ACTIONS(1194), + [anon_sym_nullptr] = ACTIONS(1194), + [sym_comment] = ACTIONS(3), + }, + [254] = { + [sym_identifier] = ACTIONS(1198), + [aux_sym_preproc_include_token1] = ACTIONS(1198), + [aux_sym_preproc_def_token1] = ACTIONS(1198), + [aux_sym_preproc_if_token1] = ACTIONS(1198), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1198), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1198), + [sym_preproc_directive] = ACTIONS(1198), + [anon_sym_LPAREN2] = ACTIONS(1200), + [anon_sym_BANG] = ACTIONS(1200), + [anon_sym_TILDE] = ACTIONS(1200), + [anon_sym_DASH] = ACTIONS(1198), + [anon_sym_PLUS] = ACTIONS(1198), + [anon_sym_STAR] = ACTIONS(1200), + [anon_sym_AMP] = ACTIONS(1200), + [anon_sym_SEMI] = ACTIONS(1200), + [anon_sym___extension__] = ACTIONS(1198), + [anon_sym_typedef] = ACTIONS(1198), + [anon_sym_extern] = ACTIONS(1198), + [anon_sym___attribute__] = ACTIONS(1198), + [anon_sym___attribute] = ACTIONS(1198), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1200), + [anon_sym___declspec] = ACTIONS(1198), + [anon_sym___cdecl] = ACTIONS(1198), + [anon_sym___clrcall] = ACTIONS(1198), + [anon_sym___stdcall] = ACTIONS(1198), + [anon_sym___fastcall] = ACTIONS(1198), + [anon_sym___thiscall] = ACTIONS(1198), + [anon_sym___vectorcall] = ACTIONS(1198), + [anon_sym_LBRACE] = ACTIONS(1200), + [anon_sym_RBRACE] = ACTIONS(1200), + [anon_sym_signed] = ACTIONS(1198), + [anon_sym_unsigned] = ACTIONS(1198), + [anon_sym_long] = ACTIONS(1198), + [anon_sym_short] = ACTIONS(1198), + [anon_sym_static] = ACTIONS(1198), + [anon_sym_auto] = ACTIONS(1198), + [anon_sym_register] = ACTIONS(1198), + [anon_sym_inline] = ACTIONS(1198), + [anon_sym___inline] = ACTIONS(1198), + [anon_sym___inline__] = ACTIONS(1198), + [anon_sym___forceinline] = ACTIONS(1198), + [anon_sym_thread_local] = ACTIONS(1198), + [anon_sym___thread] = ACTIONS(1198), + [anon_sym_const] = ACTIONS(1198), + [anon_sym_constexpr] = ACTIONS(1198), + [anon_sym_volatile] = ACTIONS(1198), + [anon_sym_restrict] = ACTIONS(1198), + [anon_sym___restrict__] = ACTIONS(1198), + [anon_sym__Atomic] = ACTIONS(1198), + [anon_sym__Noreturn] = ACTIONS(1198), + [anon_sym_noreturn] = ACTIONS(1198), + [anon_sym__Nonnull] = ACTIONS(1198), + [anon_sym_alignas] = ACTIONS(1198), + [anon_sym__Alignas] = ACTIONS(1198), + [sym_primitive_type] = ACTIONS(1198), + [anon_sym_enum] = ACTIONS(1198), + [anon_sym_struct] = ACTIONS(1198), + [anon_sym_union] = ACTIONS(1198), + [anon_sym_if] = ACTIONS(1198), + [anon_sym_else] = ACTIONS(1198), + [anon_sym_switch] = ACTIONS(1198), + [anon_sym_case] = ACTIONS(1198), + [anon_sym_default] = ACTIONS(1198), + [anon_sym_while] = ACTIONS(1198), + [anon_sym_do] = ACTIONS(1198), + [anon_sym_for] = ACTIONS(1198), + [anon_sym_return] = ACTIONS(1198), + [anon_sym_break] = ACTIONS(1198), + [anon_sym_continue] = ACTIONS(1198), + [anon_sym_goto] = ACTIONS(1198), + [anon_sym___try] = ACTIONS(1198), + [anon_sym___leave] = ACTIONS(1198), + [anon_sym_DASH_DASH] = ACTIONS(1200), + [anon_sym_PLUS_PLUS] = ACTIONS(1200), + [anon_sym_sizeof] = ACTIONS(1198), + [anon_sym___alignof__] = ACTIONS(1198), + [anon_sym___alignof] = ACTIONS(1198), + [anon_sym__alignof] = ACTIONS(1198), + [anon_sym_alignof] = ACTIONS(1198), + [anon_sym__Alignof] = ACTIONS(1198), + [anon_sym_offsetof] = ACTIONS(1198), + [anon_sym__Generic] = ACTIONS(1198), + [anon_sym_asm] = ACTIONS(1198), + [anon_sym___asm__] = ACTIONS(1198), + [anon_sym___asm] = ACTIONS(1198), + [sym_number_literal] = ACTIONS(1200), + [anon_sym_L_SQUOTE] = ACTIONS(1200), + [anon_sym_u_SQUOTE] = ACTIONS(1200), + [anon_sym_U_SQUOTE] = ACTIONS(1200), + [anon_sym_u8_SQUOTE] = ACTIONS(1200), + [anon_sym_SQUOTE] = ACTIONS(1200), + [anon_sym_L_DQUOTE] = ACTIONS(1200), + [anon_sym_u_DQUOTE] = ACTIONS(1200), + [anon_sym_U_DQUOTE] = ACTIONS(1200), + [anon_sym_u8_DQUOTE] = ACTIONS(1200), + [anon_sym_DQUOTE] = ACTIONS(1200), + [sym_true] = ACTIONS(1198), + [sym_false] = ACTIONS(1198), + [anon_sym_NULL] = ACTIONS(1198), + [anon_sym_nullptr] = ACTIONS(1198), + [sym_comment] = ACTIONS(3), + }, + [255] = { + [ts_builtin_sym_end] = ACTIONS(1180), + [sym_identifier] = ACTIONS(1178), + [aux_sym_preproc_include_token1] = ACTIONS(1178), + [aux_sym_preproc_def_token1] = ACTIONS(1178), + [aux_sym_preproc_if_token1] = ACTIONS(1178), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1178), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1178), + [sym_preproc_directive] = ACTIONS(1178), + [anon_sym_LPAREN2] = ACTIONS(1180), + [anon_sym_BANG] = ACTIONS(1180), + [anon_sym_TILDE] = ACTIONS(1180), + [anon_sym_DASH] = ACTIONS(1178), + [anon_sym_PLUS] = ACTIONS(1178), + [anon_sym_STAR] = ACTIONS(1180), + [anon_sym_AMP] = ACTIONS(1180), + [anon_sym_SEMI] = ACTIONS(1180), + [anon_sym___extension__] = ACTIONS(1178), + [anon_sym_typedef] = ACTIONS(1178), + [anon_sym_extern] = ACTIONS(1178), + [anon_sym___attribute__] = ACTIONS(1178), + [anon_sym___attribute] = ACTIONS(1178), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1180), + [anon_sym___declspec] = ACTIONS(1178), + [anon_sym___cdecl] = ACTIONS(1178), + [anon_sym___clrcall] = ACTIONS(1178), + [anon_sym___stdcall] = ACTIONS(1178), + [anon_sym___fastcall] = ACTIONS(1178), + [anon_sym___thiscall] = ACTIONS(1178), + [anon_sym___vectorcall] = ACTIONS(1178), + [anon_sym_LBRACE] = ACTIONS(1180), + [anon_sym_signed] = ACTIONS(1178), + [anon_sym_unsigned] = ACTIONS(1178), + [anon_sym_long] = ACTIONS(1178), + [anon_sym_short] = ACTIONS(1178), + [anon_sym_static] = ACTIONS(1178), + [anon_sym_auto] = ACTIONS(1178), + [anon_sym_register] = ACTIONS(1178), + [anon_sym_inline] = ACTIONS(1178), + [anon_sym___inline] = ACTIONS(1178), + [anon_sym___inline__] = ACTIONS(1178), + [anon_sym___forceinline] = ACTIONS(1178), + [anon_sym_thread_local] = ACTIONS(1178), + [anon_sym___thread] = ACTIONS(1178), + [anon_sym_const] = ACTIONS(1178), + [anon_sym_constexpr] = ACTIONS(1178), + [anon_sym_volatile] = ACTIONS(1178), + [anon_sym_restrict] = ACTIONS(1178), + [anon_sym___restrict__] = ACTIONS(1178), + [anon_sym__Atomic] = ACTIONS(1178), + [anon_sym__Noreturn] = ACTIONS(1178), + [anon_sym_noreturn] = ACTIONS(1178), + [anon_sym__Nonnull] = ACTIONS(1178), + [anon_sym_alignas] = ACTIONS(1178), + [anon_sym__Alignas] = ACTIONS(1178), + [sym_primitive_type] = ACTIONS(1178), + [anon_sym_enum] = ACTIONS(1178), + [anon_sym_struct] = ACTIONS(1178), + [anon_sym_union] = ACTIONS(1178), + [anon_sym_if] = ACTIONS(1178), + [anon_sym_else] = ACTIONS(1178), + [anon_sym_switch] = ACTIONS(1178), + [anon_sym_case] = ACTIONS(1178), + [anon_sym_default] = ACTIONS(1178), + [anon_sym_while] = ACTIONS(1178), + [anon_sym_do] = ACTIONS(1178), + [anon_sym_for] = ACTIONS(1178), + [anon_sym_return] = ACTIONS(1178), + [anon_sym_break] = ACTIONS(1178), + [anon_sym_continue] = ACTIONS(1178), + [anon_sym_goto] = ACTIONS(1178), + [anon_sym___try] = ACTIONS(1178), + [anon_sym___leave] = ACTIONS(1178), + [anon_sym_DASH_DASH] = ACTIONS(1180), + [anon_sym_PLUS_PLUS] = ACTIONS(1180), + [anon_sym_sizeof] = ACTIONS(1178), + [anon_sym___alignof__] = ACTIONS(1178), + [anon_sym___alignof] = ACTIONS(1178), + [anon_sym__alignof] = ACTIONS(1178), + [anon_sym_alignof] = ACTIONS(1178), + [anon_sym__Alignof] = ACTIONS(1178), + [anon_sym_offsetof] = ACTIONS(1178), + [anon_sym__Generic] = ACTIONS(1178), + [anon_sym_asm] = ACTIONS(1178), + [anon_sym___asm__] = ACTIONS(1178), + [anon_sym___asm] = ACTIONS(1178), + [sym_number_literal] = ACTIONS(1180), + [anon_sym_L_SQUOTE] = ACTIONS(1180), + [anon_sym_u_SQUOTE] = ACTIONS(1180), + [anon_sym_U_SQUOTE] = ACTIONS(1180), + [anon_sym_u8_SQUOTE] = ACTIONS(1180), + [anon_sym_SQUOTE] = ACTIONS(1180), + [anon_sym_L_DQUOTE] = ACTIONS(1180), + [anon_sym_u_DQUOTE] = ACTIONS(1180), + [anon_sym_U_DQUOTE] = ACTIONS(1180), + [anon_sym_u8_DQUOTE] = ACTIONS(1180), + [anon_sym_DQUOTE] = ACTIONS(1180), + [sym_true] = ACTIONS(1178), + [sym_false] = ACTIONS(1178), + [anon_sym_NULL] = ACTIONS(1178), + [anon_sym_nullptr] = ACTIONS(1178), + [sym_comment] = ACTIONS(3), + }, + [256] = { + [sym_identifier] = ACTIONS(1194), + [aux_sym_preproc_include_token1] = ACTIONS(1194), + [aux_sym_preproc_def_token1] = ACTIONS(1194), + [aux_sym_preproc_if_token1] = ACTIONS(1194), + [aux_sym_preproc_if_token2] = ACTIONS(1194), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1194), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1194), + [sym_preproc_directive] = ACTIONS(1194), + [anon_sym_LPAREN2] = ACTIONS(1196), + [anon_sym_BANG] = ACTIONS(1196), + [anon_sym_TILDE] = ACTIONS(1196), + [anon_sym_DASH] = ACTIONS(1194), + [anon_sym_PLUS] = ACTIONS(1194), + [anon_sym_STAR] = ACTIONS(1196), + [anon_sym_AMP] = ACTIONS(1196), + [anon_sym_SEMI] = ACTIONS(1196), + [anon_sym___extension__] = ACTIONS(1194), + [anon_sym_typedef] = ACTIONS(1194), + [anon_sym_extern] = ACTIONS(1194), + [anon_sym___attribute__] = ACTIONS(1194), + [anon_sym___attribute] = ACTIONS(1194), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1196), + [anon_sym___declspec] = ACTIONS(1194), + [anon_sym___cdecl] = ACTIONS(1194), + [anon_sym___clrcall] = ACTIONS(1194), + [anon_sym___stdcall] = ACTIONS(1194), + [anon_sym___fastcall] = ACTIONS(1194), + [anon_sym___thiscall] = ACTIONS(1194), + [anon_sym___vectorcall] = ACTIONS(1194), + [anon_sym_LBRACE] = ACTIONS(1196), + [anon_sym_signed] = ACTIONS(1194), + [anon_sym_unsigned] = ACTIONS(1194), + [anon_sym_long] = ACTIONS(1194), + [anon_sym_short] = ACTIONS(1194), + [anon_sym_static] = ACTIONS(1194), + [anon_sym_auto] = ACTIONS(1194), + [anon_sym_register] = ACTIONS(1194), + [anon_sym_inline] = ACTIONS(1194), + [anon_sym___inline] = ACTIONS(1194), + [anon_sym___inline__] = ACTIONS(1194), + [anon_sym___forceinline] = ACTIONS(1194), + [anon_sym_thread_local] = ACTIONS(1194), + [anon_sym___thread] = ACTIONS(1194), + [anon_sym_const] = ACTIONS(1194), + [anon_sym_constexpr] = ACTIONS(1194), + [anon_sym_volatile] = ACTIONS(1194), + [anon_sym_restrict] = ACTIONS(1194), + [anon_sym___restrict__] = ACTIONS(1194), + [anon_sym__Atomic] = ACTIONS(1194), + [anon_sym__Noreturn] = ACTIONS(1194), + [anon_sym_noreturn] = ACTIONS(1194), + [anon_sym__Nonnull] = ACTIONS(1194), + [anon_sym_alignas] = ACTIONS(1194), + [anon_sym__Alignas] = ACTIONS(1194), + [sym_primitive_type] = ACTIONS(1194), + [anon_sym_enum] = ACTIONS(1194), + [anon_sym_struct] = ACTIONS(1194), + [anon_sym_union] = ACTIONS(1194), + [anon_sym_if] = ACTIONS(1194), + [anon_sym_else] = ACTIONS(1194), + [anon_sym_switch] = ACTIONS(1194), + [anon_sym_case] = ACTIONS(1194), + [anon_sym_default] = ACTIONS(1194), + [anon_sym_while] = ACTIONS(1194), + [anon_sym_do] = ACTIONS(1194), + [anon_sym_for] = ACTIONS(1194), + [anon_sym_return] = ACTIONS(1194), + [anon_sym_break] = ACTIONS(1194), + [anon_sym_continue] = ACTIONS(1194), + [anon_sym_goto] = ACTIONS(1194), + [anon_sym___try] = ACTIONS(1194), + [anon_sym___leave] = ACTIONS(1194), + [anon_sym_DASH_DASH] = ACTIONS(1196), + [anon_sym_PLUS_PLUS] = ACTIONS(1196), + [anon_sym_sizeof] = ACTIONS(1194), + [anon_sym___alignof__] = ACTIONS(1194), + [anon_sym___alignof] = ACTIONS(1194), + [anon_sym__alignof] = ACTIONS(1194), + [anon_sym_alignof] = ACTIONS(1194), + [anon_sym__Alignof] = ACTIONS(1194), + [anon_sym_offsetof] = ACTIONS(1194), + [anon_sym__Generic] = ACTIONS(1194), + [anon_sym_asm] = ACTIONS(1194), + [anon_sym___asm__] = ACTIONS(1194), + [anon_sym___asm] = ACTIONS(1194), + [sym_number_literal] = ACTIONS(1196), + [anon_sym_L_SQUOTE] = ACTIONS(1196), + [anon_sym_u_SQUOTE] = ACTIONS(1196), + [anon_sym_U_SQUOTE] = ACTIONS(1196), + [anon_sym_u8_SQUOTE] = ACTIONS(1196), + [anon_sym_SQUOTE] = ACTIONS(1196), + [anon_sym_L_DQUOTE] = ACTIONS(1196), + [anon_sym_u_DQUOTE] = ACTIONS(1196), + [anon_sym_U_DQUOTE] = ACTIONS(1196), + [anon_sym_u8_DQUOTE] = ACTIONS(1196), + [anon_sym_DQUOTE] = ACTIONS(1196), + [sym_true] = ACTIONS(1194), + [sym_false] = ACTIONS(1194), + [anon_sym_NULL] = ACTIONS(1194), + [anon_sym_nullptr] = ACTIONS(1194), + [sym_comment] = ACTIONS(3), + }, + [257] = { + [ts_builtin_sym_end] = ACTIONS(1370), + [sym_identifier] = ACTIONS(1368), + [aux_sym_preproc_include_token1] = ACTIONS(1368), + [aux_sym_preproc_def_token1] = ACTIONS(1368), + [anon_sym_COMMA] = ACTIONS(1370), + [aux_sym_preproc_if_token1] = ACTIONS(1368), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1368), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1368), + [sym_preproc_directive] = ACTIONS(1368), + [anon_sym_LPAREN2] = ACTIONS(1370), + [anon_sym_BANG] = ACTIONS(1370), + [anon_sym_TILDE] = ACTIONS(1370), + [anon_sym_DASH] = ACTIONS(1368), + [anon_sym_PLUS] = ACTIONS(1368), + [anon_sym_STAR] = ACTIONS(1370), + [anon_sym_AMP] = ACTIONS(1370), + [anon_sym_SEMI] = ACTIONS(1370), + [anon_sym___extension__] = ACTIONS(1368), + [anon_sym_typedef] = ACTIONS(1368), + [anon_sym_extern] = ACTIONS(1368), + [anon_sym___attribute__] = ACTIONS(1368), + [anon_sym___attribute] = ACTIONS(1368), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1370), + [anon_sym___declspec] = ACTIONS(1368), + [anon_sym___cdecl] = ACTIONS(1368), + [anon_sym___clrcall] = ACTIONS(1368), + [anon_sym___stdcall] = ACTIONS(1368), + [anon_sym___fastcall] = ACTIONS(1368), + [anon_sym___thiscall] = ACTIONS(1368), + [anon_sym___vectorcall] = ACTIONS(1368), + [anon_sym_LBRACE] = ACTIONS(1370), + [anon_sym_RBRACE] = ACTIONS(1370), + [anon_sym_signed] = ACTIONS(1368), + [anon_sym_unsigned] = ACTIONS(1368), + [anon_sym_long] = ACTIONS(1368), + [anon_sym_short] = ACTIONS(1368), + [anon_sym_static] = ACTIONS(1368), + [anon_sym_auto] = ACTIONS(1368), + [anon_sym_register] = ACTIONS(1368), + [anon_sym_inline] = ACTIONS(1368), + [anon_sym___inline] = ACTIONS(1368), + [anon_sym___inline__] = ACTIONS(1368), + [anon_sym___forceinline] = ACTIONS(1368), + [anon_sym_thread_local] = ACTIONS(1368), + [anon_sym___thread] = ACTIONS(1368), + [anon_sym_const] = ACTIONS(1368), + [anon_sym_constexpr] = ACTIONS(1368), + [anon_sym_volatile] = ACTIONS(1368), + [anon_sym_restrict] = ACTIONS(1368), + [anon_sym___restrict__] = ACTIONS(1368), + [anon_sym__Atomic] = ACTIONS(1368), + [anon_sym__Noreturn] = ACTIONS(1368), + [anon_sym_noreturn] = ACTIONS(1368), + [anon_sym__Nonnull] = ACTIONS(1368), + [anon_sym_alignas] = ACTIONS(1368), + [anon_sym__Alignas] = ACTIONS(1368), + [sym_primitive_type] = ACTIONS(1368), + [anon_sym_enum] = ACTIONS(1368), + [anon_sym_struct] = ACTIONS(1368), + [anon_sym_union] = ACTIONS(1368), + [anon_sym_if] = ACTIONS(1368), + [anon_sym_switch] = ACTIONS(1368), + [anon_sym_case] = ACTIONS(1368), + [anon_sym_default] = ACTIONS(1368), + [anon_sym_while] = ACTIONS(1368), + [anon_sym_do] = ACTIONS(1368), + [anon_sym_for] = ACTIONS(1368), + [anon_sym_return] = ACTIONS(1368), + [anon_sym_break] = ACTIONS(1368), + [anon_sym_continue] = ACTIONS(1368), + [anon_sym_goto] = ACTIONS(1368), + [anon_sym_DASH_DASH] = ACTIONS(1370), + [anon_sym_PLUS_PLUS] = ACTIONS(1370), + [anon_sym_sizeof] = ACTIONS(1368), + [anon_sym___alignof__] = ACTIONS(1368), + [anon_sym___alignof] = ACTIONS(1368), + [anon_sym__alignof] = ACTIONS(1368), + [anon_sym_alignof] = ACTIONS(1368), + [anon_sym__Alignof] = ACTIONS(1368), + [anon_sym_offsetof] = ACTIONS(1368), + [anon_sym__Generic] = ACTIONS(1368), + [anon_sym_asm] = ACTIONS(1368), + [anon_sym___asm__] = ACTIONS(1368), + [anon_sym___asm] = ACTIONS(1368), + [sym_number_literal] = ACTIONS(1370), + [anon_sym_L_SQUOTE] = ACTIONS(1370), + [anon_sym_u_SQUOTE] = ACTIONS(1370), + [anon_sym_U_SQUOTE] = ACTIONS(1370), + [anon_sym_u8_SQUOTE] = ACTIONS(1370), + [anon_sym_SQUOTE] = ACTIONS(1370), + [anon_sym_L_DQUOTE] = ACTIONS(1370), + [anon_sym_u_DQUOTE] = ACTIONS(1370), + [anon_sym_U_DQUOTE] = ACTIONS(1370), + [anon_sym_u8_DQUOTE] = ACTIONS(1370), + [anon_sym_DQUOTE] = ACTIONS(1370), + [sym_true] = ACTIONS(1368), + [sym_false] = ACTIONS(1368), + [anon_sym_NULL] = ACTIONS(1368), + [anon_sym_nullptr] = ACTIONS(1368), + [sym_comment] = ACTIONS(3), + }, + [258] = { + [sym_identifier] = ACTIONS(1352), + [aux_sym_preproc_include_token1] = ACTIONS(1352), + [aux_sym_preproc_def_token1] = ACTIONS(1352), + [aux_sym_preproc_if_token1] = ACTIONS(1352), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1352), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1352), + [sym_preproc_directive] = ACTIONS(1352), + [anon_sym_LPAREN2] = ACTIONS(1354), + [anon_sym_BANG] = ACTIONS(1354), + [anon_sym_TILDE] = ACTIONS(1354), + [anon_sym_DASH] = ACTIONS(1352), + [anon_sym_PLUS] = ACTIONS(1352), + [anon_sym_STAR] = ACTIONS(1354), + [anon_sym_AMP] = ACTIONS(1354), + [anon_sym_SEMI] = ACTIONS(1354), + [anon_sym___extension__] = ACTIONS(1352), + [anon_sym_typedef] = ACTIONS(1352), + [anon_sym_extern] = ACTIONS(1352), + [anon_sym___attribute__] = ACTIONS(1352), + [anon_sym___attribute] = ACTIONS(1352), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1354), + [anon_sym___declspec] = ACTIONS(1352), + [anon_sym___cdecl] = ACTIONS(1352), + [anon_sym___clrcall] = ACTIONS(1352), + [anon_sym___stdcall] = ACTIONS(1352), + [anon_sym___fastcall] = ACTIONS(1352), + [anon_sym___thiscall] = ACTIONS(1352), + [anon_sym___vectorcall] = ACTIONS(1352), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_RBRACE] = ACTIONS(1354), + [anon_sym_signed] = ACTIONS(1352), + [anon_sym_unsigned] = ACTIONS(1352), + [anon_sym_long] = ACTIONS(1352), + [anon_sym_short] = ACTIONS(1352), + [anon_sym_static] = ACTIONS(1352), + [anon_sym_auto] = ACTIONS(1352), + [anon_sym_register] = ACTIONS(1352), + [anon_sym_inline] = ACTIONS(1352), + [anon_sym___inline] = ACTIONS(1352), + [anon_sym___inline__] = ACTIONS(1352), + [anon_sym___forceinline] = ACTIONS(1352), + [anon_sym_thread_local] = ACTIONS(1352), + [anon_sym___thread] = ACTIONS(1352), + [anon_sym_const] = ACTIONS(1352), + [anon_sym_constexpr] = ACTIONS(1352), + [anon_sym_volatile] = ACTIONS(1352), + [anon_sym_restrict] = ACTIONS(1352), + [anon_sym___restrict__] = ACTIONS(1352), + [anon_sym__Atomic] = ACTIONS(1352), + [anon_sym__Noreturn] = ACTIONS(1352), + [anon_sym_noreturn] = ACTIONS(1352), + [anon_sym__Nonnull] = ACTIONS(1352), + [anon_sym_alignas] = ACTIONS(1352), + [anon_sym__Alignas] = ACTIONS(1352), + [sym_primitive_type] = ACTIONS(1352), + [anon_sym_enum] = ACTIONS(1352), + [anon_sym_struct] = ACTIONS(1352), + [anon_sym_union] = ACTIONS(1352), + [anon_sym_if] = ACTIONS(1352), + [anon_sym_switch] = ACTIONS(1352), + [anon_sym_case] = ACTIONS(1352), + [anon_sym_default] = ACTIONS(1352), + [anon_sym_while] = ACTIONS(1352), + [anon_sym_do] = ACTIONS(1352), + [anon_sym_for] = ACTIONS(1352), + [anon_sym_return] = ACTIONS(1352), + [anon_sym_break] = ACTIONS(1352), + [anon_sym_continue] = ACTIONS(1352), + [anon_sym_goto] = ACTIONS(1352), + [anon_sym___try] = ACTIONS(1352), + [anon_sym___leave] = ACTIONS(1352), + [anon_sym_DASH_DASH] = ACTIONS(1354), + [anon_sym_PLUS_PLUS] = ACTIONS(1354), + [anon_sym_sizeof] = ACTIONS(1352), + [anon_sym___alignof__] = ACTIONS(1352), + [anon_sym___alignof] = ACTIONS(1352), + [anon_sym__alignof] = ACTIONS(1352), + [anon_sym_alignof] = ACTIONS(1352), + [anon_sym__Alignof] = ACTIONS(1352), + [anon_sym_offsetof] = ACTIONS(1352), + [anon_sym__Generic] = ACTIONS(1352), + [anon_sym_asm] = ACTIONS(1352), + [anon_sym___asm__] = ACTIONS(1352), + [anon_sym___asm] = ACTIONS(1352), + [sym_number_literal] = ACTIONS(1354), + [anon_sym_L_SQUOTE] = ACTIONS(1354), + [anon_sym_u_SQUOTE] = ACTIONS(1354), + [anon_sym_U_SQUOTE] = ACTIONS(1354), + [anon_sym_u8_SQUOTE] = ACTIONS(1354), + [anon_sym_SQUOTE] = ACTIONS(1354), + [anon_sym_L_DQUOTE] = ACTIONS(1354), + [anon_sym_u_DQUOTE] = ACTIONS(1354), + [anon_sym_U_DQUOTE] = ACTIONS(1354), + [anon_sym_u8_DQUOTE] = ACTIONS(1354), + [anon_sym_DQUOTE] = ACTIONS(1354), + [sym_true] = ACTIONS(1352), + [sym_false] = ACTIONS(1352), + [anon_sym_NULL] = ACTIONS(1352), + [anon_sym_nullptr] = ACTIONS(1352), + [sym_comment] = ACTIONS(3), + }, + [259] = { + [sym_identifier] = ACTIONS(1356), + [aux_sym_preproc_include_token1] = ACTIONS(1356), + [aux_sym_preproc_def_token1] = ACTIONS(1356), + [aux_sym_preproc_if_token1] = ACTIONS(1356), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1356), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1356), + [sym_preproc_directive] = ACTIONS(1356), + [anon_sym_LPAREN2] = ACTIONS(1358), + [anon_sym_BANG] = ACTIONS(1358), + [anon_sym_TILDE] = ACTIONS(1358), + [anon_sym_DASH] = ACTIONS(1356), + [anon_sym_PLUS] = ACTIONS(1356), + [anon_sym_STAR] = ACTIONS(1358), + [anon_sym_AMP] = ACTIONS(1358), + [anon_sym_SEMI] = ACTIONS(1358), + [anon_sym___extension__] = ACTIONS(1356), + [anon_sym_typedef] = ACTIONS(1356), + [anon_sym_extern] = ACTIONS(1356), + [anon_sym___attribute__] = ACTIONS(1356), + [anon_sym___attribute] = ACTIONS(1356), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1358), + [anon_sym___declspec] = ACTIONS(1356), + [anon_sym___cdecl] = ACTIONS(1356), + [anon_sym___clrcall] = ACTIONS(1356), + [anon_sym___stdcall] = ACTIONS(1356), + [anon_sym___fastcall] = ACTIONS(1356), + [anon_sym___thiscall] = ACTIONS(1356), + [anon_sym___vectorcall] = ACTIONS(1356), + [anon_sym_LBRACE] = ACTIONS(1358), + [anon_sym_RBRACE] = ACTIONS(1358), + [anon_sym_signed] = ACTIONS(1356), + [anon_sym_unsigned] = ACTIONS(1356), + [anon_sym_long] = ACTIONS(1356), + [anon_sym_short] = ACTIONS(1356), + [anon_sym_static] = ACTIONS(1356), + [anon_sym_auto] = ACTIONS(1356), + [anon_sym_register] = ACTIONS(1356), + [anon_sym_inline] = ACTIONS(1356), + [anon_sym___inline] = ACTIONS(1356), + [anon_sym___inline__] = ACTIONS(1356), + [anon_sym___forceinline] = ACTIONS(1356), + [anon_sym_thread_local] = ACTIONS(1356), + [anon_sym___thread] = ACTIONS(1356), + [anon_sym_const] = ACTIONS(1356), + [anon_sym_constexpr] = ACTIONS(1356), + [anon_sym_volatile] = ACTIONS(1356), + [anon_sym_restrict] = ACTIONS(1356), + [anon_sym___restrict__] = ACTIONS(1356), + [anon_sym__Atomic] = ACTIONS(1356), + [anon_sym__Noreturn] = ACTIONS(1356), + [anon_sym_noreturn] = ACTIONS(1356), + [anon_sym__Nonnull] = ACTIONS(1356), + [anon_sym_alignas] = ACTIONS(1356), + [anon_sym__Alignas] = ACTIONS(1356), + [sym_primitive_type] = ACTIONS(1356), + [anon_sym_enum] = ACTIONS(1356), + [anon_sym_struct] = ACTIONS(1356), + [anon_sym_union] = ACTIONS(1356), + [anon_sym_if] = ACTIONS(1356), + [anon_sym_switch] = ACTIONS(1356), + [anon_sym_case] = ACTIONS(1356), + [anon_sym_default] = ACTIONS(1356), + [anon_sym_while] = ACTIONS(1356), + [anon_sym_do] = ACTIONS(1356), + [anon_sym_for] = ACTIONS(1356), + [anon_sym_return] = ACTIONS(1356), + [anon_sym_break] = ACTIONS(1356), + [anon_sym_continue] = ACTIONS(1356), + [anon_sym_goto] = ACTIONS(1356), + [anon_sym___try] = ACTIONS(1356), + [anon_sym___leave] = ACTIONS(1356), + [anon_sym_DASH_DASH] = ACTIONS(1358), + [anon_sym_PLUS_PLUS] = ACTIONS(1358), + [anon_sym_sizeof] = ACTIONS(1356), + [anon_sym___alignof__] = ACTIONS(1356), + [anon_sym___alignof] = ACTIONS(1356), + [anon_sym__alignof] = ACTIONS(1356), + [anon_sym_alignof] = ACTIONS(1356), + [anon_sym__Alignof] = ACTIONS(1356), + [anon_sym_offsetof] = ACTIONS(1356), + [anon_sym__Generic] = ACTIONS(1356), + [anon_sym_asm] = ACTIONS(1356), + [anon_sym___asm__] = ACTIONS(1356), + [anon_sym___asm] = ACTIONS(1356), + [sym_number_literal] = ACTIONS(1358), + [anon_sym_L_SQUOTE] = ACTIONS(1358), + [anon_sym_u_SQUOTE] = ACTIONS(1358), + [anon_sym_U_SQUOTE] = ACTIONS(1358), + [anon_sym_u8_SQUOTE] = ACTIONS(1358), + [anon_sym_SQUOTE] = ACTIONS(1358), + [anon_sym_L_DQUOTE] = ACTIONS(1358), + [anon_sym_u_DQUOTE] = ACTIONS(1358), + [anon_sym_U_DQUOTE] = ACTIONS(1358), + [anon_sym_u8_DQUOTE] = ACTIONS(1358), + [anon_sym_DQUOTE] = ACTIONS(1358), + [sym_true] = ACTIONS(1356), + [sym_false] = ACTIONS(1356), + [anon_sym_NULL] = ACTIONS(1356), + [anon_sym_nullptr] = ACTIONS(1356), + [sym_comment] = ACTIONS(3), + }, + [260] = { + [sym_identifier] = ACTIONS(1364), + [aux_sym_preproc_include_token1] = ACTIONS(1364), + [aux_sym_preproc_def_token1] = ACTIONS(1364), + [aux_sym_preproc_if_token1] = ACTIONS(1364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1364), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1364), + [sym_preproc_directive] = ACTIONS(1364), + [anon_sym_LPAREN2] = ACTIONS(1366), + [anon_sym_BANG] = ACTIONS(1366), + [anon_sym_TILDE] = ACTIONS(1366), + [anon_sym_DASH] = ACTIONS(1364), + [anon_sym_PLUS] = ACTIONS(1364), + [anon_sym_STAR] = ACTIONS(1366), + [anon_sym_AMP] = ACTIONS(1366), + [anon_sym_SEMI] = ACTIONS(1366), + [anon_sym___extension__] = ACTIONS(1364), + [anon_sym_typedef] = ACTIONS(1364), + [anon_sym_extern] = ACTIONS(1364), + [anon_sym___attribute__] = ACTIONS(1364), + [anon_sym___attribute] = ACTIONS(1364), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1366), + [anon_sym___declspec] = ACTIONS(1364), + [anon_sym___cdecl] = ACTIONS(1364), + [anon_sym___clrcall] = ACTIONS(1364), + [anon_sym___stdcall] = ACTIONS(1364), + [anon_sym___fastcall] = ACTIONS(1364), + [anon_sym___thiscall] = ACTIONS(1364), + [anon_sym___vectorcall] = ACTIONS(1364), + [anon_sym_LBRACE] = ACTIONS(1366), + [anon_sym_RBRACE] = ACTIONS(1366), + [anon_sym_signed] = ACTIONS(1364), + [anon_sym_unsigned] = ACTIONS(1364), + [anon_sym_long] = ACTIONS(1364), + [anon_sym_short] = ACTIONS(1364), + [anon_sym_static] = ACTIONS(1364), + [anon_sym_auto] = ACTIONS(1364), + [anon_sym_register] = ACTIONS(1364), + [anon_sym_inline] = ACTIONS(1364), + [anon_sym___inline] = ACTIONS(1364), + [anon_sym___inline__] = ACTIONS(1364), + [anon_sym___forceinline] = ACTIONS(1364), + [anon_sym_thread_local] = ACTIONS(1364), + [anon_sym___thread] = ACTIONS(1364), + [anon_sym_const] = ACTIONS(1364), + [anon_sym_constexpr] = ACTIONS(1364), + [anon_sym_volatile] = ACTIONS(1364), + [anon_sym_restrict] = ACTIONS(1364), + [anon_sym___restrict__] = ACTIONS(1364), + [anon_sym__Atomic] = ACTIONS(1364), + [anon_sym__Noreturn] = ACTIONS(1364), + [anon_sym_noreturn] = ACTIONS(1364), + [anon_sym__Nonnull] = ACTIONS(1364), + [anon_sym_alignas] = ACTIONS(1364), + [anon_sym__Alignas] = ACTIONS(1364), + [sym_primitive_type] = ACTIONS(1364), + [anon_sym_enum] = ACTIONS(1364), + [anon_sym_struct] = ACTIONS(1364), + [anon_sym_union] = ACTIONS(1364), + [anon_sym_if] = ACTIONS(1364), + [anon_sym_switch] = ACTIONS(1364), + [anon_sym_case] = ACTIONS(1364), + [anon_sym_default] = ACTIONS(1364), + [anon_sym_while] = ACTIONS(1364), + [anon_sym_do] = ACTIONS(1364), + [anon_sym_for] = ACTIONS(1364), + [anon_sym_return] = ACTIONS(1364), + [anon_sym_break] = ACTIONS(1364), + [anon_sym_continue] = ACTIONS(1364), + [anon_sym_goto] = ACTIONS(1364), + [anon_sym___try] = ACTIONS(1364), + [anon_sym___leave] = ACTIONS(1364), + [anon_sym_DASH_DASH] = ACTIONS(1366), + [anon_sym_PLUS_PLUS] = ACTIONS(1366), + [anon_sym_sizeof] = ACTIONS(1364), + [anon_sym___alignof__] = ACTIONS(1364), + [anon_sym___alignof] = ACTIONS(1364), + [anon_sym__alignof] = ACTIONS(1364), + [anon_sym_alignof] = ACTIONS(1364), + [anon_sym__Alignof] = ACTIONS(1364), + [anon_sym_offsetof] = ACTIONS(1364), + [anon_sym__Generic] = ACTIONS(1364), + [anon_sym_asm] = ACTIONS(1364), + [anon_sym___asm__] = ACTIONS(1364), + [anon_sym___asm] = ACTIONS(1364), + [sym_number_literal] = ACTIONS(1366), + [anon_sym_L_SQUOTE] = ACTIONS(1366), + [anon_sym_u_SQUOTE] = ACTIONS(1366), + [anon_sym_U_SQUOTE] = ACTIONS(1366), + [anon_sym_u8_SQUOTE] = ACTIONS(1366), + [anon_sym_SQUOTE] = ACTIONS(1366), + [anon_sym_L_DQUOTE] = ACTIONS(1366), + [anon_sym_u_DQUOTE] = ACTIONS(1366), + [anon_sym_U_DQUOTE] = ACTIONS(1366), + [anon_sym_u8_DQUOTE] = ACTIONS(1366), + [anon_sym_DQUOTE] = ACTIONS(1366), + [sym_true] = ACTIONS(1364), + [sym_false] = ACTIONS(1364), + [anon_sym_NULL] = ACTIONS(1364), + [anon_sym_nullptr] = ACTIONS(1364), + [sym_comment] = ACTIONS(3), + }, + [261] = { + [sym_identifier] = ACTIONS(1368), + [aux_sym_preproc_include_token1] = ACTIONS(1368), + [aux_sym_preproc_def_token1] = ACTIONS(1368), + [aux_sym_preproc_if_token1] = ACTIONS(1368), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1368), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1368), + [sym_preproc_directive] = ACTIONS(1368), + [anon_sym_LPAREN2] = ACTIONS(1370), + [anon_sym_BANG] = ACTIONS(1370), + [anon_sym_TILDE] = ACTIONS(1370), + [anon_sym_DASH] = ACTIONS(1368), + [anon_sym_PLUS] = ACTIONS(1368), + [anon_sym_STAR] = ACTIONS(1370), + [anon_sym_AMP] = ACTIONS(1370), + [anon_sym_SEMI] = ACTIONS(1370), + [anon_sym___extension__] = ACTIONS(1368), + [anon_sym_typedef] = ACTIONS(1368), + [anon_sym_extern] = ACTIONS(1368), + [anon_sym___attribute__] = ACTIONS(1368), + [anon_sym___attribute] = ACTIONS(1368), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1370), + [anon_sym___declspec] = ACTIONS(1368), + [anon_sym___cdecl] = ACTIONS(1368), + [anon_sym___clrcall] = ACTIONS(1368), + [anon_sym___stdcall] = ACTIONS(1368), + [anon_sym___fastcall] = ACTIONS(1368), + [anon_sym___thiscall] = ACTIONS(1368), + [anon_sym___vectorcall] = ACTIONS(1368), + [anon_sym_LBRACE] = ACTIONS(1370), + [anon_sym_RBRACE] = ACTIONS(1370), + [anon_sym_signed] = ACTIONS(1368), + [anon_sym_unsigned] = ACTIONS(1368), + [anon_sym_long] = ACTIONS(1368), + [anon_sym_short] = ACTIONS(1368), + [anon_sym_static] = ACTIONS(1368), + [anon_sym_auto] = ACTIONS(1368), + [anon_sym_register] = ACTIONS(1368), + [anon_sym_inline] = ACTIONS(1368), + [anon_sym___inline] = ACTIONS(1368), + [anon_sym___inline__] = ACTIONS(1368), + [anon_sym___forceinline] = ACTIONS(1368), + [anon_sym_thread_local] = ACTIONS(1368), + [anon_sym___thread] = ACTIONS(1368), + [anon_sym_const] = ACTIONS(1368), + [anon_sym_constexpr] = ACTIONS(1368), + [anon_sym_volatile] = ACTIONS(1368), + [anon_sym_restrict] = ACTIONS(1368), + [anon_sym___restrict__] = ACTIONS(1368), + [anon_sym__Atomic] = ACTIONS(1368), + [anon_sym__Noreturn] = ACTIONS(1368), + [anon_sym_noreturn] = ACTIONS(1368), + [anon_sym__Nonnull] = ACTIONS(1368), + [anon_sym_alignas] = ACTIONS(1368), + [anon_sym__Alignas] = ACTIONS(1368), + [sym_primitive_type] = ACTIONS(1368), + [anon_sym_enum] = ACTIONS(1368), + [anon_sym_struct] = ACTIONS(1368), + [anon_sym_union] = ACTIONS(1368), + [anon_sym_if] = ACTIONS(1368), + [anon_sym_switch] = ACTIONS(1368), + [anon_sym_case] = ACTIONS(1368), + [anon_sym_default] = ACTIONS(1368), + [anon_sym_while] = ACTIONS(1368), + [anon_sym_do] = ACTIONS(1368), + [anon_sym_for] = ACTIONS(1368), + [anon_sym_return] = ACTIONS(1368), + [anon_sym_break] = ACTIONS(1368), + [anon_sym_continue] = ACTIONS(1368), + [anon_sym_goto] = ACTIONS(1368), + [anon_sym___try] = ACTIONS(1368), + [anon_sym___leave] = ACTIONS(1368), + [anon_sym_DASH_DASH] = ACTIONS(1370), + [anon_sym_PLUS_PLUS] = ACTIONS(1370), + [anon_sym_sizeof] = ACTIONS(1368), + [anon_sym___alignof__] = ACTIONS(1368), + [anon_sym___alignof] = ACTIONS(1368), + [anon_sym__alignof] = ACTIONS(1368), + [anon_sym_alignof] = ACTIONS(1368), + [anon_sym__Alignof] = ACTIONS(1368), + [anon_sym_offsetof] = ACTIONS(1368), + [anon_sym__Generic] = ACTIONS(1368), + [anon_sym_asm] = ACTIONS(1368), + [anon_sym___asm__] = ACTIONS(1368), + [anon_sym___asm] = ACTIONS(1368), + [sym_number_literal] = ACTIONS(1370), + [anon_sym_L_SQUOTE] = ACTIONS(1370), + [anon_sym_u_SQUOTE] = ACTIONS(1370), + [anon_sym_U_SQUOTE] = ACTIONS(1370), + [anon_sym_u8_SQUOTE] = ACTIONS(1370), + [anon_sym_SQUOTE] = ACTIONS(1370), + [anon_sym_L_DQUOTE] = ACTIONS(1370), + [anon_sym_u_DQUOTE] = ACTIONS(1370), + [anon_sym_U_DQUOTE] = ACTIONS(1370), + [anon_sym_u8_DQUOTE] = ACTIONS(1370), + [anon_sym_DQUOTE] = ACTIONS(1370), + [sym_true] = ACTIONS(1368), + [sym_false] = ACTIONS(1368), + [anon_sym_NULL] = ACTIONS(1368), + [anon_sym_nullptr] = ACTIONS(1368), + [sym_comment] = ACTIONS(3), + }, + [262] = { + [sym_identifier] = ACTIONS(1360), + [aux_sym_preproc_include_token1] = ACTIONS(1360), + [aux_sym_preproc_def_token1] = ACTIONS(1360), + [aux_sym_preproc_if_token1] = ACTIONS(1360), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1360), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1360), + [sym_preproc_directive] = ACTIONS(1360), + [anon_sym_LPAREN2] = ACTIONS(1362), + [anon_sym_BANG] = ACTIONS(1362), + [anon_sym_TILDE] = ACTIONS(1362), + [anon_sym_DASH] = ACTIONS(1360), + [anon_sym_PLUS] = ACTIONS(1360), + [anon_sym_STAR] = ACTIONS(1362), + [anon_sym_AMP] = ACTIONS(1362), + [anon_sym_SEMI] = ACTIONS(1362), + [anon_sym___extension__] = ACTIONS(1360), + [anon_sym_typedef] = ACTIONS(1360), + [anon_sym_extern] = ACTIONS(1360), + [anon_sym___attribute__] = ACTIONS(1360), + [anon_sym___attribute] = ACTIONS(1360), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1362), + [anon_sym___declspec] = ACTIONS(1360), + [anon_sym___cdecl] = ACTIONS(1360), + [anon_sym___clrcall] = ACTIONS(1360), + [anon_sym___stdcall] = ACTIONS(1360), + [anon_sym___fastcall] = ACTIONS(1360), + [anon_sym___thiscall] = ACTIONS(1360), + [anon_sym___vectorcall] = ACTIONS(1360), + [anon_sym_LBRACE] = ACTIONS(1362), + [anon_sym_RBRACE] = ACTIONS(1362), + [anon_sym_signed] = ACTIONS(1360), + [anon_sym_unsigned] = ACTIONS(1360), + [anon_sym_long] = ACTIONS(1360), + [anon_sym_short] = ACTIONS(1360), + [anon_sym_static] = ACTIONS(1360), + [anon_sym_auto] = ACTIONS(1360), + [anon_sym_register] = ACTIONS(1360), + [anon_sym_inline] = ACTIONS(1360), + [anon_sym___inline] = ACTIONS(1360), + [anon_sym___inline__] = ACTIONS(1360), + [anon_sym___forceinline] = ACTIONS(1360), + [anon_sym_thread_local] = ACTIONS(1360), + [anon_sym___thread] = ACTIONS(1360), + [anon_sym_const] = ACTIONS(1360), + [anon_sym_constexpr] = ACTIONS(1360), + [anon_sym_volatile] = ACTIONS(1360), + [anon_sym_restrict] = ACTIONS(1360), + [anon_sym___restrict__] = ACTIONS(1360), + [anon_sym__Atomic] = ACTIONS(1360), + [anon_sym__Noreturn] = ACTIONS(1360), + [anon_sym_noreturn] = ACTIONS(1360), + [anon_sym__Nonnull] = ACTIONS(1360), + [anon_sym_alignas] = ACTIONS(1360), + [anon_sym__Alignas] = ACTIONS(1360), + [sym_primitive_type] = ACTIONS(1360), + [anon_sym_enum] = ACTIONS(1360), + [anon_sym_struct] = ACTIONS(1360), + [anon_sym_union] = ACTIONS(1360), + [anon_sym_if] = ACTIONS(1360), + [anon_sym_switch] = ACTIONS(1360), + [anon_sym_case] = ACTIONS(1360), + [anon_sym_default] = ACTIONS(1360), + [anon_sym_while] = ACTIONS(1360), + [anon_sym_do] = ACTIONS(1360), + [anon_sym_for] = ACTIONS(1360), + [anon_sym_return] = ACTIONS(1360), + [anon_sym_break] = ACTIONS(1360), + [anon_sym_continue] = ACTIONS(1360), + [anon_sym_goto] = ACTIONS(1360), + [anon_sym___try] = ACTIONS(1360), + [anon_sym___leave] = ACTIONS(1360), + [anon_sym_DASH_DASH] = ACTIONS(1362), + [anon_sym_PLUS_PLUS] = ACTIONS(1362), + [anon_sym_sizeof] = ACTIONS(1360), + [anon_sym___alignof__] = ACTIONS(1360), + [anon_sym___alignof] = ACTIONS(1360), + [anon_sym__alignof] = ACTIONS(1360), + [anon_sym_alignof] = ACTIONS(1360), + [anon_sym__Alignof] = ACTIONS(1360), + [anon_sym_offsetof] = ACTIONS(1360), + [anon_sym__Generic] = ACTIONS(1360), + [anon_sym_asm] = ACTIONS(1360), + [anon_sym___asm__] = ACTIONS(1360), + [anon_sym___asm] = ACTIONS(1360), + [sym_number_literal] = ACTIONS(1362), + [anon_sym_L_SQUOTE] = ACTIONS(1362), + [anon_sym_u_SQUOTE] = ACTIONS(1362), + [anon_sym_U_SQUOTE] = ACTIONS(1362), + [anon_sym_u8_SQUOTE] = ACTIONS(1362), + [anon_sym_SQUOTE] = ACTIONS(1362), + [anon_sym_L_DQUOTE] = ACTIONS(1362), + [anon_sym_u_DQUOTE] = ACTIONS(1362), + [anon_sym_U_DQUOTE] = ACTIONS(1362), + [anon_sym_u8_DQUOTE] = ACTIONS(1362), + [anon_sym_DQUOTE] = ACTIONS(1362), + [sym_true] = ACTIONS(1360), + [sym_false] = ACTIONS(1360), + [anon_sym_NULL] = ACTIONS(1360), + [anon_sym_nullptr] = ACTIONS(1360), + [sym_comment] = ACTIONS(3), + }, + [263] = { + [sym_identifier] = ACTIONS(1372), + [aux_sym_preproc_include_token1] = ACTIONS(1372), + [aux_sym_preproc_def_token1] = ACTIONS(1372), + [aux_sym_preproc_if_token1] = ACTIONS(1372), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1372), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1372), + [sym_preproc_directive] = ACTIONS(1372), + [anon_sym_LPAREN2] = ACTIONS(1374), + [anon_sym_BANG] = ACTIONS(1374), + [anon_sym_TILDE] = ACTIONS(1374), + [anon_sym_DASH] = ACTIONS(1372), + [anon_sym_PLUS] = ACTIONS(1372), + [anon_sym_STAR] = ACTIONS(1374), + [anon_sym_AMP] = ACTIONS(1374), + [anon_sym_SEMI] = ACTIONS(1374), + [anon_sym___extension__] = ACTIONS(1372), + [anon_sym_typedef] = ACTIONS(1372), + [anon_sym_extern] = ACTIONS(1372), + [anon_sym___attribute__] = ACTIONS(1372), + [anon_sym___attribute] = ACTIONS(1372), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1374), + [anon_sym___declspec] = ACTIONS(1372), + [anon_sym___cdecl] = ACTIONS(1372), + [anon_sym___clrcall] = ACTIONS(1372), + [anon_sym___stdcall] = ACTIONS(1372), + [anon_sym___fastcall] = ACTIONS(1372), + [anon_sym___thiscall] = ACTIONS(1372), + [anon_sym___vectorcall] = ACTIONS(1372), + [anon_sym_LBRACE] = ACTIONS(1374), + [anon_sym_RBRACE] = ACTIONS(1374), + [anon_sym_signed] = ACTIONS(1372), + [anon_sym_unsigned] = ACTIONS(1372), + [anon_sym_long] = ACTIONS(1372), + [anon_sym_short] = ACTIONS(1372), + [anon_sym_static] = ACTIONS(1372), + [anon_sym_auto] = ACTIONS(1372), + [anon_sym_register] = ACTIONS(1372), + [anon_sym_inline] = ACTIONS(1372), + [anon_sym___inline] = ACTIONS(1372), + [anon_sym___inline__] = ACTIONS(1372), + [anon_sym___forceinline] = ACTIONS(1372), + [anon_sym_thread_local] = ACTIONS(1372), + [anon_sym___thread] = ACTIONS(1372), + [anon_sym_const] = ACTIONS(1372), + [anon_sym_constexpr] = ACTIONS(1372), + [anon_sym_volatile] = ACTIONS(1372), + [anon_sym_restrict] = ACTIONS(1372), + [anon_sym___restrict__] = ACTIONS(1372), + [anon_sym__Atomic] = ACTIONS(1372), + [anon_sym__Noreturn] = ACTIONS(1372), + [anon_sym_noreturn] = ACTIONS(1372), + [anon_sym__Nonnull] = ACTIONS(1372), + [anon_sym_alignas] = ACTIONS(1372), + [anon_sym__Alignas] = ACTIONS(1372), + [sym_primitive_type] = ACTIONS(1372), + [anon_sym_enum] = ACTIONS(1372), + [anon_sym_struct] = ACTIONS(1372), + [anon_sym_union] = ACTIONS(1372), + [anon_sym_if] = ACTIONS(1372), + [anon_sym_switch] = ACTIONS(1372), + [anon_sym_case] = ACTIONS(1372), + [anon_sym_default] = ACTIONS(1372), + [anon_sym_while] = ACTIONS(1372), + [anon_sym_do] = ACTIONS(1372), + [anon_sym_for] = ACTIONS(1372), + [anon_sym_return] = ACTIONS(1372), + [anon_sym_break] = ACTIONS(1372), + [anon_sym_continue] = ACTIONS(1372), + [anon_sym_goto] = ACTIONS(1372), + [anon_sym___try] = ACTIONS(1372), + [anon_sym___leave] = ACTIONS(1372), + [anon_sym_DASH_DASH] = ACTIONS(1374), + [anon_sym_PLUS_PLUS] = ACTIONS(1374), + [anon_sym_sizeof] = ACTIONS(1372), + [anon_sym___alignof__] = ACTIONS(1372), + [anon_sym___alignof] = ACTIONS(1372), + [anon_sym__alignof] = ACTIONS(1372), + [anon_sym_alignof] = ACTIONS(1372), + [anon_sym__Alignof] = ACTIONS(1372), + [anon_sym_offsetof] = ACTIONS(1372), + [anon_sym__Generic] = ACTIONS(1372), + [anon_sym_asm] = ACTIONS(1372), + [anon_sym___asm__] = ACTIONS(1372), + [anon_sym___asm] = ACTIONS(1372), + [sym_number_literal] = ACTIONS(1374), + [anon_sym_L_SQUOTE] = ACTIONS(1374), + [anon_sym_u_SQUOTE] = ACTIONS(1374), + [anon_sym_U_SQUOTE] = ACTIONS(1374), + [anon_sym_u8_SQUOTE] = ACTIONS(1374), + [anon_sym_SQUOTE] = ACTIONS(1374), + [anon_sym_L_DQUOTE] = ACTIONS(1374), + [anon_sym_u_DQUOTE] = ACTIONS(1374), + [anon_sym_U_DQUOTE] = ACTIONS(1374), + [anon_sym_u8_DQUOTE] = ACTIONS(1374), + [anon_sym_DQUOTE] = ACTIONS(1374), + [sym_true] = ACTIONS(1372), + [sym_false] = ACTIONS(1372), + [anon_sym_NULL] = ACTIONS(1372), + [anon_sym_nullptr] = ACTIONS(1372), + [sym_comment] = ACTIONS(3), + }, + [264] = { + [sym_identifier] = ACTIONS(1336), + [aux_sym_preproc_include_token1] = ACTIONS(1336), + [aux_sym_preproc_def_token1] = ACTIONS(1336), + [aux_sym_preproc_if_token1] = ACTIONS(1336), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1336), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1336), + [sym_preproc_directive] = ACTIONS(1336), + [anon_sym_LPAREN2] = ACTIONS(1338), + [anon_sym_BANG] = ACTIONS(1338), + [anon_sym_TILDE] = ACTIONS(1338), + [anon_sym_DASH] = ACTIONS(1336), + [anon_sym_PLUS] = ACTIONS(1336), + [anon_sym_STAR] = ACTIONS(1338), + [anon_sym_AMP] = ACTIONS(1338), + [anon_sym_SEMI] = ACTIONS(1338), + [anon_sym___extension__] = ACTIONS(1336), + [anon_sym_typedef] = ACTIONS(1336), + [anon_sym_extern] = ACTIONS(1336), + [anon_sym___attribute__] = ACTIONS(1336), + [anon_sym___attribute] = ACTIONS(1336), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1338), + [anon_sym___declspec] = ACTIONS(1336), + [anon_sym___cdecl] = ACTIONS(1336), + [anon_sym___clrcall] = ACTIONS(1336), + [anon_sym___stdcall] = ACTIONS(1336), + [anon_sym___fastcall] = ACTIONS(1336), + [anon_sym___thiscall] = ACTIONS(1336), + [anon_sym___vectorcall] = ACTIONS(1336), + [anon_sym_LBRACE] = ACTIONS(1338), + [anon_sym_RBRACE] = ACTIONS(1338), + [anon_sym_signed] = ACTIONS(1336), + [anon_sym_unsigned] = ACTIONS(1336), + [anon_sym_long] = ACTIONS(1336), + [anon_sym_short] = ACTIONS(1336), + [anon_sym_static] = ACTIONS(1336), + [anon_sym_auto] = ACTIONS(1336), + [anon_sym_register] = ACTIONS(1336), + [anon_sym_inline] = ACTIONS(1336), + [anon_sym___inline] = ACTIONS(1336), + [anon_sym___inline__] = ACTIONS(1336), + [anon_sym___forceinline] = ACTIONS(1336), + [anon_sym_thread_local] = ACTIONS(1336), + [anon_sym___thread] = ACTIONS(1336), + [anon_sym_const] = ACTIONS(1336), + [anon_sym_constexpr] = ACTIONS(1336), + [anon_sym_volatile] = ACTIONS(1336), + [anon_sym_restrict] = ACTIONS(1336), + [anon_sym___restrict__] = ACTIONS(1336), + [anon_sym__Atomic] = ACTIONS(1336), + [anon_sym__Noreturn] = ACTIONS(1336), + [anon_sym_noreturn] = ACTIONS(1336), + [anon_sym__Nonnull] = ACTIONS(1336), + [anon_sym_alignas] = ACTIONS(1336), + [anon_sym__Alignas] = ACTIONS(1336), + [sym_primitive_type] = ACTIONS(1336), + [anon_sym_enum] = ACTIONS(1336), + [anon_sym_struct] = ACTIONS(1336), + [anon_sym_union] = ACTIONS(1336), + [anon_sym_if] = ACTIONS(1336), + [anon_sym_switch] = ACTIONS(1336), + [anon_sym_case] = ACTIONS(1336), + [anon_sym_default] = ACTIONS(1336), + [anon_sym_while] = ACTIONS(1336), + [anon_sym_do] = ACTIONS(1336), + [anon_sym_for] = ACTIONS(1336), + [anon_sym_return] = ACTIONS(1336), + [anon_sym_break] = ACTIONS(1336), + [anon_sym_continue] = ACTIONS(1336), + [anon_sym_goto] = ACTIONS(1336), + [anon_sym___try] = ACTIONS(1336), + [anon_sym___leave] = ACTIONS(1336), + [anon_sym_DASH_DASH] = ACTIONS(1338), + [anon_sym_PLUS_PLUS] = ACTIONS(1338), + [anon_sym_sizeof] = ACTIONS(1336), + [anon_sym___alignof__] = ACTIONS(1336), + [anon_sym___alignof] = ACTIONS(1336), + [anon_sym__alignof] = ACTIONS(1336), + [anon_sym_alignof] = ACTIONS(1336), + [anon_sym__Alignof] = ACTIONS(1336), + [anon_sym_offsetof] = ACTIONS(1336), + [anon_sym__Generic] = ACTIONS(1336), + [anon_sym_asm] = ACTIONS(1336), + [anon_sym___asm__] = ACTIONS(1336), + [anon_sym___asm] = ACTIONS(1336), + [sym_number_literal] = ACTIONS(1338), + [anon_sym_L_SQUOTE] = ACTIONS(1338), + [anon_sym_u_SQUOTE] = ACTIONS(1338), + [anon_sym_U_SQUOTE] = ACTIONS(1338), + [anon_sym_u8_SQUOTE] = ACTIONS(1338), + [anon_sym_SQUOTE] = ACTIONS(1338), + [anon_sym_L_DQUOTE] = ACTIONS(1338), + [anon_sym_u_DQUOTE] = ACTIONS(1338), + [anon_sym_U_DQUOTE] = ACTIONS(1338), + [anon_sym_u8_DQUOTE] = ACTIONS(1338), + [anon_sym_DQUOTE] = ACTIONS(1338), + [sym_true] = ACTIONS(1336), + [sym_false] = ACTIONS(1336), + [anon_sym_NULL] = ACTIONS(1336), + [anon_sym_nullptr] = ACTIONS(1336), + [sym_comment] = ACTIONS(3), + }, + [265] = { + [sym_identifier] = ACTIONS(1376), + [aux_sym_preproc_include_token1] = ACTIONS(1376), + [aux_sym_preproc_def_token1] = ACTIONS(1376), + [aux_sym_preproc_if_token1] = ACTIONS(1376), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1376), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1376), + [sym_preproc_directive] = ACTIONS(1376), + [anon_sym_LPAREN2] = ACTIONS(1378), + [anon_sym_BANG] = ACTIONS(1378), + [anon_sym_TILDE] = ACTIONS(1378), + [anon_sym_DASH] = ACTIONS(1376), + [anon_sym_PLUS] = ACTIONS(1376), + [anon_sym_STAR] = ACTIONS(1378), + [anon_sym_AMP] = ACTIONS(1378), + [anon_sym_SEMI] = ACTIONS(1378), + [anon_sym___extension__] = ACTIONS(1376), + [anon_sym_typedef] = ACTIONS(1376), + [anon_sym_extern] = ACTIONS(1376), + [anon_sym___attribute__] = ACTIONS(1376), + [anon_sym___attribute] = ACTIONS(1376), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1378), + [anon_sym___declspec] = ACTIONS(1376), + [anon_sym___cdecl] = ACTIONS(1376), + [anon_sym___clrcall] = ACTIONS(1376), + [anon_sym___stdcall] = ACTIONS(1376), + [anon_sym___fastcall] = ACTIONS(1376), + [anon_sym___thiscall] = ACTIONS(1376), + [anon_sym___vectorcall] = ACTIONS(1376), + [anon_sym_LBRACE] = ACTIONS(1378), + [anon_sym_RBRACE] = ACTIONS(1378), + [anon_sym_signed] = ACTIONS(1376), + [anon_sym_unsigned] = ACTIONS(1376), + [anon_sym_long] = ACTIONS(1376), + [anon_sym_short] = ACTIONS(1376), + [anon_sym_static] = ACTIONS(1376), + [anon_sym_auto] = ACTIONS(1376), + [anon_sym_register] = ACTIONS(1376), + [anon_sym_inline] = ACTIONS(1376), + [anon_sym___inline] = ACTIONS(1376), + [anon_sym___inline__] = ACTIONS(1376), + [anon_sym___forceinline] = ACTIONS(1376), + [anon_sym_thread_local] = ACTIONS(1376), + [anon_sym___thread] = ACTIONS(1376), + [anon_sym_const] = ACTIONS(1376), + [anon_sym_constexpr] = ACTIONS(1376), + [anon_sym_volatile] = ACTIONS(1376), + [anon_sym_restrict] = ACTIONS(1376), + [anon_sym___restrict__] = ACTIONS(1376), + [anon_sym__Atomic] = ACTIONS(1376), + [anon_sym__Noreturn] = ACTIONS(1376), + [anon_sym_noreturn] = ACTIONS(1376), + [anon_sym__Nonnull] = ACTIONS(1376), + [anon_sym_alignas] = ACTIONS(1376), + [anon_sym__Alignas] = ACTIONS(1376), + [sym_primitive_type] = ACTIONS(1376), + [anon_sym_enum] = ACTIONS(1376), + [anon_sym_struct] = ACTIONS(1376), + [anon_sym_union] = ACTIONS(1376), + [anon_sym_if] = ACTIONS(1376), + [anon_sym_switch] = ACTIONS(1376), + [anon_sym_case] = ACTIONS(1376), + [anon_sym_default] = ACTIONS(1376), + [anon_sym_while] = ACTIONS(1376), + [anon_sym_do] = ACTIONS(1376), + [anon_sym_for] = ACTIONS(1376), + [anon_sym_return] = ACTIONS(1376), + [anon_sym_break] = ACTIONS(1376), + [anon_sym_continue] = ACTIONS(1376), + [anon_sym_goto] = ACTIONS(1376), + [anon_sym___try] = ACTIONS(1376), + [anon_sym___leave] = ACTIONS(1376), + [anon_sym_DASH_DASH] = ACTIONS(1378), + [anon_sym_PLUS_PLUS] = ACTIONS(1378), + [anon_sym_sizeof] = ACTIONS(1376), + [anon_sym___alignof__] = ACTIONS(1376), + [anon_sym___alignof] = ACTIONS(1376), + [anon_sym__alignof] = ACTIONS(1376), + [anon_sym_alignof] = ACTIONS(1376), + [anon_sym__Alignof] = ACTIONS(1376), + [anon_sym_offsetof] = ACTIONS(1376), + [anon_sym__Generic] = ACTIONS(1376), + [anon_sym_asm] = ACTIONS(1376), + [anon_sym___asm__] = ACTIONS(1376), + [anon_sym___asm] = ACTIONS(1376), + [sym_number_literal] = ACTIONS(1378), + [anon_sym_L_SQUOTE] = ACTIONS(1378), + [anon_sym_u_SQUOTE] = ACTIONS(1378), + [anon_sym_U_SQUOTE] = ACTIONS(1378), + [anon_sym_u8_SQUOTE] = ACTIONS(1378), + [anon_sym_SQUOTE] = ACTIONS(1378), + [anon_sym_L_DQUOTE] = ACTIONS(1378), + [anon_sym_u_DQUOTE] = ACTIONS(1378), + [anon_sym_U_DQUOTE] = ACTIONS(1378), + [anon_sym_u8_DQUOTE] = ACTIONS(1378), + [anon_sym_DQUOTE] = ACTIONS(1378), + [sym_true] = ACTIONS(1376), + [sym_false] = ACTIONS(1376), + [anon_sym_NULL] = ACTIONS(1376), + [anon_sym_nullptr] = ACTIONS(1376), + [sym_comment] = ACTIONS(3), + }, + [266] = { + [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(1274), + [anon_sym_BANG] = ACTIONS(1274), + [anon_sym_TILDE] = ACTIONS(1274), + [anon_sym_DASH] = ACTIONS(1272), + [anon_sym_PLUS] = ACTIONS(1272), + [anon_sym_STAR] = ACTIONS(1274), + [anon_sym_AMP] = ACTIONS(1274), + [anon_sym_SEMI] = ACTIONS(1274), + [anon_sym___extension__] = ACTIONS(1272), + [anon_sym_typedef] = ACTIONS(1272), + [anon_sym_extern] = ACTIONS(1272), + [anon_sym___attribute__] = ACTIONS(1272), + [anon_sym___attribute] = ACTIONS(1272), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1274), + [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(1274), + [anon_sym_RBRACE] = ACTIONS(1274), + [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__Nonnull] = 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(1274), + [anon_sym_PLUS_PLUS] = ACTIONS(1274), + [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), + [anon_sym___asm] = ACTIONS(1272), + [sym_number_literal] = ACTIONS(1274), + [anon_sym_L_SQUOTE] = ACTIONS(1274), + [anon_sym_u_SQUOTE] = ACTIONS(1274), + [anon_sym_U_SQUOTE] = ACTIONS(1274), + [anon_sym_u8_SQUOTE] = ACTIONS(1274), + [anon_sym_SQUOTE] = ACTIONS(1274), + [anon_sym_L_DQUOTE] = ACTIONS(1274), + [anon_sym_u_DQUOTE] = ACTIONS(1274), + [anon_sym_U_DQUOTE] = ACTIONS(1274), + [anon_sym_u8_DQUOTE] = ACTIONS(1274), + [anon_sym_DQUOTE] = ACTIONS(1274), + [sym_true] = ACTIONS(1272), + [sym_false] = ACTIONS(1272), + [anon_sym_NULL] = ACTIONS(1272), + [anon_sym_nullptr] = ACTIONS(1272), + [sym_comment] = ACTIONS(3), + }, + [267] = { + [sym_identifier] = ACTIONS(1276), + [aux_sym_preproc_include_token1] = ACTIONS(1276), + [aux_sym_preproc_def_token1] = ACTIONS(1276), + [aux_sym_preproc_if_token1] = ACTIONS(1276), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1276), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1276), + [sym_preproc_directive] = ACTIONS(1276), + [anon_sym_LPAREN2] = ACTIONS(1278), + [anon_sym_BANG] = ACTIONS(1278), + [anon_sym_TILDE] = ACTIONS(1278), + [anon_sym_DASH] = ACTIONS(1276), + [anon_sym_PLUS] = ACTIONS(1276), + [anon_sym_STAR] = ACTIONS(1278), + [anon_sym_AMP] = ACTIONS(1278), + [anon_sym_SEMI] = ACTIONS(1278), + [anon_sym___extension__] = ACTIONS(1276), + [anon_sym_typedef] = ACTIONS(1276), + [anon_sym_extern] = ACTIONS(1276), + [anon_sym___attribute__] = ACTIONS(1276), + [anon_sym___attribute] = ACTIONS(1276), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1278), + [anon_sym___declspec] = ACTIONS(1276), + [anon_sym___cdecl] = ACTIONS(1276), + [anon_sym___clrcall] = ACTIONS(1276), + [anon_sym___stdcall] = ACTIONS(1276), + [anon_sym___fastcall] = ACTIONS(1276), + [anon_sym___thiscall] = ACTIONS(1276), + [anon_sym___vectorcall] = ACTIONS(1276), + [anon_sym_LBRACE] = ACTIONS(1278), + [anon_sym_RBRACE] = ACTIONS(1278), + [anon_sym_signed] = ACTIONS(1276), + [anon_sym_unsigned] = ACTIONS(1276), + [anon_sym_long] = ACTIONS(1276), + [anon_sym_short] = ACTIONS(1276), + [anon_sym_static] = ACTIONS(1276), + [anon_sym_auto] = ACTIONS(1276), + [anon_sym_register] = ACTIONS(1276), + [anon_sym_inline] = ACTIONS(1276), + [anon_sym___inline] = ACTIONS(1276), + [anon_sym___inline__] = ACTIONS(1276), + [anon_sym___forceinline] = ACTIONS(1276), + [anon_sym_thread_local] = ACTIONS(1276), + [anon_sym___thread] = ACTIONS(1276), + [anon_sym_const] = ACTIONS(1276), + [anon_sym_constexpr] = ACTIONS(1276), + [anon_sym_volatile] = ACTIONS(1276), + [anon_sym_restrict] = ACTIONS(1276), + [anon_sym___restrict__] = ACTIONS(1276), + [anon_sym__Atomic] = ACTIONS(1276), + [anon_sym__Noreturn] = ACTIONS(1276), + [anon_sym_noreturn] = ACTIONS(1276), + [anon_sym__Nonnull] = ACTIONS(1276), + [anon_sym_alignas] = ACTIONS(1276), + [anon_sym__Alignas] = ACTIONS(1276), + [sym_primitive_type] = ACTIONS(1276), + [anon_sym_enum] = ACTIONS(1276), + [anon_sym_struct] = ACTIONS(1276), + [anon_sym_union] = ACTIONS(1276), + [anon_sym_if] = ACTIONS(1276), + [anon_sym_switch] = ACTIONS(1276), + [anon_sym_case] = ACTIONS(1276), + [anon_sym_default] = ACTIONS(1276), + [anon_sym_while] = ACTIONS(1276), + [anon_sym_do] = ACTIONS(1276), + [anon_sym_for] = ACTIONS(1276), + [anon_sym_return] = ACTIONS(1276), + [anon_sym_break] = ACTIONS(1276), + [anon_sym_continue] = ACTIONS(1276), + [anon_sym_goto] = ACTIONS(1276), + [anon_sym___try] = ACTIONS(1276), + [anon_sym___leave] = ACTIONS(1276), + [anon_sym_DASH_DASH] = ACTIONS(1278), + [anon_sym_PLUS_PLUS] = ACTIONS(1278), + [anon_sym_sizeof] = ACTIONS(1276), + [anon_sym___alignof__] = ACTIONS(1276), + [anon_sym___alignof] = ACTIONS(1276), + [anon_sym__alignof] = ACTIONS(1276), + [anon_sym_alignof] = ACTIONS(1276), + [anon_sym__Alignof] = ACTIONS(1276), + [anon_sym_offsetof] = ACTIONS(1276), + [anon_sym__Generic] = ACTIONS(1276), + [anon_sym_asm] = ACTIONS(1276), + [anon_sym___asm__] = ACTIONS(1276), + [anon_sym___asm] = ACTIONS(1276), + [sym_number_literal] = ACTIONS(1278), + [anon_sym_L_SQUOTE] = ACTIONS(1278), + [anon_sym_u_SQUOTE] = ACTIONS(1278), + [anon_sym_U_SQUOTE] = ACTIONS(1278), + [anon_sym_u8_SQUOTE] = ACTIONS(1278), + [anon_sym_SQUOTE] = ACTIONS(1278), + [anon_sym_L_DQUOTE] = ACTIONS(1278), + [anon_sym_u_DQUOTE] = ACTIONS(1278), + [anon_sym_U_DQUOTE] = ACTIONS(1278), + [anon_sym_u8_DQUOTE] = ACTIONS(1278), + [anon_sym_DQUOTE] = ACTIONS(1278), + [sym_true] = ACTIONS(1276), + [sym_false] = ACTIONS(1276), + [anon_sym_NULL] = ACTIONS(1276), + [anon_sym_nullptr] = ACTIONS(1276), + [sym_comment] = ACTIONS(3), + }, + [268] = { + [sym_identifier] = ACTIONS(1292), + [aux_sym_preproc_include_token1] = ACTIONS(1292), + [aux_sym_preproc_def_token1] = ACTIONS(1292), + [aux_sym_preproc_if_token1] = ACTIONS(1292), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1292), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1292), + [sym_preproc_directive] = ACTIONS(1292), + [anon_sym_LPAREN2] = ACTIONS(1294), + [anon_sym_BANG] = ACTIONS(1294), + [anon_sym_TILDE] = ACTIONS(1294), + [anon_sym_DASH] = ACTIONS(1292), + [anon_sym_PLUS] = ACTIONS(1292), + [anon_sym_STAR] = ACTIONS(1294), + [anon_sym_AMP] = ACTIONS(1294), + [anon_sym_SEMI] = ACTIONS(1294), + [anon_sym___extension__] = ACTIONS(1292), + [anon_sym_typedef] = ACTIONS(1292), + [anon_sym_extern] = ACTIONS(1292), + [anon_sym___attribute__] = ACTIONS(1292), + [anon_sym___attribute] = ACTIONS(1292), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1294), + [anon_sym___declspec] = ACTIONS(1292), + [anon_sym___cdecl] = ACTIONS(1292), + [anon_sym___clrcall] = ACTIONS(1292), + [anon_sym___stdcall] = ACTIONS(1292), + [anon_sym___fastcall] = ACTIONS(1292), + [anon_sym___thiscall] = ACTIONS(1292), + [anon_sym___vectorcall] = ACTIONS(1292), + [anon_sym_LBRACE] = ACTIONS(1294), + [anon_sym_RBRACE] = ACTIONS(1294), + [anon_sym_signed] = ACTIONS(1292), + [anon_sym_unsigned] = ACTIONS(1292), + [anon_sym_long] = ACTIONS(1292), + [anon_sym_short] = ACTIONS(1292), + [anon_sym_static] = ACTIONS(1292), + [anon_sym_auto] = ACTIONS(1292), + [anon_sym_register] = ACTIONS(1292), + [anon_sym_inline] = ACTIONS(1292), + [anon_sym___inline] = ACTIONS(1292), + [anon_sym___inline__] = ACTIONS(1292), + [anon_sym___forceinline] = ACTIONS(1292), + [anon_sym_thread_local] = ACTIONS(1292), + [anon_sym___thread] = ACTIONS(1292), + [anon_sym_const] = ACTIONS(1292), + [anon_sym_constexpr] = ACTIONS(1292), + [anon_sym_volatile] = ACTIONS(1292), + [anon_sym_restrict] = ACTIONS(1292), + [anon_sym___restrict__] = ACTIONS(1292), + [anon_sym__Atomic] = ACTIONS(1292), + [anon_sym__Noreturn] = ACTIONS(1292), + [anon_sym_noreturn] = ACTIONS(1292), + [anon_sym__Nonnull] = ACTIONS(1292), + [anon_sym_alignas] = ACTIONS(1292), + [anon_sym__Alignas] = ACTIONS(1292), + [sym_primitive_type] = ACTIONS(1292), + [anon_sym_enum] = ACTIONS(1292), + [anon_sym_struct] = ACTIONS(1292), + [anon_sym_union] = ACTIONS(1292), + [anon_sym_if] = ACTIONS(1292), + [anon_sym_switch] = ACTIONS(1292), + [anon_sym_case] = ACTIONS(1292), + [anon_sym_default] = ACTIONS(1292), + [anon_sym_while] = ACTIONS(1292), + [anon_sym_do] = ACTIONS(1292), + [anon_sym_for] = ACTIONS(1292), + [anon_sym_return] = ACTIONS(1292), + [anon_sym_break] = ACTIONS(1292), + [anon_sym_continue] = ACTIONS(1292), + [anon_sym_goto] = ACTIONS(1292), + [anon_sym___try] = ACTIONS(1292), + [anon_sym___leave] = ACTIONS(1292), + [anon_sym_DASH_DASH] = ACTIONS(1294), + [anon_sym_PLUS_PLUS] = ACTIONS(1294), + [anon_sym_sizeof] = ACTIONS(1292), + [anon_sym___alignof__] = ACTIONS(1292), + [anon_sym___alignof] = ACTIONS(1292), + [anon_sym__alignof] = ACTIONS(1292), + [anon_sym_alignof] = ACTIONS(1292), + [anon_sym__Alignof] = ACTIONS(1292), + [anon_sym_offsetof] = ACTIONS(1292), + [anon_sym__Generic] = ACTIONS(1292), + [anon_sym_asm] = ACTIONS(1292), + [anon_sym___asm__] = ACTIONS(1292), + [anon_sym___asm] = ACTIONS(1292), + [sym_number_literal] = ACTIONS(1294), + [anon_sym_L_SQUOTE] = ACTIONS(1294), + [anon_sym_u_SQUOTE] = ACTIONS(1294), + [anon_sym_U_SQUOTE] = ACTIONS(1294), + [anon_sym_u8_SQUOTE] = ACTIONS(1294), + [anon_sym_SQUOTE] = ACTIONS(1294), + [anon_sym_L_DQUOTE] = ACTIONS(1294), + [anon_sym_u_DQUOTE] = ACTIONS(1294), + [anon_sym_U_DQUOTE] = ACTIONS(1294), + [anon_sym_u8_DQUOTE] = ACTIONS(1294), + [anon_sym_DQUOTE] = ACTIONS(1294), + [sym_true] = ACTIONS(1292), + [sym_false] = ACTIONS(1292), + [anon_sym_NULL] = ACTIONS(1292), + [anon_sym_nullptr] = ACTIONS(1292), + [sym_comment] = ACTIONS(3), + }, + [269] = { + [sym_identifier] = ACTIONS(1300), + [aux_sym_preproc_include_token1] = ACTIONS(1300), + [aux_sym_preproc_def_token1] = ACTIONS(1300), + [aux_sym_preproc_if_token1] = ACTIONS(1300), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1300), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1300), + [sym_preproc_directive] = ACTIONS(1300), + [anon_sym_LPAREN2] = ACTIONS(1302), + [anon_sym_BANG] = ACTIONS(1302), + [anon_sym_TILDE] = ACTIONS(1302), + [anon_sym_DASH] = ACTIONS(1300), + [anon_sym_PLUS] = ACTIONS(1300), + [anon_sym_STAR] = ACTIONS(1302), + [anon_sym_AMP] = ACTIONS(1302), + [anon_sym_SEMI] = ACTIONS(1302), + [anon_sym___extension__] = ACTIONS(1300), + [anon_sym_typedef] = ACTIONS(1300), + [anon_sym_extern] = ACTIONS(1300), + [anon_sym___attribute__] = ACTIONS(1300), + [anon_sym___attribute] = ACTIONS(1300), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1302), + [anon_sym___declspec] = ACTIONS(1300), + [anon_sym___cdecl] = ACTIONS(1300), + [anon_sym___clrcall] = ACTIONS(1300), + [anon_sym___stdcall] = ACTIONS(1300), + [anon_sym___fastcall] = ACTIONS(1300), + [anon_sym___thiscall] = ACTIONS(1300), + [anon_sym___vectorcall] = ACTIONS(1300), + [anon_sym_LBRACE] = ACTIONS(1302), + [anon_sym_RBRACE] = ACTIONS(1302), + [anon_sym_signed] = ACTIONS(1300), + [anon_sym_unsigned] = ACTIONS(1300), + [anon_sym_long] = ACTIONS(1300), + [anon_sym_short] = ACTIONS(1300), + [anon_sym_static] = ACTIONS(1300), + [anon_sym_auto] = ACTIONS(1300), + [anon_sym_register] = ACTIONS(1300), + [anon_sym_inline] = ACTIONS(1300), + [anon_sym___inline] = ACTIONS(1300), + [anon_sym___inline__] = ACTIONS(1300), + [anon_sym___forceinline] = ACTIONS(1300), + [anon_sym_thread_local] = ACTIONS(1300), + [anon_sym___thread] = ACTIONS(1300), + [anon_sym_const] = ACTIONS(1300), + [anon_sym_constexpr] = ACTIONS(1300), + [anon_sym_volatile] = ACTIONS(1300), + [anon_sym_restrict] = ACTIONS(1300), + [anon_sym___restrict__] = ACTIONS(1300), + [anon_sym__Atomic] = ACTIONS(1300), + [anon_sym__Noreturn] = ACTIONS(1300), + [anon_sym_noreturn] = ACTIONS(1300), + [anon_sym__Nonnull] = ACTIONS(1300), + [anon_sym_alignas] = ACTIONS(1300), + [anon_sym__Alignas] = ACTIONS(1300), + [sym_primitive_type] = ACTIONS(1300), + [anon_sym_enum] = ACTIONS(1300), + [anon_sym_struct] = ACTIONS(1300), + [anon_sym_union] = ACTIONS(1300), + [anon_sym_if] = ACTIONS(1300), + [anon_sym_switch] = ACTIONS(1300), + [anon_sym_case] = ACTIONS(1300), + [anon_sym_default] = ACTIONS(1300), + [anon_sym_while] = ACTIONS(1300), + [anon_sym_do] = ACTIONS(1300), + [anon_sym_for] = ACTIONS(1300), + [anon_sym_return] = ACTIONS(1300), + [anon_sym_break] = ACTIONS(1300), + [anon_sym_continue] = ACTIONS(1300), + [anon_sym_goto] = ACTIONS(1300), + [anon_sym___try] = ACTIONS(1300), + [anon_sym___leave] = ACTIONS(1300), + [anon_sym_DASH_DASH] = ACTIONS(1302), + [anon_sym_PLUS_PLUS] = ACTIONS(1302), + [anon_sym_sizeof] = ACTIONS(1300), + [anon_sym___alignof__] = ACTIONS(1300), + [anon_sym___alignof] = ACTIONS(1300), + [anon_sym__alignof] = ACTIONS(1300), + [anon_sym_alignof] = ACTIONS(1300), + [anon_sym__Alignof] = ACTIONS(1300), + [anon_sym_offsetof] = ACTIONS(1300), + [anon_sym__Generic] = ACTIONS(1300), + [anon_sym_asm] = ACTIONS(1300), + [anon_sym___asm__] = ACTIONS(1300), + [anon_sym___asm] = ACTIONS(1300), + [sym_number_literal] = ACTIONS(1302), + [anon_sym_L_SQUOTE] = ACTIONS(1302), + [anon_sym_u_SQUOTE] = ACTIONS(1302), + [anon_sym_U_SQUOTE] = ACTIONS(1302), + [anon_sym_u8_SQUOTE] = ACTIONS(1302), + [anon_sym_SQUOTE] = ACTIONS(1302), + [anon_sym_L_DQUOTE] = ACTIONS(1302), + [anon_sym_u_DQUOTE] = ACTIONS(1302), + [anon_sym_U_DQUOTE] = ACTIONS(1302), + [anon_sym_u8_DQUOTE] = ACTIONS(1302), + [anon_sym_DQUOTE] = ACTIONS(1302), + [sym_true] = ACTIONS(1300), + [sym_false] = ACTIONS(1300), + [anon_sym_NULL] = ACTIONS(1300), + [anon_sym_nullptr] = ACTIONS(1300), + [sym_comment] = ACTIONS(3), + }, + [270] = { + [sym_identifier] = ACTIONS(1340), + [aux_sym_preproc_include_token1] = ACTIONS(1340), + [aux_sym_preproc_def_token1] = ACTIONS(1340), + [aux_sym_preproc_if_token1] = ACTIONS(1340), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1340), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1340), + [sym_preproc_directive] = ACTIONS(1340), + [anon_sym_LPAREN2] = ACTIONS(1342), + [anon_sym_BANG] = ACTIONS(1342), + [anon_sym_TILDE] = ACTIONS(1342), + [anon_sym_DASH] = ACTIONS(1340), + [anon_sym_PLUS] = ACTIONS(1340), + [anon_sym_STAR] = ACTIONS(1342), + [anon_sym_AMP] = ACTIONS(1342), + [anon_sym_SEMI] = ACTIONS(1342), + [anon_sym___extension__] = ACTIONS(1340), + [anon_sym_typedef] = ACTIONS(1340), + [anon_sym_extern] = ACTIONS(1340), + [anon_sym___attribute__] = ACTIONS(1340), + [anon_sym___attribute] = ACTIONS(1340), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1342), + [anon_sym___declspec] = ACTIONS(1340), + [anon_sym___cdecl] = ACTIONS(1340), + [anon_sym___clrcall] = ACTIONS(1340), + [anon_sym___stdcall] = ACTIONS(1340), + [anon_sym___fastcall] = ACTIONS(1340), + [anon_sym___thiscall] = ACTIONS(1340), + [anon_sym___vectorcall] = ACTIONS(1340), + [anon_sym_LBRACE] = ACTIONS(1342), + [anon_sym_RBRACE] = ACTIONS(1342), + [anon_sym_signed] = ACTIONS(1340), + [anon_sym_unsigned] = ACTIONS(1340), + [anon_sym_long] = ACTIONS(1340), + [anon_sym_short] = ACTIONS(1340), + [anon_sym_static] = ACTIONS(1340), + [anon_sym_auto] = ACTIONS(1340), + [anon_sym_register] = ACTIONS(1340), + [anon_sym_inline] = ACTIONS(1340), + [anon_sym___inline] = ACTIONS(1340), + [anon_sym___inline__] = ACTIONS(1340), + [anon_sym___forceinline] = ACTIONS(1340), + [anon_sym_thread_local] = ACTIONS(1340), + [anon_sym___thread] = ACTIONS(1340), + [anon_sym_const] = ACTIONS(1340), + [anon_sym_constexpr] = ACTIONS(1340), + [anon_sym_volatile] = ACTIONS(1340), + [anon_sym_restrict] = ACTIONS(1340), + [anon_sym___restrict__] = ACTIONS(1340), + [anon_sym__Atomic] = ACTIONS(1340), + [anon_sym__Noreturn] = ACTIONS(1340), + [anon_sym_noreturn] = ACTIONS(1340), + [anon_sym__Nonnull] = ACTIONS(1340), + [anon_sym_alignas] = ACTIONS(1340), + [anon_sym__Alignas] = ACTIONS(1340), + [sym_primitive_type] = ACTIONS(1340), + [anon_sym_enum] = ACTIONS(1340), + [anon_sym_struct] = ACTIONS(1340), + [anon_sym_union] = ACTIONS(1340), + [anon_sym_if] = ACTIONS(1340), + [anon_sym_switch] = ACTIONS(1340), + [anon_sym_case] = ACTIONS(1340), + [anon_sym_default] = ACTIONS(1340), + [anon_sym_while] = ACTIONS(1340), + [anon_sym_do] = ACTIONS(1340), + [anon_sym_for] = ACTIONS(1340), + [anon_sym_return] = ACTIONS(1340), + [anon_sym_break] = ACTIONS(1340), + [anon_sym_continue] = ACTIONS(1340), + [anon_sym_goto] = ACTIONS(1340), + [anon_sym___try] = ACTIONS(1340), + [anon_sym___leave] = ACTIONS(1340), + [anon_sym_DASH_DASH] = ACTIONS(1342), + [anon_sym_PLUS_PLUS] = ACTIONS(1342), + [anon_sym_sizeof] = ACTIONS(1340), + [anon_sym___alignof__] = ACTIONS(1340), + [anon_sym___alignof] = ACTIONS(1340), + [anon_sym__alignof] = ACTIONS(1340), + [anon_sym_alignof] = ACTIONS(1340), + [anon_sym__Alignof] = ACTIONS(1340), + [anon_sym_offsetof] = ACTIONS(1340), + [anon_sym__Generic] = ACTIONS(1340), + [anon_sym_asm] = ACTIONS(1340), + [anon_sym___asm__] = ACTIONS(1340), + [anon_sym___asm] = ACTIONS(1340), + [sym_number_literal] = ACTIONS(1342), + [anon_sym_L_SQUOTE] = ACTIONS(1342), + [anon_sym_u_SQUOTE] = ACTIONS(1342), + [anon_sym_U_SQUOTE] = ACTIONS(1342), + [anon_sym_u8_SQUOTE] = ACTIONS(1342), + [anon_sym_SQUOTE] = ACTIONS(1342), + [anon_sym_L_DQUOTE] = ACTIONS(1342), + [anon_sym_u_DQUOTE] = ACTIONS(1342), + [anon_sym_U_DQUOTE] = ACTIONS(1342), + [anon_sym_u8_DQUOTE] = ACTIONS(1342), + [anon_sym_DQUOTE] = ACTIONS(1342), + [sym_true] = ACTIONS(1340), + [sym_false] = ACTIONS(1340), + [anon_sym_NULL] = ACTIONS(1340), + [anon_sym_nullptr] = ACTIONS(1340), + [sym_comment] = ACTIONS(3), + }, + [271] = { + [sym_identifier] = ACTIONS(1304), + [aux_sym_preproc_include_token1] = ACTIONS(1304), + [aux_sym_preproc_def_token1] = ACTIONS(1304), + [aux_sym_preproc_if_token1] = ACTIONS(1304), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1304), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1304), + [sym_preproc_directive] = ACTIONS(1304), + [anon_sym_LPAREN2] = ACTIONS(1306), + [anon_sym_BANG] = ACTIONS(1306), + [anon_sym_TILDE] = ACTIONS(1306), + [anon_sym_DASH] = ACTIONS(1304), + [anon_sym_PLUS] = ACTIONS(1304), + [anon_sym_STAR] = ACTIONS(1306), + [anon_sym_AMP] = ACTIONS(1306), + [anon_sym_SEMI] = ACTIONS(1306), + [anon_sym___extension__] = ACTIONS(1304), + [anon_sym_typedef] = ACTIONS(1304), + [anon_sym_extern] = ACTIONS(1304), + [anon_sym___attribute__] = ACTIONS(1304), + [anon_sym___attribute] = ACTIONS(1304), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1306), + [anon_sym___declspec] = ACTIONS(1304), + [anon_sym___cdecl] = ACTIONS(1304), + [anon_sym___clrcall] = ACTIONS(1304), + [anon_sym___stdcall] = ACTIONS(1304), + [anon_sym___fastcall] = ACTIONS(1304), + [anon_sym___thiscall] = ACTIONS(1304), + [anon_sym___vectorcall] = ACTIONS(1304), + [anon_sym_LBRACE] = ACTIONS(1306), + [anon_sym_RBRACE] = ACTIONS(1306), + [anon_sym_signed] = ACTIONS(1304), + [anon_sym_unsigned] = ACTIONS(1304), + [anon_sym_long] = ACTIONS(1304), + [anon_sym_short] = ACTIONS(1304), + [anon_sym_static] = ACTIONS(1304), + [anon_sym_auto] = ACTIONS(1304), + [anon_sym_register] = ACTIONS(1304), + [anon_sym_inline] = ACTIONS(1304), + [anon_sym___inline] = ACTIONS(1304), + [anon_sym___inline__] = ACTIONS(1304), + [anon_sym___forceinline] = ACTIONS(1304), + [anon_sym_thread_local] = ACTIONS(1304), + [anon_sym___thread] = ACTIONS(1304), + [anon_sym_const] = ACTIONS(1304), + [anon_sym_constexpr] = ACTIONS(1304), + [anon_sym_volatile] = ACTIONS(1304), + [anon_sym_restrict] = ACTIONS(1304), + [anon_sym___restrict__] = ACTIONS(1304), + [anon_sym__Atomic] = ACTIONS(1304), + [anon_sym__Noreturn] = ACTIONS(1304), + [anon_sym_noreturn] = ACTIONS(1304), + [anon_sym__Nonnull] = ACTIONS(1304), + [anon_sym_alignas] = ACTIONS(1304), + [anon_sym__Alignas] = ACTIONS(1304), + [sym_primitive_type] = ACTIONS(1304), + [anon_sym_enum] = ACTIONS(1304), + [anon_sym_struct] = ACTIONS(1304), + [anon_sym_union] = ACTIONS(1304), + [anon_sym_if] = ACTIONS(1304), + [anon_sym_switch] = ACTIONS(1304), + [anon_sym_case] = ACTIONS(1304), + [anon_sym_default] = ACTIONS(1304), + [anon_sym_while] = ACTIONS(1304), + [anon_sym_do] = ACTIONS(1304), + [anon_sym_for] = ACTIONS(1304), + [anon_sym_return] = ACTIONS(1304), + [anon_sym_break] = ACTIONS(1304), + [anon_sym_continue] = ACTIONS(1304), + [anon_sym_goto] = ACTIONS(1304), + [anon_sym___try] = ACTIONS(1304), + [anon_sym___leave] = ACTIONS(1304), + [anon_sym_DASH_DASH] = ACTIONS(1306), + [anon_sym_PLUS_PLUS] = ACTIONS(1306), + [anon_sym_sizeof] = ACTIONS(1304), + [anon_sym___alignof__] = ACTIONS(1304), + [anon_sym___alignof] = ACTIONS(1304), + [anon_sym__alignof] = ACTIONS(1304), + [anon_sym_alignof] = ACTIONS(1304), + [anon_sym__Alignof] = ACTIONS(1304), + [anon_sym_offsetof] = ACTIONS(1304), + [anon_sym__Generic] = ACTIONS(1304), + [anon_sym_asm] = ACTIONS(1304), + [anon_sym___asm__] = ACTIONS(1304), + [anon_sym___asm] = ACTIONS(1304), + [sym_number_literal] = ACTIONS(1306), + [anon_sym_L_SQUOTE] = ACTIONS(1306), + [anon_sym_u_SQUOTE] = ACTIONS(1306), + [anon_sym_U_SQUOTE] = ACTIONS(1306), + [anon_sym_u8_SQUOTE] = ACTIONS(1306), + [anon_sym_SQUOTE] = ACTIONS(1306), + [anon_sym_L_DQUOTE] = ACTIONS(1306), + [anon_sym_u_DQUOTE] = ACTIONS(1306), + [anon_sym_U_DQUOTE] = ACTIONS(1306), + [anon_sym_u8_DQUOTE] = ACTIONS(1306), + [anon_sym_DQUOTE] = ACTIONS(1306), + [sym_true] = ACTIONS(1304), + [sym_false] = ACTIONS(1304), + [anon_sym_NULL] = ACTIONS(1304), + [anon_sym_nullptr] = ACTIONS(1304), + [sym_comment] = ACTIONS(3), + }, + [272] = { + [sym_identifier] = ACTIONS(1262), + [aux_sym_preproc_include_token1] = ACTIONS(1262), + [aux_sym_preproc_def_token1] = ACTIONS(1262), + [aux_sym_preproc_if_token1] = ACTIONS(1262), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1262), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1262), + [sym_preproc_directive] = ACTIONS(1262), + [anon_sym_LPAREN2] = ACTIONS(1265), + [anon_sym_BANG] = ACTIONS(1265), + [anon_sym_TILDE] = ACTIONS(1265), + [anon_sym_DASH] = ACTIONS(1262), + [anon_sym_PLUS] = ACTIONS(1262), + [anon_sym_STAR] = ACTIONS(1265), + [anon_sym_AMP] = ACTIONS(1265), + [anon_sym_SEMI] = ACTIONS(1265), + [anon_sym___extension__] = ACTIONS(1262), + [anon_sym_typedef] = ACTIONS(1262), + [anon_sym_extern] = ACTIONS(1262), + [anon_sym___attribute__] = ACTIONS(1262), + [anon_sym___attribute] = ACTIONS(1262), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1265), + [anon_sym___declspec] = ACTIONS(1262), + [anon_sym___cdecl] = ACTIONS(1262), + [anon_sym___clrcall] = ACTIONS(1262), + [anon_sym___stdcall] = ACTIONS(1262), + [anon_sym___fastcall] = ACTIONS(1262), + [anon_sym___thiscall] = ACTIONS(1262), + [anon_sym___vectorcall] = ACTIONS(1262), + [anon_sym_LBRACE] = ACTIONS(1265), + [anon_sym_RBRACE] = ACTIONS(1265), + [anon_sym_signed] = ACTIONS(1262), + [anon_sym_unsigned] = ACTIONS(1262), + [anon_sym_long] = ACTIONS(1262), + [anon_sym_short] = ACTIONS(1262), + [anon_sym_static] = ACTIONS(1262), + [anon_sym_auto] = ACTIONS(1262), + [anon_sym_register] = ACTIONS(1262), + [anon_sym_inline] = ACTIONS(1262), + [anon_sym___inline] = ACTIONS(1262), + [anon_sym___inline__] = ACTIONS(1262), + [anon_sym___forceinline] = ACTIONS(1262), + [anon_sym_thread_local] = ACTIONS(1262), + [anon_sym___thread] = ACTIONS(1262), + [anon_sym_const] = ACTIONS(1262), + [anon_sym_constexpr] = ACTIONS(1262), + [anon_sym_volatile] = ACTIONS(1262), + [anon_sym_restrict] = ACTIONS(1262), + [anon_sym___restrict__] = ACTIONS(1262), + [anon_sym__Atomic] = ACTIONS(1262), + [anon_sym__Noreturn] = ACTIONS(1262), + [anon_sym_noreturn] = ACTIONS(1262), + [anon_sym__Nonnull] = ACTIONS(1262), + [anon_sym_alignas] = ACTIONS(1262), + [anon_sym__Alignas] = ACTIONS(1262), + [sym_primitive_type] = ACTIONS(1262), + [anon_sym_enum] = ACTIONS(1262), + [anon_sym_struct] = ACTIONS(1262), + [anon_sym_union] = ACTIONS(1262), + [anon_sym_if] = ACTIONS(1262), + [anon_sym_switch] = ACTIONS(1262), + [anon_sym_case] = ACTIONS(1262), + [anon_sym_default] = ACTIONS(1262), + [anon_sym_while] = ACTIONS(1262), + [anon_sym_do] = ACTIONS(1262), + [anon_sym_for] = ACTIONS(1262), + [anon_sym_return] = ACTIONS(1262), + [anon_sym_break] = ACTIONS(1262), + [anon_sym_continue] = ACTIONS(1262), + [anon_sym_goto] = ACTIONS(1262), + [anon_sym___try] = ACTIONS(1262), + [anon_sym___leave] = ACTIONS(1262), + [anon_sym_DASH_DASH] = ACTIONS(1265), + [anon_sym_PLUS_PLUS] = ACTIONS(1265), + [anon_sym_sizeof] = ACTIONS(1262), + [anon_sym___alignof__] = ACTIONS(1262), + [anon_sym___alignof] = ACTIONS(1262), + [anon_sym__alignof] = ACTIONS(1262), + [anon_sym_alignof] = ACTIONS(1262), + [anon_sym__Alignof] = ACTIONS(1262), + [anon_sym_offsetof] = ACTIONS(1262), + [anon_sym__Generic] = ACTIONS(1262), + [anon_sym_asm] = ACTIONS(1262), + [anon_sym___asm__] = ACTIONS(1262), + [anon_sym___asm] = ACTIONS(1262), + [sym_number_literal] = ACTIONS(1265), + [anon_sym_L_SQUOTE] = ACTIONS(1265), + [anon_sym_u_SQUOTE] = ACTIONS(1265), + [anon_sym_U_SQUOTE] = ACTIONS(1265), + [anon_sym_u8_SQUOTE] = ACTIONS(1265), + [anon_sym_SQUOTE] = ACTIONS(1265), + [anon_sym_L_DQUOTE] = ACTIONS(1265), + [anon_sym_u_DQUOTE] = ACTIONS(1265), + [anon_sym_U_DQUOTE] = ACTIONS(1265), + [anon_sym_u8_DQUOTE] = ACTIONS(1265), + [anon_sym_DQUOTE] = ACTIONS(1265), + [sym_true] = ACTIONS(1262), + [sym_false] = ACTIONS(1262), + [anon_sym_NULL] = ACTIONS(1262), + [anon_sym_nullptr] = ACTIONS(1262), + [sym_comment] = ACTIONS(3), + }, + [273] = { + [sym_expression] = STATE(700), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(682), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(682), + [sym_call_expression] = STATE(682), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(682), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(682), + [sym_initializer_list] = STATE(686), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_identifier] = ACTIONS(1386), + [anon_sym_COMMA] = ACTIONS(1388), + [anon_sym_RPAREN] = ACTIONS(1388), + [anon_sym_LPAREN2] = ACTIONS(1388), + [anon_sym_BANG] = ACTIONS(1390), + [anon_sym_TILDE] = ACTIONS(1392), + [anon_sym_DASH] = ACTIONS(1394), + [anon_sym_PLUS] = ACTIONS(1394), + [anon_sym_STAR] = ACTIONS(1394), + [anon_sym_SLASH] = ACTIONS(1394), + [anon_sym_PERCENT] = ACTIONS(1394), + [anon_sym_PIPE_PIPE] = ACTIONS(1388), + [anon_sym_AMP_AMP] = ACTIONS(1388), + [anon_sym_PIPE] = ACTIONS(1394), + [anon_sym_CARET] = ACTIONS(1394), + [anon_sym_AMP] = ACTIONS(1394), + [anon_sym_EQ_EQ] = ACTIONS(1388), + [anon_sym_BANG_EQ] = ACTIONS(1388), + [anon_sym_GT] = ACTIONS(1394), + [anon_sym_GT_EQ] = ACTIONS(1388), + [anon_sym_LT_EQ] = ACTIONS(1388), + [anon_sym_LT] = ACTIONS(1394), + [anon_sym_LT_LT] = ACTIONS(1394), + [anon_sym_GT_GT] = ACTIONS(1394), + [anon_sym_SEMI] = ACTIONS(1388), + [anon_sym___extension__] = ACTIONS(1396), + [anon_sym___attribute__] = ACTIONS(1394), + [anon_sym___attribute] = ACTIONS(1394), + [anon_sym_LBRACE] = ACTIONS(1398), + [anon_sym_RBRACE] = ACTIONS(1388), + [anon_sym_LBRACK] = ACTIONS(1388), + [anon_sym_EQ] = ACTIONS(1394), + [anon_sym_COLON] = ACTIONS(1388), + [anon_sym_QMARK] = ACTIONS(1388), + [anon_sym_STAR_EQ] = ACTIONS(1388), + [anon_sym_SLASH_EQ] = ACTIONS(1388), + [anon_sym_PERCENT_EQ] = ACTIONS(1388), + [anon_sym_PLUS_EQ] = ACTIONS(1388), + [anon_sym_DASH_EQ] = ACTIONS(1388), + [anon_sym_LT_LT_EQ] = ACTIONS(1388), + [anon_sym_GT_GT_EQ] = ACTIONS(1388), + [anon_sym_AMP_EQ] = ACTIONS(1388), + [anon_sym_CARET_EQ] = ACTIONS(1388), + [anon_sym_PIPE_EQ] = ACTIONS(1388), + [anon_sym_DASH_DASH] = ACTIONS(1388), + [anon_sym_PLUS_PLUS] = ACTIONS(1388), + [anon_sym_sizeof] = ACTIONS(1400), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [anon_sym_DOT] = ACTIONS(1394), + [anon_sym_DASH_GT] = ACTIONS(1388), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [274] = { + [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___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__Nonnull] = 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), + [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), + }, + [275] = { + [sym_identifier] = ACTIONS(1296), + [aux_sym_preproc_include_token1] = ACTIONS(1296), + [aux_sym_preproc_def_token1] = ACTIONS(1296), + [aux_sym_preproc_if_token1] = ACTIONS(1296), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1296), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1296), + [sym_preproc_directive] = ACTIONS(1296), + [anon_sym_LPAREN2] = ACTIONS(1298), + [anon_sym_BANG] = ACTIONS(1298), + [anon_sym_TILDE] = ACTIONS(1298), + [anon_sym_DASH] = ACTIONS(1296), + [anon_sym_PLUS] = ACTIONS(1296), + [anon_sym_STAR] = ACTIONS(1298), + [anon_sym_AMP] = ACTIONS(1298), + [anon_sym_SEMI] = ACTIONS(1298), + [anon_sym___extension__] = ACTIONS(1296), + [anon_sym_typedef] = ACTIONS(1296), + [anon_sym_extern] = ACTIONS(1296), + [anon_sym___attribute__] = ACTIONS(1296), + [anon_sym___attribute] = ACTIONS(1296), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1298), + [anon_sym___declspec] = ACTIONS(1296), + [anon_sym___cdecl] = ACTIONS(1296), + [anon_sym___clrcall] = ACTIONS(1296), + [anon_sym___stdcall] = ACTIONS(1296), + [anon_sym___fastcall] = ACTIONS(1296), + [anon_sym___thiscall] = ACTIONS(1296), + [anon_sym___vectorcall] = ACTIONS(1296), + [anon_sym_LBRACE] = ACTIONS(1298), + [anon_sym_RBRACE] = ACTIONS(1298), + [anon_sym_signed] = ACTIONS(1296), + [anon_sym_unsigned] = ACTIONS(1296), + [anon_sym_long] = ACTIONS(1296), + [anon_sym_short] = ACTIONS(1296), + [anon_sym_static] = ACTIONS(1296), + [anon_sym_auto] = ACTIONS(1296), + [anon_sym_register] = ACTIONS(1296), + [anon_sym_inline] = ACTIONS(1296), + [anon_sym___inline] = ACTIONS(1296), + [anon_sym___inline__] = ACTIONS(1296), + [anon_sym___forceinline] = ACTIONS(1296), + [anon_sym_thread_local] = ACTIONS(1296), + [anon_sym___thread] = ACTIONS(1296), + [anon_sym_const] = ACTIONS(1296), + [anon_sym_constexpr] = ACTIONS(1296), + [anon_sym_volatile] = ACTIONS(1296), + [anon_sym_restrict] = ACTIONS(1296), + [anon_sym___restrict__] = ACTIONS(1296), + [anon_sym__Atomic] = ACTIONS(1296), + [anon_sym__Noreturn] = ACTIONS(1296), + [anon_sym_noreturn] = ACTIONS(1296), + [anon_sym__Nonnull] = ACTIONS(1296), + [anon_sym_alignas] = ACTIONS(1296), + [anon_sym__Alignas] = ACTIONS(1296), + [sym_primitive_type] = ACTIONS(1296), + [anon_sym_enum] = ACTIONS(1296), + [anon_sym_struct] = ACTIONS(1296), + [anon_sym_union] = ACTIONS(1296), + [anon_sym_if] = ACTIONS(1296), + [anon_sym_switch] = ACTIONS(1296), + [anon_sym_case] = ACTIONS(1296), + [anon_sym_default] = ACTIONS(1296), + [anon_sym_while] = ACTIONS(1296), + [anon_sym_do] = ACTIONS(1296), + [anon_sym_for] = ACTIONS(1296), + [anon_sym_return] = ACTIONS(1296), + [anon_sym_break] = ACTIONS(1296), + [anon_sym_continue] = ACTIONS(1296), + [anon_sym_goto] = ACTIONS(1296), + [anon_sym___try] = ACTIONS(1296), + [anon_sym___leave] = ACTIONS(1296), + [anon_sym_DASH_DASH] = ACTIONS(1298), + [anon_sym_PLUS_PLUS] = ACTIONS(1298), + [anon_sym_sizeof] = ACTIONS(1296), + [anon_sym___alignof__] = ACTIONS(1296), + [anon_sym___alignof] = ACTIONS(1296), + [anon_sym__alignof] = ACTIONS(1296), + [anon_sym_alignof] = ACTIONS(1296), + [anon_sym__Alignof] = ACTIONS(1296), + [anon_sym_offsetof] = ACTIONS(1296), + [anon_sym__Generic] = ACTIONS(1296), + [anon_sym_asm] = ACTIONS(1296), + [anon_sym___asm__] = ACTIONS(1296), + [anon_sym___asm] = ACTIONS(1296), + [sym_number_literal] = ACTIONS(1298), + [anon_sym_L_SQUOTE] = ACTIONS(1298), + [anon_sym_u_SQUOTE] = ACTIONS(1298), + [anon_sym_U_SQUOTE] = ACTIONS(1298), + [anon_sym_u8_SQUOTE] = ACTIONS(1298), + [anon_sym_SQUOTE] = ACTIONS(1298), + [anon_sym_L_DQUOTE] = ACTIONS(1298), + [anon_sym_u_DQUOTE] = ACTIONS(1298), + [anon_sym_U_DQUOTE] = ACTIONS(1298), + [anon_sym_u8_DQUOTE] = ACTIONS(1298), + [anon_sym_DQUOTE] = ACTIONS(1298), + [sym_true] = ACTIONS(1296), + [sym_false] = ACTIONS(1296), + [anon_sym_NULL] = ACTIONS(1296), + [anon_sym_nullptr] = ACTIONS(1296), + [sym_comment] = ACTIONS(3), + }, + [276] = { + [sym_identifier] = ACTIONS(1308), + [aux_sym_preproc_include_token1] = ACTIONS(1308), + [aux_sym_preproc_def_token1] = ACTIONS(1308), + [aux_sym_preproc_if_token1] = ACTIONS(1308), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1308), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1308), + [sym_preproc_directive] = ACTIONS(1308), + [anon_sym_LPAREN2] = ACTIONS(1310), + [anon_sym_BANG] = ACTIONS(1310), + [anon_sym_TILDE] = ACTIONS(1310), + [anon_sym_DASH] = ACTIONS(1308), + [anon_sym_PLUS] = ACTIONS(1308), + [anon_sym_STAR] = ACTIONS(1310), + [anon_sym_AMP] = ACTIONS(1310), + [anon_sym_SEMI] = ACTIONS(1310), + [anon_sym___extension__] = ACTIONS(1308), + [anon_sym_typedef] = ACTIONS(1308), + [anon_sym_extern] = ACTIONS(1308), + [anon_sym___attribute__] = ACTIONS(1308), + [anon_sym___attribute] = ACTIONS(1308), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1310), + [anon_sym___declspec] = ACTIONS(1308), + [anon_sym___cdecl] = ACTIONS(1308), + [anon_sym___clrcall] = ACTIONS(1308), + [anon_sym___stdcall] = ACTIONS(1308), + [anon_sym___fastcall] = ACTIONS(1308), + [anon_sym___thiscall] = ACTIONS(1308), + [anon_sym___vectorcall] = ACTIONS(1308), + [anon_sym_LBRACE] = ACTIONS(1310), + [anon_sym_RBRACE] = ACTIONS(1310), + [anon_sym_signed] = ACTIONS(1308), + [anon_sym_unsigned] = ACTIONS(1308), + [anon_sym_long] = ACTIONS(1308), + [anon_sym_short] = ACTIONS(1308), + [anon_sym_static] = ACTIONS(1308), + [anon_sym_auto] = ACTIONS(1308), + [anon_sym_register] = ACTIONS(1308), + [anon_sym_inline] = ACTIONS(1308), + [anon_sym___inline] = ACTIONS(1308), + [anon_sym___inline__] = ACTIONS(1308), + [anon_sym___forceinline] = ACTIONS(1308), + [anon_sym_thread_local] = ACTIONS(1308), + [anon_sym___thread] = ACTIONS(1308), + [anon_sym_const] = ACTIONS(1308), + [anon_sym_constexpr] = ACTIONS(1308), + [anon_sym_volatile] = ACTIONS(1308), + [anon_sym_restrict] = ACTIONS(1308), + [anon_sym___restrict__] = ACTIONS(1308), + [anon_sym__Atomic] = ACTIONS(1308), + [anon_sym__Noreturn] = ACTIONS(1308), + [anon_sym_noreturn] = ACTIONS(1308), + [anon_sym__Nonnull] = ACTIONS(1308), + [anon_sym_alignas] = ACTIONS(1308), + [anon_sym__Alignas] = ACTIONS(1308), + [sym_primitive_type] = ACTIONS(1308), + [anon_sym_enum] = ACTIONS(1308), + [anon_sym_struct] = ACTIONS(1308), + [anon_sym_union] = ACTIONS(1308), + [anon_sym_if] = ACTIONS(1308), + [anon_sym_switch] = ACTIONS(1308), + [anon_sym_case] = ACTIONS(1308), + [anon_sym_default] = ACTIONS(1308), + [anon_sym_while] = ACTIONS(1308), + [anon_sym_do] = ACTIONS(1308), + [anon_sym_for] = ACTIONS(1308), + [anon_sym_return] = ACTIONS(1308), + [anon_sym_break] = ACTIONS(1308), + [anon_sym_continue] = ACTIONS(1308), + [anon_sym_goto] = ACTIONS(1308), + [anon_sym___try] = ACTIONS(1308), + [anon_sym___leave] = ACTIONS(1308), + [anon_sym_DASH_DASH] = ACTIONS(1310), + [anon_sym_PLUS_PLUS] = ACTIONS(1310), + [anon_sym_sizeof] = ACTIONS(1308), + [anon_sym___alignof__] = ACTIONS(1308), + [anon_sym___alignof] = ACTIONS(1308), + [anon_sym__alignof] = ACTIONS(1308), + [anon_sym_alignof] = ACTIONS(1308), + [anon_sym__Alignof] = ACTIONS(1308), + [anon_sym_offsetof] = ACTIONS(1308), + [anon_sym__Generic] = ACTIONS(1308), + [anon_sym_asm] = ACTIONS(1308), + [anon_sym___asm__] = ACTIONS(1308), + [anon_sym___asm] = ACTIONS(1308), + [sym_number_literal] = ACTIONS(1310), + [anon_sym_L_SQUOTE] = ACTIONS(1310), + [anon_sym_u_SQUOTE] = ACTIONS(1310), + [anon_sym_U_SQUOTE] = ACTIONS(1310), + [anon_sym_u8_SQUOTE] = ACTIONS(1310), + [anon_sym_SQUOTE] = ACTIONS(1310), + [anon_sym_L_DQUOTE] = ACTIONS(1310), + [anon_sym_u_DQUOTE] = ACTIONS(1310), + [anon_sym_U_DQUOTE] = ACTIONS(1310), + [anon_sym_u8_DQUOTE] = ACTIONS(1310), + [anon_sym_DQUOTE] = ACTIONS(1310), + [sym_true] = ACTIONS(1308), + [sym_false] = ACTIONS(1308), + [anon_sym_NULL] = ACTIONS(1308), + [anon_sym_nullptr] = ACTIONS(1308), + [sym_comment] = ACTIONS(3), + }, + [277] = { + [sym_identifier] = ACTIONS(1316), + [aux_sym_preproc_include_token1] = ACTIONS(1316), + [aux_sym_preproc_def_token1] = ACTIONS(1316), + [aux_sym_preproc_if_token1] = ACTIONS(1316), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1316), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1316), + [sym_preproc_directive] = ACTIONS(1316), + [anon_sym_LPAREN2] = ACTIONS(1318), + [anon_sym_BANG] = ACTIONS(1318), + [anon_sym_TILDE] = ACTIONS(1318), + [anon_sym_DASH] = ACTIONS(1316), + [anon_sym_PLUS] = ACTIONS(1316), + [anon_sym_STAR] = ACTIONS(1318), + [anon_sym_AMP] = ACTIONS(1318), + [anon_sym_SEMI] = ACTIONS(1318), + [anon_sym___extension__] = ACTIONS(1316), + [anon_sym_typedef] = ACTIONS(1316), + [anon_sym_extern] = ACTIONS(1316), + [anon_sym___attribute__] = ACTIONS(1316), + [anon_sym___attribute] = ACTIONS(1316), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1318), + [anon_sym___declspec] = ACTIONS(1316), + [anon_sym___cdecl] = ACTIONS(1316), + [anon_sym___clrcall] = ACTIONS(1316), + [anon_sym___stdcall] = ACTIONS(1316), + [anon_sym___fastcall] = ACTIONS(1316), + [anon_sym___thiscall] = ACTIONS(1316), + [anon_sym___vectorcall] = ACTIONS(1316), + [anon_sym_LBRACE] = ACTIONS(1318), + [anon_sym_RBRACE] = ACTIONS(1318), + [anon_sym_signed] = ACTIONS(1316), + [anon_sym_unsigned] = ACTIONS(1316), + [anon_sym_long] = ACTIONS(1316), + [anon_sym_short] = ACTIONS(1316), + [anon_sym_static] = ACTIONS(1316), + [anon_sym_auto] = ACTIONS(1316), + [anon_sym_register] = ACTIONS(1316), + [anon_sym_inline] = ACTIONS(1316), + [anon_sym___inline] = ACTIONS(1316), + [anon_sym___inline__] = ACTIONS(1316), + [anon_sym___forceinline] = ACTIONS(1316), + [anon_sym_thread_local] = ACTIONS(1316), + [anon_sym___thread] = ACTIONS(1316), + [anon_sym_const] = ACTIONS(1316), + [anon_sym_constexpr] = ACTIONS(1316), + [anon_sym_volatile] = ACTIONS(1316), + [anon_sym_restrict] = ACTIONS(1316), + [anon_sym___restrict__] = ACTIONS(1316), + [anon_sym__Atomic] = ACTIONS(1316), + [anon_sym__Noreturn] = ACTIONS(1316), + [anon_sym_noreturn] = ACTIONS(1316), + [anon_sym__Nonnull] = ACTIONS(1316), + [anon_sym_alignas] = ACTIONS(1316), + [anon_sym__Alignas] = ACTIONS(1316), + [sym_primitive_type] = ACTIONS(1316), + [anon_sym_enum] = ACTIONS(1316), + [anon_sym_struct] = ACTIONS(1316), + [anon_sym_union] = ACTIONS(1316), + [anon_sym_if] = ACTIONS(1316), + [anon_sym_switch] = ACTIONS(1316), + [anon_sym_case] = ACTIONS(1316), + [anon_sym_default] = ACTIONS(1316), + [anon_sym_while] = ACTIONS(1316), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1316), + [anon_sym_return] = ACTIONS(1316), + [anon_sym_break] = ACTIONS(1316), + [anon_sym_continue] = ACTIONS(1316), + [anon_sym_goto] = ACTIONS(1316), + [anon_sym___try] = ACTIONS(1316), + [anon_sym___leave] = ACTIONS(1316), + [anon_sym_DASH_DASH] = ACTIONS(1318), + [anon_sym_PLUS_PLUS] = ACTIONS(1318), + [anon_sym_sizeof] = ACTIONS(1316), + [anon_sym___alignof__] = ACTIONS(1316), + [anon_sym___alignof] = ACTIONS(1316), + [anon_sym__alignof] = ACTIONS(1316), + [anon_sym_alignof] = ACTIONS(1316), + [anon_sym__Alignof] = ACTIONS(1316), + [anon_sym_offsetof] = ACTIONS(1316), + [anon_sym__Generic] = ACTIONS(1316), + [anon_sym_asm] = ACTIONS(1316), + [anon_sym___asm__] = ACTIONS(1316), + [anon_sym___asm] = ACTIONS(1316), + [sym_number_literal] = ACTIONS(1318), + [anon_sym_L_SQUOTE] = ACTIONS(1318), + [anon_sym_u_SQUOTE] = ACTIONS(1318), + [anon_sym_U_SQUOTE] = ACTIONS(1318), + [anon_sym_u8_SQUOTE] = ACTIONS(1318), + [anon_sym_SQUOTE] = ACTIONS(1318), + [anon_sym_L_DQUOTE] = ACTIONS(1318), + [anon_sym_u_DQUOTE] = ACTIONS(1318), + [anon_sym_U_DQUOTE] = ACTIONS(1318), + [anon_sym_u8_DQUOTE] = ACTIONS(1318), + [anon_sym_DQUOTE] = ACTIONS(1318), + [sym_true] = ACTIONS(1316), + [sym_false] = ACTIONS(1316), + [anon_sym_NULL] = ACTIONS(1316), + [anon_sym_nullptr] = ACTIONS(1316), + [sym_comment] = ACTIONS(3), + }, + [278] = { + [sym_identifier] = ACTIONS(1320), + [aux_sym_preproc_include_token1] = ACTIONS(1320), + [aux_sym_preproc_def_token1] = ACTIONS(1320), + [aux_sym_preproc_if_token1] = ACTIONS(1320), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1320), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1320), + [sym_preproc_directive] = ACTIONS(1320), + [anon_sym_LPAREN2] = ACTIONS(1322), + [anon_sym_BANG] = ACTIONS(1322), + [anon_sym_TILDE] = ACTIONS(1322), + [anon_sym_DASH] = ACTIONS(1320), + [anon_sym_PLUS] = ACTIONS(1320), + [anon_sym_STAR] = ACTIONS(1322), + [anon_sym_AMP] = ACTIONS(1322), + [anon_sym_SEMI] = ACTIONS(1322), + [anon_sym___extension__] = ACTIONS(1320), + [anon_sym_typedef] = ACTIONS(1320), + [anon_sym_extern] = ACTIONS(1320), + [anon_sym___attribute__] = ACTIONS(1320), + [anon_sym___attribute] = ACTIONS(1320), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1322), + [anon_sym___declspec] = ACTIONS(1320), + [anon_sym___cdecl] = ACTIONS(1320), + [anon_sym___clrcall] = ACTIONS(1320), + [anon_sym___stdcall] = ACTIONS(1320), + [anon_sym___fastcall] = ACTIONS(1320), + [anon_sym___thiscall] = ACTIONS(1320), + [anon_sym___vectorcall] = ACTIONS(1320), + [anon_sym_LBRACE] = ACTIONS(1322), + [anon_sym_RBRACE] = ACTIONS(1322), + [anon_sym_signed] = ACTIONS(1320), + [anon_sym_unsigned] = ACTIONS(1320), + [anon_sym_long] = ACTIONS(1320), + [anon_sym_short] = ACTIONS(1320), + [anon_sym_static] = ACTIONS(1320), + [anon_sym_auto] = ACTIONS(1320), + [anon_sym_register] = ACTIONS(1320), + [anon_sym_inline] = ACTIONS(1320), + [anon_sym___inline] = ACTIONS(1320), + [anon_sym___inline__] = ACTIONS(1320), + [anon_sym___forceinline] = ACTIONS(1320), + [anon_sym_thread_local] = ACTIONS(1320), + [anon_sym___thread] = ACTIONS(1320), + [anon_sym_const] = ACTIONS(1320), + [anon_sym_constexpr] = ACTIONS(1320), + [anon_sym_volatile] = ACTIONS(1320), + [anon_sym_restrict] = ACTIONS(1320), + [anon_sym___restrict__] = ACTIONS(1320), + [anon_sym__Atomic] = ACTIONS(1320), + [anon_sym__Noreturn] = ACTIONS(1320), + [anon_sym_noreturn] = ACTIONS(1320), + [anon_sym__Nonnull] = ACTIONS(1320), + [anon_sym_alignas] = ACTIONS(1320), + [anon_sym__Alignas] = ACTIONS(1320), + [sym_primitive_type] = ACTIONS(1320), + [anon_sym_enum] = ACTIONS(1320), + [anon_sym_struct] = ACTIONS(1320), + [anon_sym_union] = ACTIONS(1320), + [anon_sym_if] = ACTIONS(1320), + [anon_sym_switch] = ACTIONS(1320), + [anon_sym_case] = ACTIONS(1320), + [anon_sym_default] = ACTIONS(1320), + [anon_sym_while] = ACTIONS(1320), + [anon_sym_do] = ACTIONS(1320), + [anon_sym_for] = ACTIONS(1320), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1320), + [anon_sym_continue] = ACTIONS(1320), + [anon_sym_goto] = ACTIONS(1320), + [anon_sym___try] = ACTIONS(1320), + [anon_sym___leave] = ACTIONS(1320), + [anon_sym_DASH_DASH] = ACTIONS(1322), + [anon_sym_PLUS_PLUS] = ACTIONS(1322), + [anon_sym_sizeof] = ACTIONS(1320), + [anon_sym___alignof__] = ACTIONS(1320), + [anon_sym___alignof] = ACTIONS(1320), + [anon_sym__alignof] = ACTIONS(1320), + [anon_sym_alignof] = ACTIONS(1320), + [anon_sym__Alignof] = ACTIONS(1320), + [anon_sym_offsetof] = ACTIONS(1320), + [anon_sym__Generic] = ACTIONS(1320), + [anon_sym_asm] = ACTIONS(1320), + [anon_sym___asm__] = ACTIONS(1320), + [anon_sym___asm] = ACTIONS(1320), + [sym_number_literal] = ACTIONS(1322), + [anon_sym_L_SQUOTE] = ACTIONS(1322), + [anon_sym_u_SQUOTE] = ACTIONS(1322), + [anon_sym_U_SQUOTE] = ACTIONS(1322), + [anon_sym_u8_SQUOTE] = ACTIONS(1322), + [anon_sym_SQUOTE] = ACTIONS(1322), + [anon_sym_L_DQUOTE] = ACTIONS(1322), + [anon_sym_u_DQUOTE] = ACTIONS(1322), + [anon_sym_U_DQUOTE] = ACTIONS(1322), + [anon_sym_u8_DQUOTE] = ACTIONS(1322), + [anon_sym_DQUOTE] = ACTIONS(1322), + [sym_true] = ACTIONS(1320), + [sym_false] = ACTIONS(1320), + [anon_sym_NULL] = ACTIONS(1320), + [anon_sym_nullptr] = ACTIONS(1320), + [sym_comment] = ACTIONS(3), + }, + [279] = { + [sym_identifier] = ACTIONS(1324), + [aux_sym_preproc_include_token1] = ACTIONS(1324), + [aux_sym_preproc_def_token1] = ACTIONS(1324), + [aux_sym_preproc_if_token1] = ACTIONS(1324), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1324), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1324), + [sym_preproc_directive] = ACTIONS(1324), + [anon_sym_LPAREN2] = ACTIONS(1326), + [anon_sym_BANG] = ACTIONS(1326), + [anon_sym_TILDE] = ACTIONS(1326), + [anon_sym_DASH] = ACTIONS(1324), + [anon_sym_PLUS] = ACTIONS(1324), + [anon_sym_STAR] = ACTIONS(1326), + [anon_sym_AMP] = ACTIONS(1326), + [anon_sym_SEMI] = ACTIONS(1326), + [anon_sym___extension__] = ACTIONS(1324), + [anon_sym_typedef] = ACTIONS(1324), + [anon_sym_extern] = ACTIONS(1324), + [anon_sym___attribute__] = ACTIONS(1324), + [anon_sym___attribute] = ACTIONS(1324), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1326), + [anon_sym___declspec] = ACTIONS(1324), + [anon_sym___cdecl] = ACTIONS(1324), + [anon_sym___clrcall] = ACTIONS(1324), + [anon_sym___stdcall] = ACTIONS(1324), + [anon_sym___fastcall] = ACTIONS(1324), + [anon_sym___thiscall] = ACTIONS(1324), + [anon_sym___vectorcall] = ACTIONS(1324), + [anon_sym_LBRACE] = ACTIONS(1326), + [anon_sym_RBRACE] = ACTIONS(1326), + [anon_sym_signed] = ACTIONS(1324), + [anon_sym_unsigned] = ACTIONS(1324), + [anon_sym_long] = ACTIONS(1324), + [anon_sym_short] = ACTIONS(1324), + [anon_sym_static] = ACTIONS(1324), + [anon_sym_auto] = ACTIONS(1324), + [anon_sym_register] = ACTIONS(1324), + [anon_sym_inline] = ACTIONS(1324), + [anon_sym___inline] = ACTIONS(1324), + [anon_sym___inline__] = ACTIONS(1324), + [anon_sym___forceinline] = ACTIONS(1324), + [anon_sym_thread_local] = ACTIONS(1324), + [anon_sym___thread] = ACTIONS(1324), + [anon_sym_const] = ACTIONS(1324), + [anon_sym_constexpr] = ACTIONS(1324), + [anon_sym_volatile] = ACTIONS(1324), + [anon_sym_restrict] = ACTIONS(1324), + [anon_sym___restrict__] = ACTIONS(1324), + [anon_sym__Atomic] = ACTIONS(1324), + [anon_sym__Noreturn] = ACTIONS(1324), + [anon_sym_noreturn] = ACTIONS(1324), + [anon_sym__Nonnull] = ACTIONS(1324), + [anon_sym_alignas] = ACTIONS(1324), + [anon_sym__Alignas] = ACTIONS(1324), + [sym_primitive_type] = ACTIONS(1324), + [anon_sym_enum] = ACTIONS(1324), + [anon_sym_struct] = ACTIONS(1324), + [anon_sym_union] = ACTIONS(1324), + [anon_sym_if] = ACTIONS(1324), + [anon_sym_switch] = ACTIONS(1324), + [anon_sym_case] = ACTIONS(1324), + [anon_sym_default] = ACTIONS(1324), + [anon_sym_while] = ACTIONS(1324), + [anon_sym_do] = ACTIONS(1324), + [anon_sym_for] = ACTIONS(1324), + [anon_sym_return] = ACTIONS(1324), + [anon_sym_break] = ACTIONS(1324), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1324), + [anon_sym___try] = ACTIONS(1324), + [anon_sym___leave] = ACTIONS(1324), + [anon_sym_DASH_DASH] = ACTIONS(1326), + [anon_sym_PLUS_PLUS] = ACTIONS(1326), + [anon_sym_sizeof] = ACTIONS(1324), + [anon_sym___alignof__] = ACTIONS(1324), + [anon_sym___alignof] = ACTIONS(1324), + [anon_sym__alignof] = ACTIONS(1324), + [anon_sym_alignof] = ACTIONS(1324), + [anon_sym__Alignof] = ACTIONS(1324), + [anon_sym_offsetof] = ACTIONS(1324), + [anon_sym__Generic] = ACTIONS(1324), + [anon_sym_asm] = ACTIONS(1324), + [anon_sym___asm__] = ACTIONS(1324), + [anon_sym___asm] = ACTIONS(1324), + [sym_number_literal] = ACTIONS(1326), + [anon_sym_L_SQUOTE] = ACTIONS(1326), + [anon_sym_u_SQUOTE] = ACTIONS(1326), + [anon_sym_U_SQUOTE] = ACTIONS(1326), + [anon_sym_u8_SQUOTE] = ACTIONS(1326), + [anon_sym_SQUOTE] = ACTIONS(1326), + [anon_sym_L_DQUOTE] = ACTIONS(1326), + [anon_sym_u_DQUOTE] = ACTIONS(1326), + [anon_sym_U_DQUOTE] = ACTIONS(1326), + [anon_sym_u8_DQUOTE] = ACTIONS(1326), + [anon_sym_DQUOTE] = ACTIONS(1326), + [sym_true] = ACTIONS(1324), + [sym_false] = ACTIONS(1324), + [anon_sym_NULL] = ACTIONS(1324), + [anon_sym_nullptr] = ACTIONS(1324), + [sym_comment] = ACTIONS(3), + }, + [280] = { + [sym_identifier] = ACTIONS(1328), + [aux_sym_preproc_include_token1] = ACTIONS(1328), + [aux_sym_preproc_def_token1] = ACTIONS(1328), + [aux_sym_preproc_if_token1] = ACTIONS(1328), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1328), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1328), + [sym_preproc_directive] = ACTIONS(1328), + [anon_sym_LPAREN2] = ACTIONS(1330), + [anon_sym_BANG] = ACTIONS(1330), + [anon_sym_TILDE] = ACTIONS(1330), + [anon_sym_DASH] = ACTIONS(1328), + [anon_sym_PLUS] = ACTIONS(1328), + [anon_sym_STAR] = ACTIONS(1330), + [anon_sym_AMP] = ACTIONS(1330), + [anon_sym_SEMI] = ACTIONS(1330), + [anon_sym___extension__] = ACTIONS(1328), + [anon_sym_typedef] = ACTIONS(1328), + [anon_sym_extern] = ACTIONS(1328), + [anon_sym___attribute__] = ACTIONS(1328), + [anon_sym___attribute] = ACTIONS(1328), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1330), + [anon_sym___declspec] = ACTIONS(1328), + [anon_sym___cdecl] = ACTIONS(1328), + [anon_sym___clrcall] = ACTIONS(1328), + [anon_sym___stdcall] = ACTIONS(1328), + [anon_sym___fastcall] = ACTIONS(1328), + [anon_sym___thiscall] = ACTIONS(1328), + [anon_sym___vectorcall] = ACTIONS(1328), + [anon_sym_LBRACE] = ACTIONS(1330), + [anon_sym_RBRACE] = ACTIONS(1330), + [anon_sym_signed] = ACTIONS(1328), + [anon_sym_unsigned] = ACTIONS(1328), + [anon_sym_long] = ACTIONS(1328), + [anon_sym_short] = ACTIONS(1328), + [anon_sym_static] = ACTIONS(1328), + [anon_sym_auto] = ACTIONS(1328), + [anon_sym_register] = ACTIONS(1328), + [anon_sym_inline] = ACTIONS(1328), + [anon_sym___inline] = ACTIONS(1328), + [anon_sym___inline__] = ACTIONS(1328), + [anon_sym___forceinline] = ACTIONS(1328), + [anon_sym_thread_local] = ACTIONS(1328), + [anon_sym___thread] = ACTIONS(1328), + [anon_sym_const] = ACTIONS(1328), + [anon_sym_constexpr] = ACTIONS(1328), + [anon_sym_volatile] = ACTIONS(1328), + [anon_sym_restrict] = ACTIONS(1328), + [anon_sym___restrict__] = ACTIONS(1328), + [anon_sym__Atomic] = ACTIONS(1328), + [anon_sym__Noreturn] = ACTIONS(1328), + [anon_sym_noreturn] = ACTIONS(1328), + [anon_sym__Nonnull] = ACTIONS(1328), + [anon_sym_alignas] = ACTIONS(1328), + [anon_sym__Alignas] = ACTIONS(1328), + [sym_primitive_type] = ACTIONS(1328), + [anon_sym_enum] = ACTIONS(1328), + [anon_sym_struct] = ACTIONS(1328), + [anon_sym_union] = ACTIONS(1328), + [anon_sym_if] = ACTIONS(1328), + [anon_sym_switch] = ACTIONS(1328), + [anon_sym_case] = ACTIONS(1328), + [anon_sym_default] = ACTIONS(1328), + [anon_sym_while] = ACTIONS(1328), + [anon_sym_do] = ACTIONS(1328), + [anon_sym_for] = ACTIONS(1328), + [anon_sym_return] = ACTIONS(1328), + [anon_sym_break] = ACTIONS(1328), + [anon_sym_continue] = ACTIONS(1328), + [anon_sym_goto] = ACTIONS(1328), + [anon_sym___try] = ACTIONS(1328), + [anon_sym___leave] = ACTIONS(1328), + [anon_sym_DASH_DASH] = ACTIONS(1330), + [anon_sym_PLUS_PLUS] = ACTIONS(1330), + [anon_sym_sizeof] = ACTIONS(1328), + [anon_sym___alignof__] = ACTIONS(1328), + [anon_sym___alignof] = ACTIONS(1328), + [anon_sym__alignof] = ACTIONS(1328), + [anon_sym_alignof] = ACTIONS(1328), + [anon_sym__Alignof] = ACTIONS(1328), + [anon_sym_offsetof] = ACTIONS(1328), + [anon_sym__Generic] = ACTIONS(1328), + [anon_sym_asm] = ACTIONS(1328), + [anon_sym___asm__] = ACTIONS(1328), + [anon_sym___asm] = ACTIONS(1328), + [sym_number_literal] = ACTIONS(1330), + [anon_sym_L_SQUOTE] = ACTIONS(1330), + [anon_sym_u_SQUOTE] = ACTIONS(1330), + [anon_sym_U_SQUOTE] = ACTIONS(1330), + [anon_sym_u8_SQUOTE] = ACTIONS(1330), + [anon_sym_SQUOTE] = ACTIONS(1330), + [anon_sym_L_DQUOTE] = ACTIONS(1330), + [anon_sym_u_DQUOTE] = ACTIONS(1330), + [anon_sym_U_DQUOTE] = ACTIONS(1330), + [anon_sym_u8_DQUOTE] = ACTIONS(1330), + [anon_sym_DQUOTE] = ACTIONS(1330), + [sym_true] = ACTIONS(1328), + [sym_false] = ACTIONS(1328), + [anon_sym_NULL] = ACTIONS(1328), + [anon_sym_nullptr] = ACTIONS(1328), + [sym_comment] = ACTIONS(3), + }, + [281] = { + [sym_identifier] = ACTIONS(1332), + [aux_sym_preproc_include_token1] = ACTIONS(1332), + [aux_sym_preproc_def_token1] = ACTIONS(1332), + [aux_sym_preproc_if_token1] = ACTIONS(1332), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1332), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1332), + [sym_preproc_directive] = ACTIONS(1332), + [anon_sym_LPAREN2] = ACTIONS(1334), + [anon_sym_BANG] = ACTIONS(1334), + [anon_sym_TILDE] = ACTIONS(1334), + [anon_sym_DASH] = ACTIONS(1332), + [anon_sym_PLUS] = ACTIONS(1332), + [anon_sym_STAR] = ACTIONS(1334), + [anon_sym_AMP] = ACTIONS(1334), + [anon_sym_SEMI] = ACTIONS(1334), + [anon_sym___extension__] = ACTIONS(1332), + [anon_sym_typedef] = ACTIONS(1332), + [anon_sym_extern] = ACTIONS(1332), + [anon_sym___attribute__] = ACTIONS(1332), + [anon_sym___attribute] = ACTIONS(1332), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1334), + [anon_sym___declspec] = ACTIONS(1332), + [anon_sym___cdecl] = ACTIONS(1332), + [anon_sym___clrcall] = ACTIONS(1332), + [anon_sym___stdcall] = ACTIONS(1332), + [anon_sym___fastcall] = ACTIONS(1332), + [anon_sym___thiscall] = ACTIONS(1332), + [anon_sym___vectorcall] = ACTIONS(1332), + [anon_sym_LBRACE] = ACTIONS(1334), + [anon_sym_RBRACE] = ACTIONS(1334), + [anon_sym_signed] = ACTIONS(1332), + [anon_sym_unsigned] = ACTIONS(1332), + [anon_sym_long] = ACTIONS(1332), + [anon_sym_short] = ACTIONS(1332), + [anon_sym_static] = ACTIONS(1332), + [anon_sym_auto] = ACTIONS(1332), + [anon_sym_register] = ACTIONS(1332), + [anon_sym_inline] = ACTIONS(1332), + [anon_sym___inline] = ACTIONS(1332), + [anon_sym___inline__] = ACTIONS(1332), + [anon_sym___forceinline] = ACTIONS(1332), + [anon_sym_thread_local] = ACTIONS(1332), + [anon_sym___thread] = ACTIONS(1332), + [anon_sym_const] = ACTIONS(1332), + [anon_sym_constexpr] = ACTIONS(1332), + [anon_sym_volatile] = ACTIONS(1332), + [anon_sym_restrict] = ACTIONS(1332), + [anon_sym___restrict__] = ACTIONS(1332), + [anon_sym__Atomic] = ACTIONS(1332), + [anon_sym__Noreturn] = ACTIONS(1332), + [anon_sym_noreturn] = ACTIONS(1332), + [anon_sym__Nonnull] = ACTIONS(1332), + [anon_sym_alignas] = ACTIONS(1332), + [anon_sym__Alignas] = ACTIONS(1332), + [sym_primitive_type] = ACTIONS(1332), + [anon_sym_enum] = ACTIONS(1332), + [anon_sym_struct] = ACTIONS(1332), + [anon_sym_union] = ACTIONS(1332), + [anon_sym_if] = ACTIONS(1332), + [anon_sym_switch] = ACTIONS(1332), + [anon_sym_case] = ACTIONS(1332), + [anon_sym_default] = ACTIONS(1332), + [anon_sym_while] = ACTIONS(1332), + [anon_sym_do] = ACTIONS(1332), + [anon_sym_for] = ACTIONS(1332), + [anon_sym_return] = ACTIONS(1332), + [anon_sym_break] = ACTIONS(1332), + [anon_sym_continue] = ACTIONS(1332), + [anon_sym_goto] = ACTIONS(1332), + [anon_sym___try] = ACTIONS(1332), + [anon_sym___leave] = ACTIONS(1332), + [anon_sym_DASH_DASH] = ACTIONS(1334), + [anon_sym_PLUS_PLUS] = ACTIONS(1334), + [anon_sym_sizeof] = ACTIONS(1332), + [anon_sym___alignof__] = ACTIONS(1332), + [anon_sym___alignof] = ACTIONS(1332), + [anon_sym__alignof] = ACTIONS(1332), + [anon_sym_alignof] = ACTIONS(1332), + [anon_sym__Alignof] = ACTIONS(1332), + [anon_sym_offsetof] = ACTIONS(1332), + [anon_sym__Generic] = ACTIONS(1332), + [anon_sym_asm] = ACTIONS(1332), + [anon_sym___asm__] = ACTIONS(1332), + [anon_sym___asm] = ACTIONS(1332), + [sym_number_literal] = ACTIONS(1334), + [anon_sym_L_SQUOTE] = ACTIONS(1334), + [anon_sym_u_SQUOTE] = ACTIONS(1334), + [anon_sym_U_SQUOTE] = ACTIONS(1334), + [anon_sym_u8_SQUOTE] = ACTIONS(1334), + [anon_sym_SQUOTE] = ACTIONS(1334), + [anon_sym_L_DQUOTE] = ACTIONS(1334), + [anon_sym_u_DQUOTE] = ACTIONS(1334), + [anon_sym_U_DQUOTE] = ACTIONS(1334), + [anon_sym_u8_DQUOTE] = ACTIONS(1334), + [anon_sym_DQUOTE] = ACTIONS(1334), + [sym_true] = ACTIONS(1332), + [sym_false] = ACTIONS(1332), + [anon_sym_NULL] = ACTIONS(1332), + [anon_sym_nullptr] = ACTIONS(1332), + [sym_comment] = ACTIONS(3), + }, + [282] = { + [sym_identifier] = ACTIONS(1348), + [aux_sym_preproc_include_token1] = ACTIONS(1348), + [aux_sym_preproc_def_token1] = ACTIONS(1348), + [aux_sym_preproc_if_token1] = ACTIONS(1348), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1348), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1348), + [sym_preproc_directive] = ACTIONS(1348), + [anon_sym_LPAREN2] = ACTIONS(1350), + [anon_sym_BANG] = ACTIONS(1350), + [anon_sym_TILDE] = ACTIONS(1350), + [anon_sym_DASH] = ACTIONS(1348), + [anon_sym_PLUS] = ACTIONS(1348), + [anon_sym_STAR] = ACTIONS(1350), + [anon_sym_AMP] = ACTIONS(1350), + [anon_sym_SEMI] = ACTIONS(1350), + [anon_sym___extension__] = ACTIONS(1348), + [anon_sym_typedef] = ACTIONS(1348), + [anon_sym_extern] = ACTIONS(1348), + [anon_sym___attribute__] = ACTIONS(1348), + [anon_sym___attribute] = ACTIONS(1348), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1350), + [anon_sym___declspec] = ACTIONS(1348), + [anon_sym___cdecl] = ACTIONS(1348), + [anon_sym___clrcall] = ACTIONS(1348), + [anon_sym___stdcall] = ACTIONS(1348), + [anon_sym___fastcall] = ACTIONS(1348), + [anon_sym___thiscall] = ACTIONS(1348), + [anon_sym___vectorcall] = ACTIONS(1348), + [anon_sym_LBRACE] = ACTIONS(1350), + [anon_sym_RBRACE] = ACTIONS(1350), + [anon_sym_signed] = ACTIONS(1348), + [anon_sym_unsigned] = ACTIONS(1348), + [anon_sym_long] = ACTIONS(1348), + [anon_sym_short] = ACTIONS(1348), + [anon_sym_static] = ACTIONS(1348), + [anon_sym_auto] = ACTIONS(1348), + [anon_sym_register] = ACTIONS(1348), + [anon_sym_inline] = ACTIONS(1348), + [anon_sym___inline] = ACTIONS(1348), + [anon_sym___inline__] = ACTIONS(1348), + [anon_sym___forceinline] = ACTIONS(1348), + [anon_sym_thread_local] = ACTIONS(1348), + [anon_sym___thread] = ACTIONS(1348), + [anon_sym_const] = ACTIONS(1348), + [anon_sym_constexpr] = ACTIONS(1348), + [anon_sym_volatile] = ACTIONS(1348), + [anon_sym_restrict] = ACTIONS(1348), + [anon_sym___restrict__] = ACTIONS(1348), + [anon_sym__Atomic] = ACTIONS(1348), + [anon_sym__Noreturn] = ACTIONS(1348), + [anon_sym_noreturn] = ACTIONS(1348), + [anon_sym__Nonnull] = ACTIONS(1348), + [anon_sym_alignas] = ACTIONS(1348), + [anon_sym__Alignas] = ACTIONS(1348), + [sym_primitive_type] = ACTIONS(1348), + [anon_sym_enum] = ACTIONS(1348), + [anon_sym_struct] = ACTIONS(1348), + [anon_sym_union] = ACTIONS(1348), + [anon_sym_if] = ACTIONS(1348), + [anon_sym_switch] = ACTIONS(1348), + [anon_sym_case] = ACTIONS(1348), + [anon_sym_default] = ACTIONS(1348), + [anon_sym_while] = ACTIONS(1348), + [anon_sym_do] = ACTIONS(1348), + [anon_sym_for] = ACTIONS(1348), + [anon_sym_return] = ACTIONS(1348), + [anon_sym_break] = ACTIONS(1348), + [anon_sym_continue] = ACTIONS(1348), + [anon_sym_goto] = ACTIONS(1348), + [anon_sym___try] = ACTIONS(1348), + [anon_sym___leave] = ACTIONS(1348), + [anon_sym_DASH_DASH] = ACTIONS(1350), + [anon_sym_PLUS_PLUS] = ACTIONS(1350), + [anon_sym_sizeof] = ACTIONS(1348), + [anon_sym___alignof__] = ACTIONS(1348), + [anon_sym___alignof] = ACTIONS(1348), + [anon_sym__alignof] = ACTIONS(1348), + [anon_sym_alignof] = ACTIONS(1348), + [anon_sym__Alignof] = ACTIONS(1348), + [anon_sym_offsetof] = ACTIONS(1348), + [anon_sym__Generic] = ACTIONS(1348), + [anon_sym_asm] = ACTIONS(1348), + [anon_sym___asm__] = ACTIONS(1348), + [anon_sym___asm] = ACTIONS(1348), + [sym_number_literal] = ACTIONS(1350), + [anon_sym_L_SQUOTE] = ACTIONS(1350), + [anon_sym_u_SQUOTE] = ACTIONS(1350), + [anon_sym_U_SQUOTE] = ACTIONS(1350), + [anon_sym_u8_SQUOTE] = ACTIONS(1350), + [anon_sym_SQUOTE] = ACTIONS(1350), + [anon_sym_L_DQUOTE] = ACTIONS(1350), + [anon_sym_u_DQUOTE] = ACTIONS(1350), + [anon_sym_U_DQUOTE] = ACTIONS(1350), + [anon_sym_u8_DQUOTE] = ACTIONS(1350), + [anon_sym_DQUOTE] = ACTIONS(1350), + [sym_true] = ACTIONS(1348), + [sym_false] = ACTIONS(1348), + [anon_sym_NULL] = ACTIONS(1348), + [anon_sym_nullptr] = ACTIONS(1348), + [sym_comment] = ACTIONS(3), + }, + [283] = { + [sym_identifier] = ACTIONS(1280), + [aux_sym_preproc_include_token1] = ACTIONS(1280), + [aux_sym_preproc_def_token1] = ACTIONS(1280), + [aux_sym_preproc_if_token1] = ACTIONS(1280), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1280), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1280), + [sym_preproc_directive] = ACTIONS(1280), + [anon_sym_LPAREN2] = ACTIONS(1282), + [anon_sym_BANG] = ACTIONS(1282), + [anon_sym_TILDE] = ACTIONS(1282), + [anon_sym_DASH] = ACTIONS(1280), + [anon_sym_PLUS] = ACTIONS(1280), + [anon_sym_STAR] = ACTIONS(1282), + [anon_sym_AMP] = ACTIONS(1282), + [anon_sym_SEMI] = ACTIONS(1282), + [anon_sym___extension__] = ACTIONS(1280), + [anon_sym_typedef] = ACTIONS(1280), + [anon_sym_extern] = ACTIONS(1280), + [anon_sym___attribute__] = ACTIONS(1280), + [anon_sym___attribute] = ACTIONS(1280), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1282), + [anon_sym___declspec] = ACTIONS(1280), + [anon_sym___cdecl] = ACTIONS(1280), + [anon_sym___clrcall] = ACTIONS(1280), + [anon_sym___stdcall] = ACTIONS(1280), + [anon_sym___fastcall] = ACTIONS(1280), + [anon_sym___thiscall] = ACTIONS(1280), + [anon_sym___vectorcall] = ACTIONS(1280), + [anon_sym_LBRACE] = ACTIONS(1282), + [anon_sym_RBRACE] = ACTIONS(1282), + [anon_sym_signed] = ACTIONS(1280), + [anon_sym_unsigned] = ACTIONS(1280), + [anon_sym_long] = ACTIONS(1280), + [anon_sym_short] = ACTIONS(1280), + [anon_sym_static] = ACTIONS(1280), + [anon_sym_auto] = ACTIONS(1280), + [anon_sym_register] = ACTIONS(1280), + [anon_sym_inline] = ACTIONS(1280), + [anon_sym___inline] = ACTIONS(1280), + [anon_sym___inline__] = ACTIONS(1280), + [anon_sym___forceinline] = ACTIONS(1280), + [anon_sym_thread_local] = ACTIONS(1280), + [anon_sym___thread] = ACTIONS(1280), + [anon_sym_const] = ACTIONS(1280), + [anon_sym_constexpr] = ACTIONS(1280), + [anon_sym_volatile] = ACTIONS(1280), + [anon_sym_restrict] = ACTIONS(1280), + [anon_sym___restrict__] = ACTIONS(1280), + [anon_sym__Atomic] = ACTIONS(1280), + [anon_sym__Noreturn] = ACTIONS(1280), + [anon_sym_noreturn] = ACTIONS(1280), + [anon_sym__Nonnull] = ACTIONS(1280), + [anon_sym_alignas] = ACTIONS(1280), + [anon_sym__Alignas] = ACTIONS(1280), + [sym_primitive_type] = ACTIONS(1280), + [anon_sym_enum] = ACTIONS(1280), + [anon_sym_struct] = ACTIONS(1280), + [anon_sym_union] = ACTIONS(1280), + [anon_sym_if] = ACTIONS(1280), + [anon_sym_switch] = ACTIONS(1280), + [anon_sym_case] = ACTIONS(1280), + [anon_sym_default] = ACTIONS(1280), + [anon_sym_while] = ACTIONS(1280), + [anon_sym_do] = ACTIONS(1280), + [anon_sym_for] = ACTIONS(1280), + [anon_sym_return] = ACTIONS(1280), + [anon_sym_break] = ACTIONS(1280), + [anon_sym_continue] = ACTIONS(1280), + [anon_sym_goto] = ACTIONS(1280), + [anon_sym___try] = ACTIONS(1280), + [anon_sym___leave] = ACTIONS(1280), + [anon_sym_DASH_DASH] = ACTIONS(1282), + [anon_sym_PLUS_PLUS] = ACTIONS(1282), + [anon_sym_sizeof] = ACTIONS(1280), + [anon_sym___alignof__] = ACTIONS(1280), + [anon_sym___alignof] = ACTIONS(1280), + [anon_sym__alignof] = ACTIONS(1280), + [anon_sym_alignof] = ACTIONS(1280), + [anon_sym__Alignof] = ACTIONS(1280), + [anon_sym_offsetof] = ACTIONS(1280), + [anon_sym__Generic] = ACTIONS(1280), + [anon_sym_asm] = ACTIONS(1280), + [anon_sym___asm__] = ACTIONS(1280), + [anon_sym___asm] = ACTIONS(1280), + [sym_number_literal] = ACTIONS(1282), + [anon_sym_L_SQUOTE] = ACTIONS(1282), + [anon_sym_u_SQUOTE] = ACTIONS(1282), + [anon_sym_U_SQUOTE] = ACTIONS(1282), + [anon_sym_u8_SQUOTE] = ACTIONS(1282), + [anon_sym_SQUOTE] = ACTIONS(1282), + [anon_sym_L_DQUOTE] = ACTIONS(1282), + [anon_sym_u_DQUOTE] = ACTIONS(1282), + [anon_sym_U_DQUOTE] = ACTIONS(1282), + [anon_sym_u8_DQUOTE] = ACTIONS(1282), + [anon_sym_DQUOTE] = ACTIONS(1282), + [sym_true] = ACTIONS(1280), + [sym_false] = ACTIONS(1280), + [anon_sym_NULL] = ACTIONS(1280), + [anon_sym_nullptr] = ACTIONS(1280), + [sym_comment] = ACTIONS(3), + }, + [284] = { + [sym_identifier] = ACTIONS(1284), + [aux_sym_preproc_include_token1] = ACTIONS(1284), + [aux_sym_preproc_def_token1] = ACTIONS(1284), + [aux_sym_preproc_if_token1] = ACTIONS(1284), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1284), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1284), + [sym_preproc_directive] = ACTIONS(1284), + [anon_sym_LPAREN2] = ACTIONS(1286), + [anon_sym_BANG] = ACTIONS(1286), + [anon_sym_TILDE] = ACTIONS(1286), + [anon_sym_DASH] = ACTIONS(1284), + [anon_sym_PLUS] = ACTIONS(1284), + [anon_sym_STAR] = ACTIONS(1286), + [anon_sym_AMP] = ACTIONS(1286), + [anon_sym_SEMI] = ACTIONS(1286), + [anon_sym___extension__] = ACTIONS(1284), + [anon_sym_typedef] = ACTIONS(1284), + [anon_sym_extern] = ACTIONS(1284), + [anon_sym___attribute__] = ACTIONS(1284), + [anon_sym___attribute] = ACTIONS(1284), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1286), + [anon_sym___declspec] = ACTIONS(1284), + [anon_sym___cdecl] = ACTIONS(1284), + [anon_sym___clrcall] = ACTIONS(1284), + [anon_sym___stdcall] = ACTIONS(1284), + [anon_sym___fastcall] = ACTIONS(1284), + [anon_sym___thiscall] = ACTIONS(1284), + [anon_sym___vectorcall] = ACTIONS(1284), + [anon_sym_LBRACE] = ACTIONS(1286), + [anon_sym_RBRACE] = ACTIONS(1286), + [anon_sym_signed] = ACTIONS(1284), + [anon_sym_unsigned] = ACTIONS(1284), + [anon_sym_long] = ACTIONS(1284), + [anon_sym_short] = ACTIONS(1284), + [anon_sym_static] = ACTIONS(1284), + [anon_sym_auto] = ACTIONS(1284), + [anon_sym_register] = ACTIONS(1284), + [anon_sym_inline] = ACTIONS(1284), + [anon_sym___inline] = ACTIONS(1284), + [anon_sym___inline__] = ACTIONS(1284), + [anon_sym___forceinline] = ACTIONS(1284), + [anon_sym_thread_local] = ACTIONS(1284), + [anon_sym___thread] = ACTIONS(1284), + [anon_sym_const] = ACTIONS(1284), + [anon_sym_constexpr] = ACTIONS(1284), + [anon_sym_volatile] = ACTIONS(1284), + [anon_sym_restrict] = ACTIONS(1284), + [anon_sym___restrict__] = ACTIONS(1284), + [anon_sym__Atomic] = ACTIONS(1284), + [anon_sym__Noreturn] = ACTIONS(1284), + [anon_sym_noreturn] = ACTIONS(1284), + [anon_sym__Nonnull] = ACTIONS(1284), + [anon_sym_alignas] = ACTIONS(1284), + [anon_sym__Alignas] = ACTIONS(1284), + [sym_primitive_type] = ACTIONS(1284), + [anon_sym_enum] = ACTIONS(1284), + [anon_sym_struct] = ACTIONS(1284), + [anon_sym_union] = ACTIONS(1284), + [anon_sym_if] = ACTIONS(1284), + [anon_sym_switch] = ACTIONS(1284), + [anon_sym_case] = ACTIONS(1284), + [anon_sym_default] = ACTIONS(1284), + [anon_sym_while] = ACTIONS(1284), + [anon_sym_do] = ACTIONS(1284), + [anon_sym_for] = ACTIONS(1284), + [anon_sym_return] = ACTIONS(1284), + [anon_sym_break] = ACTIONS(1284), + [anon_sym_continue] = ACTIONS(1284), + [anon_sym_goto] = ACTIONS(1284), + [anon_sym___try] = ACTIONS(1284), + [anon_sym___leave] = ACTIONS(1284), + [anon_sym_DASH_DASH] = ACTIONS(1286), + [anon_sym_PLUS_PLUS] = ACTIONS(1286), + [anon_sym_sizeof] = ACTIONS(1284), + [anon_sym___alignof__] = ACTIONS(1284), + [anon_sym___alignof] = ACTIONS(1284), + [anon_sym__alignof] = ACTIONS(1284), + [anon_sym_alignof] = ACTIONS(1284), + [anon_sym__Alignof] = ACTIONS(1284), + [anon_sym_offsetof] = ACTIONS(1284), + [anon_sym__Generic] = ACTIONS(1284), + [anon_sym_asm] = ACTIONS(1284), + [anon_sym___asm__] = ACTIONS(1284), + [anon_sym___asm] = ACTIONS(1284), + [sym_number_literal] = ACTIONS(1286), + [anon_sym_L_SQUOTE] = ACTIONS(1286), + [anon_sym_u_SQUOTE] = ACTIONS(1286), + [anon_sym_U_SQUOTE] = ACTIONS(1286), + [anon_sym_u8_SQUOTE] = ACTIONS(1286), + [anon_sym_SQUOTE] = ACTIONS(1286), + [anon_sym_L_DQUOTE] = ACTIONS(1286), + [anon_sym_u_DQUOTE] = ACTIONS(1286), + [anon_sym_U_DQUOTE] = ACTIONS(1286), + [anon_sym_u8_DQUOTE] = ACTIONS(1286), + [anon_sym_DQUOTE] = ACTIONS(1286), + [sym_true] = ACTIONS(1284), + [sym_false] = ACTIONS(1284), + [anon_sym_NULL] = ACTIONS(1284), + [anon_sym_nullptr] = ACTIONS(1284), + [sym_comment] = ACTIONS(3), + }, + [285] = { + [ts_builtin_sym_end] = ACTIONS(1314), + [sym_identifier] = ACTIONS(1312), + [aux_sym_preproc_include_token1] = ACTIONS(1312), + [aux_sym_preproc_def_token1] = ACTIONS(1312), + [anon_sym_COMMA] = ACTIONS(1314), + [aux_sym_preproc_if_token1] = ACTIONS(1312), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1312), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1312), + [sym_preproc_directive] = ACTIONS(1312), + [anon_sym_LPAREN2] = ACTIONS(1314), + [anon_sym_BANG] = ACTIONS(1314), + [anon_sym_TILDE] = ACTIONS(1314), + [anon_sym_DASH] = ACTIONS(1312), + [anon_sym_PLUS] = ACTIONS(1312), + [anon_sym_STAR] = ACTIONS(1314), + [anon_sym_AMP] = ACTIONS(1314), + [anon_sym_SEMI] = ACTIONS(1314), + [anon_sym___extension__] = ACTIONS(1312), + [anon_sym_typedef] = ACTIONS(1312), + [anon_sym_extern] = ACTIONS(1312), + [anon_sym___attribute__] = ACTIONS(1312), + [anon_sym___attribute] = ACTIONS(1312), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1314), + [anon_sym___declspec] = ACTIONS(1312), + [anon_sym___cdecl] = ACTIONS(1312), + [anon_sym___clrcall] = ACTIONS(1312), + [anon_sym___stdcall] = ACTIONS(1312), + [anon_sym___fastcall] = ACTIONS(1312), + [anon_sym___thiscall] = ACTIONS(1312), + [anon_sym___vectorcall] = ACTIONS(1312), + [anon_sym_LBRACE] = ACTIONS(1314), + [anon_sym_RBRACE] = ACTIONS(1314), + [anon_sym_signed] = ACTIONS(1312), + [anon_sym_unsigned] = ACTIONS(1312), + [anon_sym_long] = ACTIONS(1312), + [anon_sym_short] = ACTIONS(1312), + [anon_sym_static] = ACTIONS(1312), + [anon_sym_auto] = ACTIONS(1312), + [anon_sym_register] = ACTIONS(1312), + [anon_sym_inline] = ACTIONS(1312), + [anon_sym___inline] = ACTIONS(1312), + [anon_sym___inline__] = ACTIONS(1312), + [anon_sym___forceinline] = ACTIONS(1312), + [anon_sym_thread_local] = ACTIONS(1312), + [anon_sym___thread] = ACTIONS(1312), + [anon_sym_const] = ACTIONS(1312), + [anon_sym_constexpr] = ACTIONS(1312), + [anon_sym_volatile] = ACTIONS(1312), + [anon_sym_restrict] = ACTIONS(1312), + [anon_sym___restrict__] = ACTIONS(1312), + [anon_sym__Atomic] = ACTIONS(1312), + [anon_sym__Noreturn] = ACTIONS(1312), + [anon_sym_noreturn] = ACTIONS(1312), + [anon_sym__Nonnull] = ACTIONS(1312), + [anon_sym_alignas] = ACTIONS(1312), + [anon_sym__Alignas] = ACTIONS(1312), + [sym_primitive_type] = ACTIONS(1312), + [anon_sym_enum] = ACTIONS(1312), + [anon_sym_struct] = ACTIONS(1312), + [anon_sym_union] = ACTIONS(1312), + [anon_sym_if] = ACTIONS(1312), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1312), + [anon_sym_default] = ACTIONS(1312), + [anon_sym_while] = ACTIONS(1312), + [anon_sym_do] = ACTIONS(1312), + [anon_sym_for] = ACTIONS(1312), + [anon_sym_return] = ACTIONS(1312), + [anon_sym_break] = ACTIONS(1312), + [anon_sym_continue] = ACTIONS(1312), + [anon_sym_goto] = ACTIONS(1312), + [anon_sym_DASH_DASH] = ACTIONS(1314), + [anon_sym_PLUS_PLUS] = ACTIONS(1314), + [anon_sym_sizeof] = ACTIONS(1312), + [anon_sym___alignof__] = ACTIONS(1312), + [anon_sym___alignof] = ACTIONS(1312), + [anon_sym__alignof] = ACTIONS(1312), + [anon_sym_alignof] = ACTIONS(1312), + [anon_sym__Alignof] = ACTIONS(1312), + [anon_sym_offsetof] = ACTIONS(1312), + [anon_sym__Generic] = ACTIONS(1312), + [anon_sym_asm] = ACTIONS(1312), + [anon_sym___asm__] = ACTIONS(1312), + [anon_sym___asm] = ACTIONS(1312), + [sym_number_literal] = ACTIONS(1314), + [anon_sym_L_SQUOTE] = ACTIONS(1314), + [anon_sym_u_SQUOTE] = ACTIONS(1314), + [anon_sym_U_SQUOTE] = ACTIONS(1314), + [anon_sym_u8_SQUOTE] = ACTIONS(1314), + [anon_sym_SQUOTE] = ACTIONS(1314), + [anon_sym_L_DQUOTE] = ACTIONS(1314), + [anon_sym_u_DQUOTE] = ACTIONS(1314), + [anon_sym_U_DQUOTE] = ACTIONS(1314), + [anon_sym_u8_DQUOTE] = ACTIONS(1314), + [anon_sym_DQUOTE] = ACTIONS(1314), + [sym_true] = ACTIONS(1312), + [sym_false] = ACTIONS(1312), + [anon_sym_NULL] = ACTIONS(1312), + [anon_sym_nullptr] = ACTIONS(1312), + [sym_comment] = ACTIONS(3), + }, + [286] = { + [sym_identifier] = ACTIONS(1304), + [aux_sym_preproc_include_token1] = ACTIONS(1304), + [aux_sym_preproc_def_token1] = ACTIONS(1304), + [aux_sym_preproc_if_token1] = ACTIONS(1304), + [aux_sym_preproc_if_token2] = ACTIONS(1304), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1304), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1304), + [sym_preproc_directive] = ACTIONS(1304), + [anon_sym_LPAREN2] = ACTIONS(1306), + [anon_sym_BANG] = ACTIONS(1306), + [anon_sym_TILDE] = ACTIONS(1306), + [anon_sym_DASH] = ACTIONS(1304), + [anon_sym_PLUS] = ACTIONS(1304), + [anon_sym_STAR] = ACTIONS(1306), + [anon_sym_AMP] = ACTIONS(1306), + [anon_sym_SEMI] = ACTIONS(1306), + [anon_sym___extension__] = ACTIONS(1304), + [anon_sym_typedef] = ACTIONS(1304), + [anon_sym_extern] = ACTIONS(1304), + [anon_sym___attribute__] = ACTIONS(1304), + [anon_sym___attribute] = ACTIONS(1304), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1306), + [anon_sym___declspec] = ACTIONS(1304), + [anon_sym___cdecl] = ACTIONS(1304), + [anon_sym___clrcall] = ACTIONS(1304), + [anon_sym___stdcall] = ACTIONS(1304), + [anon_sym___fastcall] = ACTIONS(1304), + [anon_sym___thiscall] = ACTIONS(1304), + [anon_sym___vectorcall] = ACTIONS(1304), + [anon_sym_LBRACE] = ACTIONS(1306), + [anon_sym_signed] = ACTIONS(1304), + [anon_sym_unsigned] = ACTIONS(1304), + [anon_sym_long] = ACTIONS(1304), + [anon_sym_short] = ACTIONS(1304), + [anon_sym_static] = ACTIONS(1304), + [anon_sym_auto] = ACTIONS(1304), + [anon_sym_register] = ACTIONS(1304), + [anon_sym_inline] = ACTIONS(1304), + [anon_sym___inline] = ACTIONS(1304), + [anon_sym___inline__] = ACTIONS(1304), + [anon_sym___forceinline] = ACTIONS(1304), + [anon_sym_thread_local] = ACTIONS(1304), + [anon_sym___thread] = ACTIONS(1304), + [anon_sym_const] = ACTIONS(1304), + [anon_sym_constexpr] = ACTIONS(1304), + [anon_sym_volatile] = ACTIONS(1304), + [anon_sym_restrict] = ACTIONS(1304), + [anon_sym___restrict__] = ACTIONS(1304), + [anon_sym__Atomic] = ACTIONS(1304), + [anon_sym__Noreturn] = ACTIONS(1304), + [anon_sym_noreturn] = ACTIONS(1304), + [anon_sym__Nonnull] = ACTIONS(1304), + [anon_sym_alignas] = ACTIONS(1304), + [anon_sym__Alignas] = ACTIONS(1304), + [sym_primitive_type] = ACTIONS(1304), + [anon_sym_enum] = ACTIONS(1304), + [anon_sym_struct] = ACTIONS(1304), + [anon_sym_union] = ACTIONS(1304), + [anon_sym_if] = ACTIONS(1304), + [anon_sym_switch] = ACTIONS(1304), + [anon_sym_case] = ACTIONS(1304), + [anon_sym_default] = ACTIONS(1304), + [anon_sym_while] = ACTIONS(1304), + [anon_sym_do] = ACTIONS(1304), + [anon_sym_for] = ACTIONS(1304), + [anon_sym_return] = ACTIONS(1304), + [anon_sym_break] = ACTIONS(1304), + [anon_sym_continue] = ACTIONS(1304), + [anon_sym_goto] = ACTIONS(1304), + [anon_sym___try] = ACTIONS(1304), + [anon_sym___leave] = ACTIONS(1304), + [anon_sym_DASH_DASH] = ACTIONS(1306), + [anon_sym_PLUS_PLUS] = ACTIONS(1306), + [anon_sym_sizeof] = ACTIONS(1304), + [anon_sym___alignof__] = ACTIONS(1304), + [anon_sym___alignof] = ACTIONS(1304), + [anon_sym__alignof] = ACTIONS(1304), + [anon_sym_alignof] = ACTIONS(1304), + [anon_sym__Alignof] = ACTIONS(1304), + [anon_sym_offsetof] = ACTIONS(1304), + [anon_sym__Generic] = ACTIONS(1304), + [anon_sym_asm] = ACTIONS(1304), + [anon_sym___asm__] = ACTIONS(1304), + [anon_sym___asm] = ACTIONS(1304), + [sym_number_literal] = ACTIONS(1306), + [anon_sym_L_SQUOTE] = ACTIONS(1306), + [anon_sym_u_SQUOTE] = ACTIONS(1306), + [anon_sym_U_SQUOTE] = ACTIONS(1306), + [anon_sym_u8_SQUOTE] = ACTIONS(1306), + [anon_sym_SQUOTE] = ACTIONS(1306), + [anon_sym_L_DQUOTE] = ACTIONS(1306), + [anon_sym_u_DQUOTE] = ACTIONS(1306), + [anon_sym_U_DQUOTE] = ACTIONS(1306), + [anon_sym_u8_DQUOTE] = ACTIONS(1306), + [anon_sym_DQUOTE] = ACTIONS(1306), + [sym_true] = ACTIONS(1304), + [sym_false] = ACTIONS(1304), + [anon_sym_NULL] = ACTIONS(1304), + [anon_sym_nullptr] = ACTIONS(1304), + [sym_comment] = ACTIONS(3), + }, + [287] = { + [sym_identifier] = ACTIONS(1262), + [aux_sym_preproc_include_token1] = ACTIONS(1262), + [aux_sym_preproc_def_token1] = ACTIONS(1262), + [aux_sym_preproc_if_token1] = ACTIONS(1262), + [aux_sym_preproc_if_token2] = ACTIONS(1262), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1262), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1262), + [sym_preproc_directive] = ACTIONS(1262), + [anon_sym_LPAREN2] = ACTIONS(1265), + [anon_sym_BANG] = ACTIONS(1265), + [anon_sym_TILDE] = ACTIONS(1265), + [anon_sym_DASH] = ACTIONS(1262), + [anon_sym_PLUS] = ACTIONS(1262), + [anon_sym_STAR] = ACTIONS(1265), + [anon_sym_AMP] = ACTIONS(1265), + [anon_sym_SEMI] = ACTIONS(1265), + [anon_sym___extension__] = ACTIONS(1262), + [anon_sym_typedef] = ACTIONS(1262), + [anon_sym_extern] = ACTIONS(1262), + [anon_sym___attribute__] = ACTIONS(1262), + [anon_sym___attribute] = ACTIONS(1262), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1265), + [anon_sym___declspec] = ACTIONS(1262), + [anon_sym___cdecl] = ACTIONS(1262), + [anon_sym___clrcall] = ACTIONS(1262), + [anon_sym___stdcall] = ACTIONS(1262), + [anon_sym___fastcall] = ACTIONS(1262), + [anon_sym___thiscall] = ACTIONS(1262), + [anon_sym___vectorcall] = ACTIONS(1262), + [anon_sym_LBRACE] = ACTIONS(1265), + [anon_sym_signed] = ACTIONS(1262), + [anon_sym_unsigned] = ACTIONS(1262), + [anon_sym_long] = ACTIONS(1262), + [anon_sym_short] = ACTIONS(1262), + [anon_sym_static] = ACTIONS(1262), + [anon_sym_auto] = ACTIONS(1262), + [anon_sym_register] = ACTIONS(1262), + [anon_sym_inline] = ACTIONS(1262), + [anon_sym___inline] = ACTIONS(1262), + [anon_sym___inline__] = ACTIONS(1262), + [anon_sym___forceinline] = ACTIONS(1262), + [anon_sym_thread_local] = ACTIONS(1262), + [anon_sym___thread] = ACTIONS(1262), + [anon_sym_const] = ACTIONS(1262), + [anon_sym_constexpr] = ACTIONS(1262), + [anon_sym_volatile] = ACTIONS(1262), + [anon_sym_restrict] = ACTIONS(1262), + [anon_sym___restrict__] = ACTIONS(1262), + [anon_sym__Atomic] = ACTIONS(1262), + [anon_sym__Noreturn] = ACTIONS(1262), + [anon_sym_noreturn] = ACTIONS(1262), + [anon_sym__Nonnull] = ACTIONS(1262), + [anon_sym_alignas] = ACTIONS(1262), + [anon_sym__Alignas] = ACTIONS(1262), + [sym_primitive_type] = ACTIONS(1262), + [anon_sym_enum] = ACTIONS(1262), + [anon_sym_struct] = ACTIONS(1262), + [anon_sym_union] = ACTIONS(1262), + [anon_sym_if] = ACTIONS(1262), + [anon_sym_switch] = ACTIONS(1262), + [anon_sym_case] = ACTIONS(1262), + [anon_sym_default] = ACTIONS(1262), + [anon_sym_while] = ACTIONS(1262), + [anon_sym_do] = ACTIONS(1262), + [anon_sym_for] = ACTIONS(1262), + [anon_sym_return] = ACTIONS(1262), + [anon_sym_break] = ACTIONS(1262), + [anon_sym_continue] = ACTIONS(1262), + [anon_sym_goto] = ACTIONS(1262), + [anon_sym___try] = ACTIONS(1262), + [anon_sym___leave] = ACTIONS(1262), + [anon_sym_DASH_DASH] = ACTIONS(1265), + [anon_sym_PLUS_PLUS] = ACTIONS(1265), + [anon_sym_sizeof] = ACTIONS(1262), + [anon_sym___alignof__] = ACTIONS(1262), + [anon_sym___alignof] = ACTIONS(1262), + [anon_sym__alignof] = ACTIONS(1262), + [anon_sym_alignof] = ACTIONS(1262), + [anon_sym__Alignof] = ACTIONS(1262), + [anon_sym_offsetof] = ACTIONS(1262), + [anon_sym__Generic] = ACTIONS(1262), + [anon_sym_asm] = ACTIONS(1262), + [anon_sym___asm__] = ACTIONS(1262), + [anon_sym___asm] = ACTIONS(1262), + [sym_number_literal] = ACTIONS(1265), + [anon_sym_L_SQUOTE] = ACTIONS(1265), + [anon_sym_u_SQUOTE] = ACTIONS(1265), + [anon_sym_U_SQUOTE] = ACTIONS(1265), + [anon_sym_u8_SQUOTE] = ACTIONS(1265), + [anon_sym_SQUOTE] = ACTIONS(1265), + [anon_sym_L_DQUOTE] = ACTIONS(1265), + [anon_sym_u_DQUOTE] = ACTIONS(1265), + [anon_sym_U_DQUOTE] = ACTIONS(1265), + [anon_sym_u8_DQUOTE] = ACTIONS(1265), + [anon_sym_DQUOTE] = ACTIONS(1265), + [sym_true] = ACTIONS(1262), + [sym_false] = ACTIONS(1262), + [anon_sym_NULL] = ACTIONS(1262), + [anon_sym_nullptr] = ACTIONS(1262), + [sym_comment] = ACTIONS(3), + }, + [288] = { + [sym_identifier] = ACTIONS(1344), + [aux_sym_preproc_include_token1] = ACTIONS(1344), + [aux_sym_preproc_def_token1] = ACTIONS(1344), + [aux_sym_preproc_if_token1] = ACTIONS(1344), + [aux_sym_preproc_if_token2] = ACTIONS(1344), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1344), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1344), + [sym_preproc_directive] = ACTIONS(1344), + [anon_sym_LPAREN2] = ACTIONS(1346), + [anon_sym_BANG] = ACTIONS(1346), + [anon_sym_TILDE] = ACTIONS(1346), + [anon_sym_DASH] = ACTIONS(1344), + [anon_sym_PLUS] = ACTIONS(1344), + [anon_sym_STAR] = ACTIONS(1346), + [anon_sym_AMP] = ACTIONS(1346), + [anon_sym_SEMI] = ACTIONS(1346), + [anon_sym___extension__] = ACTIONS(1344), + [anon_sym_typedef] = ACTIONS(1344), + [anon_sym_extern] = ACTIONS(1344), + [anon_sym___attribute__] = ACTIONS(1344), + [anon_sym___attribute] = ACTIONS(1344), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1346), + [anon_sym___declspec] = ACTIONS(1344), + [anon_sym___cdecl] = ACTIONS(1344), + [anon_sym___clrcall] = ACTIONS(1344), + [anon_sym___stdcall] = ACTIONS(1344), + [anon_sym___fastcall] = ACTIONS(1344), + [anon_sym___thiscall] = ACTIONS(1344), + [anon_sym___vectorcall] = ACTIONS(1344), + [anon_sym_LBRACE] = ACTIONS(1346), + [anon_sym_signed] = ACTIONS(1344), + [anon_sym_unsigned] = ACTIONS(1344), + [anon_sym_long] = ACTIONS(1344), + [anon_sym_short] = ACTIONS(1344), + [anon_sym_static] = ACTIONS(1344), + [anon_sym_auto] = ACTIONS(1344), + [anon_sym_register] = ACTIONS(1344), + [anon_sym_inline] = ACTIONS(1344), + [anon_sym___inline] = ACTIONS(1344), + [anon_sym___inline__] = ACTIONS(1344), + [anon_sym___forceinline] = ACTIONS(1344), + [anon_sym_thread_local] = ACTIONS(1344), + [anon_sym___thread] = ACTIONS(1344), + [anon_sym_const] = ACTIONS(1344), + [anon_sym_constexpr] = ACTIONS(1344), + [anon_sym_volatile] = ACTIONS(1344), + [anon_sym_restrict] = ACTIONS(1344), + [anon_sym___restrict__] = ACTIONS(1344), + [anon_sym__Atomic] = ACTIONS(1344), + [anon_sym__Noreturn] = ACTIONS(1344), + [anon_sym_noreturn] = ACTIONS(1344), + [anon_sym__Nonnull] = ACTIONS(1344), + [anon_sym_alignas] = ACTIONS(1344), + [anon_sym__Alignas] = ACTIONS(1344), + [sym_primitive_type] = ACTIONS(1344), + [anon_sym_enum] = ACTIONS(1344), + [anon_sym_struct] = ACTIONS(1344), + [anon_sym_union] = ACTIONS(1344), + [anon_sym_if] = ACTIONS(1344), + [anon_sym_switch] = ACTIONS(1344), + [anon_sym_case] = ACTIONS(1344), + [anon_sym_default] = ACTIONS(1344), + [anon_sym_while] = ACTIONS(1344), + [anon_sym_do] = ACTIONS(1344), + [anon_sym_for] = ACTIONS(1344), + [anon_sym_return] = ACTIONS(1344), + [anon_sym_break] = ACTIONS(1344), + [anon_sym_continue] = ACTIONS(1344), + [anon_sym_goto] = ACTIONS(1344), + [anon_sym___try] = ACTIONS(1344), + [anon_sym___leave] = ACTIONS(1344), + [anon_sym_DASH_DASH] = ACTIONS(1346), + [anon_sym_PLUS_PLUS] = ACTIONS(1346), + [anon_sym_sizeof] = ACTIONS(1344), + [anon_sym___alignof__] = ACTIONS(1344), + [anon_sym___alignof] = ACTIONS(1344), + [anon_sym__alignof] = ACTIONS(1344), + [anon_sym_alignof] = ACTIONS(1344), + [anon_sym__Alignof] = ACTIONS(1344), + [anon_sym_offsetof] = ACTIONS(1344), + [anon_sym__Generic] = ACTIONS(1344), + [anon_sym_asm] = ACTIONS(1344), + [anon_sym___asm__] = ACTIONS(1344), + [anon_sym___asm] = ACTIONS(1344), + [sym_number_literal] = ACTIONS(1346), + [anon_sym_L_SQUOTE] = ACTIONS(1346), + [anon_sym_u_SQUOTE] = ACTIONS(1346), + [anon_sym_U_SQUOTE] = ACTIONS(1346), + [anon_sym_u8_SQUOTE] = ACTIONS(1346), + [anon_sym_SQUOTE] = ACTIONS(1346), + [anon_sym_L_DQUOTE] = ACTIONS(1346), + [anon_sym_u_DQUOTE] = ACTIONS(1346), + [anon_sym_U_DQUOTE] = ACTIONS(1346), + [anon_sym_u8_DQUOTE] = ACTIONS(1346), + [anon_sym_DQUOTE] = ACTIONS(1346), + [sym_true] = ACTIONS(1344), + [sym_false] = ACTIONS(1344), + [anon_sym_NULL] = ACTIONS(1344), + [anon_sym_nullptr] = ACTIONS(1344), + [sym_comment] = ACTIONS(3), + }, + [289] = { + [sym_identifier] = ACTIONS(1352), + [aux_sym_preproc_include_token1] = ACTIONS(1352), + [aux_sym_preproc_def_token1] = ACTIONS(1352), + [aux_sym_preproc_if_token1] = ACTIONS(1352), + [aux_sym_preproc_if_token2] = ACTIONS(1352), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1352), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1352), + [sym_preproc_directive] = ACTIONS(1352), + [anon_sym_LPAREN2] = ACTIONS(1354), + [anon_sym_BANG] = ACTIONS(1354), + [anon_sym_TILDE] = ACTIONS(1354), + [anon_sym_DASH] = ACTIONS(1352), + [anon_sym_PLUS] = ACTIONS(1352), + [anon_sym_STAR] = ACTIONS(1354), + [anon_sym_AMP] = ACTIONS(1354), + [anon_sym_SEMI] = ACTIONS(1354), + [anon_sym___extension__] = ACTIONS(1352), + [anon_sym_typedef] = ACTIONS(1352), + [anon_sym_extern] = ACTIONS(1352), + [anon_sym___attribute__] = ACTIONS(1352), + [anon_sym___attribute] = ACTIONS(1352), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1354), + [anon_sym___declspec] = ACTIONS(1352), + [anon_sym___cdecl] = ACTIONS(1352), + [anon_sym___clrcall] = ACTIONS(1352), + [anon_sym___stdcall] = ACTIONS(1352), + [anon_sym___fastcall] = ACTIONS(1352), + [anon_sym___thiscall] = ACTIONS(1352), + [anon_sym___vectorcall] = ACTIONS(1352), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_signed] = ACTIONS(1352), + [anon_sym_unsigned] = ACTIONS(1352), + [anon_sym_long] = ACTIONS(1352), + [anon_sym_short] = ACTIONS(1352), + [anon_sym_static] = ACTIONS(1352), + [anon_sym_auto] = ACTIONS(1352), + [anon_sym_register] = ACTIONS(1352), + [anon_sym_inline] = ACTIONS(1352), + [anon_sym___inline] = ACTIONS(1352), + [anon_sym___inline__] = ACTIONS(1352), + [anon_sym___forceinline] = ACTIONS(1352), + [anon_sym_thread_local] = ACTIONS(1352), + [anon_sym___thread] = ACTIONS(1352), + [anon_sym_const] = ACTIONS(1352), + [anon_sym_constexpr] = ACTIONS(1352), + [anon_sym_volatile] = ACTIONS(1352), + [anon_sym_restrict] = ACTIONS(1352), + [anon_sym___restrict__] = ACTIONS(1352), + [anon_sym__Atomic] = ACTIONS(1352), + [anon_sym__Noreturn] = ACTIONS(1352), + [anon_sym_noreturn] = ACTIONS(1352), + [anon_sym__Nonnull] = ACTIONS(1352), + [anon_sym_alignas] = ACTIONS(1352), + [anon_sym__Alignas] = ACTIONS(1352), + [sym_primitive_type] = ACTIONS(1352), + [anon_sym_enum] = ACTIONS(1352), + [anon_sym_struct] = ACTIONS(1352), + [anon_sym_union] = ACTIONS(1352), + [anon_sym_if] = ACTIONS(1352), + [anon_sym_switch] = ACTIONS(1352), + [anon_sym_case] = ACTIONS(1352), + [anon_sym_default] = ACTIONS(1352), + [anon_sym_while] = ACTIONS(1352), + [anon_sym_do] = ACTIONS(1352), + [anon_sym_for] = ACTIONS(1352), + [anon_sym_return] = ACTIONS(1352), + [anon_sym_break] = ACTIONS(1352), + [anon_sym_continue] = ACTIONS(1352), + [anon_sym_goto] = ACTIONS(1352), + [anon_sym___try] = ACTIONS(1352), + [anon_sym___leave] = ACTIONS(1352), + [anon_sym_DASH_DASH] = ACTIONS(1354), + [anon_sym_PLUS_PLUS] = ACTIONS(1354), + [anon_sym_sizeof] = ACTIONS(1352), + [anon_sym___alignof__] = ACTIONS(1352), + [anon_sym___alignof] = ACTIONS(1352), + [anon_sym__alignof] = ACTIONS(1352), + [anon_sym_alignof] = ACTIONS(1352), + [anon_sym__Alignof] = ACTIONS(1352), + [anon_sym_offsetof] = ACTIONS(1352), + [anon_sym__Generic] = ACTIONS(1352), + [anon_sym_asm] = ACTIONS(1352), + [anon_sym___asm__] = ACTIONS(1352), + [anon_sym___asm] = ACTIONS(1352), + [sym_number_literal] = ACTIONS(1354), + [anon_sym_L_SQUOTE] = ACTIONS(1354), + [anon_sym_u_SQUOTE] = ACTIONS(1354), + [anon_sym_U_SQUOTE] = ACTIONS(1354), + [anon_sym_u8_SQUOTE] = ACTIONS(1354), + [anon_sym_SQUOTE] = ACTIONS(1354), + [anon_sym_L_DQUOTE] = ACTIONS(1354), + [anon_sym_u_DQUOTE] = ACTIONS(1354), + [anon_sym_U_DQUOTE] = ACTIONS(1354), + [anon_sym_u8_DQUOTE] = ACTIONS(1354), + [anon_sym_DQUOTE] = ACTIONS(1354), + [sym_true] = ACTIONS(1352), + [sym_false] = ACTIONS(1352), + [anon_sym_NULL] = ACTIONS(1352), + [anon_sym_nullptr] = ACTIONS(1352), + [sym_comment] = ACTIONS(3), + }, + [290] = { + [sym_identifier] = ACTIONS(1364), + [aux_sym_preproc_include_token1] = ACTIONS(1364), + [aux_sym_preproc_def_token1] = ACTIONS(1364), + [aux_sym_preproc_if_token1] = ACTIONS(1364), + [aux_sym_preproc_if_token2] = ACTIONS(1364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1364), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1364), + [sym_preproc_directive] = ACTIONS(1364), + [anon_sym_LPAREN2] = ACTIONS(1366), + [anon_sym_BANG] = ACTIONS(1366), + [anon_sym_TILDE] = ACTIONS(1366), + [anon_sym_DASH] = ACTIONS(1364), + [anon_sym_PLUS] = ACTIONS(1364), + [anon_sym_STAR] = ACTIONS(1366), + [anon_sym_AMP] = ACTIONS(1366), + [anon_sym_SEMI] = ACTIONS(1366), + [anon_sym___extension__] = ACTIONS(1364), + [anon_sym_typedef] = ACTIONS(1364), + [anon_sym_extern] = ACTIONS(1364), + [anon_sym___attribute__] = ACTIONS(1364), + [anon_sym___attribute] = ACTIONS(1364), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1366), + [anon_sym___declspec] = ACTIONS(1364), + [anon_sym___cdecl] = ACTIONS(1364), + [anon_sym___clrcall] = ACTIONS(1364), + [anon_sym___stdcall] = ACTIONS(1364), + [anon_sym___fastcall] = ACTIONS(1364), + [anon_sym___thiscall] = ACTIONS(1364), + [anon_sym___vectorcall] = ACTIONS(1364), + [anon_sym_LBRACE] = ACTIONS(1366), + [anon_sym_signed] = ACTIONS(1364), + [anon_sym_unsigned] = ACTIONS(1364), + [anon_sym_long] = ACTIONS(1364), + [anon_sym_short] = ACTIONS(1364), + [anon_sym_static] = ACTIONS(1364), + [anon_sym_auto] = ACTIONS(1364), + [anon_sym_register] = ACTIONS(1364), + [anon_sym_inline] = ACTIONS(1364), + [anon_sym___inline] = ACTIONS(1364), + [anon_sym___inline__] = ACTIONS(1364), + [anon_sym___forceinline] = ACTIONS(1364), + [anon_sym_thread_local] = ACTIONS(1364), + [anon_sym___thread] = ACTIONS(1364), + [anon_sym_const] = ACTIONS(1364), + [anon_sym_constexpr] = ACTIONS(1364), + [anon_sym_volatile] = ACTIONS(1364), + [anon_sym_restrict] = ACTIONS(1364), + [anon_sym___restrict__] = ACTIONS(1364), + [anon_sym__Atomic] = ACTIONS(1364), + [anon_sym__Noreturn] = ACTIONS(1364), + [anon_sym_noreturn] = ACTIONS(1364), + [anon_sym__Nonnull] = ACTIONS(1364), + [anon_sym_alignas] = ACTIONS(1364), + [anon_sym__Alignas] = ACTIONS(1364), + [sym_primitive_type] = ACTIONS(1364), + [anon_sym_enum] = ACTIONS(1364), + [anon_sym_struct] = ACTIONS(1364), + [anon_sym_union] = ACTIONS(1364), + [anon_sym_if] = ACTIONS(1364), + [anon_sym_switch] = ACTIONS(1364), + [anon_sym_case] = ACTIONS(1364), + [anon_sym_default] = ACTIONS(1364), + [anon_sym_while] = ACTIONS(1364), + [anon_sym_do] = ACTIONS(1364), + [anon_sym_for] = ACTIONS(1364), + [anon_sym_return] = ACTIONS(1364), + [anon_sym_break] = ACTIONS(1364), + [anon_sym_continue] = ACTIONS(1364), + [anon_sym_goto] = ACTIONS(1364), + [anon_sym___try] = ACTIONS(1364), + [anon_sym___leave] = ACTIONS(1364), + [anon_sym_DASH_DASH] = ACTIONS(1366), + [anon_sym_PLUS_PLUS] = ACTIONS(1366), + [anon_sym_sizeof] = ACTIONS(1364), + [anon_sym___alignof__] = ACTIONS(1364), + [anon_sym___alignof] = ACTIONS(1364), + [anon_sym__alignof] = ACTIONS(1364), + [anon_sym_alignof] = ACTIONS(1364), + [anon_sym__Alignof] = ACTIONS(1364), + [anon_sym_offsetof] = ACTIONS(1364), + [anon_sym__Generic] = ACTIONS(1364), + [anon_sym_asm] = ACTIONS(1364), + [anon_sym___asm__] = ACTIONS(1364), + [anon_sym___asm] = ACTIONS(1364), + [sym_number_literal] = ACTIONS(1366), + [anon_sym_L_SQUOTE] = ACTIONS(1366), + [anon_sym_u_SQUOTE] = ACTIONS(1366), + [anon_sym_U_SQUOTE] = ACTIONS(1366), + [anon_sym_u8_SQUOTE] = ACTIONS(1366), + [anon_sym_SQUOTE] = ACTIONS(1366), + [anon_sym_L_DQUOTE] = ACTIONS(1366), + [anon_sym_u_DQUOTE] = ACTIONS(1366), + [anon_sym_U_DQUOTE] = ACTIONS(1366), + [anon_sym_u8_DQUOTE] = ACTIONS(1366), + [anon_sym_DQUOTE] = ACTIONS(1366), + [sym_true] = ACTIONS(1364), + [sym_false] = ACTIONS(1364), + [anon_sym_NULL] = ACTIONS(1364), + [anon_sym_nullptr] = ACTIONS(1364), + [sym_comment] = ACTIONS(3), + }, + [291] = { + [sym_identifier] = ACTIONS(1360), + [aux_sym_preproc_include_token1] = ACTIONS(1360), + [aux_sym_preproc_def_token1] = ACTIONS(1360), + [aux_sym_preproc_if_token1] = ACTIONS(1360), + [aux_sym_preproc_if_token2] = ACTIONS(1360), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1360), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1360), + [sym_preproc_directive] = ACTIONS(1360), + [anon_sym_LPAREN2] = ACTIONS(1362), + [anon_sym_BANG] = ACTIONS(1362), + [anon_sym_TILDE] = ACTIONS(1362), + [anon_sym_DASH] = ACTIONS(1360), + [anon_sym_PLUS] = ACTIONS(1360), + [anon_sym_STAR] = ACTIONS(1362), + [anon_sym_AMP] = ACTIONS(1362), + [anon_sym_SEMI] = ACTIONS(1362), + [anon_sym___extension__] = ACTIONS(1360), + [anon_sym_typedef] = ACTIONS(1360), + [anon_sym_extern] = ACTIONS(1360), + [anon_sym___attribute__] = ACTIONS(1360), + [anon_sym___attribute] = ACTIONS(1360), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1362), + [anon_sym___declspec] = ACTIONS(1360), + [anon_sym___cdecl] = ACTIONS(1360), + [anon_sym___clrcall] = ACTIONS(1360), + [anon_sym___stdcall] = ACTIONS(1360), + [anon_sym___fastcall] = ACTIONS(1360), + [anon_sym___thiscall] = ACTIONS(1360), + [anon_sym___vectorcall] = ACTIONS(1360), + [anon_sym_LBRACE] = ACTIONS(1362), + [anon_sym_signed] = ACTIONS(1360), + [anon_sym_unsigned] = ACTIONS(1360), + [anon_sym_long] = ACTIONS(1360), + [anon_sym_short] = ACTIONS(1360), + [anon_sym_static] = ACTIONS(1360), + [anon_sym_auto] = ACTIONS(1360), + [anon_sym_register] = ACTIONS(1360), + [anon_sym_inline] = ACTIONS(1360), + [anon_sym___inline] = ACTIONS(1360), + [anon_sym___inline__] = ACTIONS(1360), + [anon_sym___forceinline] = ACTIONS(1360), + [anon_sym_thread_local] = ACTIONS(1360), + [anon_sym___thread] = ACTIONS(1360), + [anon_sym_const] = ACTIONS(1360), + [anon_sym_constexpr] = ACTIONS(1360), + [anon_sym_volatile] = ACTIONS(1360), + [anon_sym_restrict] = ACTIONS(1360), + [anon_sym___restrict__] = ACTIONS(1360), + [anon_sym__Atomic] = ACTIONS(1360), + [anon_sym__Noreturn] = ACTIONS(1360), + [anon_sym_noreturn] = ACTIONS(1360), + [anon_sym__Nonnull] = ACTIONS(1360), + [anon_sym_alignas] = ACTIONS(1360), + [anon_sym__Alignas] = ACTIONS(1360), + [sym_primitive_type] = ACTIONS(1360), + [anon_sym_enum] = ACTIONS(1360), + [anon_sym_struct] = ACTIONS(1360), + [anon_sym_union] = ACTIONS(1360), + [anon_sym_if] = ACTIONS(1360), + [anon_sym_switch] = ACTIONS(1360), + [anon_sym_case] = ACTIONS(1360), + [anon_sym_default] = ACTIONS(1360), + [anon_sym_while] = ACTIONS(1360), + [anon_sym_do] = ACTIONS(1360), + [anon_sym_for] = ACTIONS(1360), + [anon_sym_return] = ACTIONS(1360), + [anon_sym_break] = ACTIONS(1360), + [anon_sym_continue] = ACTIONS(1360), + [anon_sym_goto] = ACTIONS(1360), + [anon_sym___try] = ACTIONS(1360), + [anon_sym___leave] = ACTIONS(1360), + [anon_sym_DASH_DASH] = ACTIONS(1362), + [anon_sym_PLUS_PLUS] = ACTIONS(1362), + [anon_sym_sizeof] = ACTIONS(1360), + [anon_sym___alignof__] = ACTIONS(1360), + [anon_sym___alignof] = ACTIONS(1360), + [anon_sym__alignof] = ACTIONS(1360), + [anon_sym_alignof] = ACTIONS(1360), + [anon_sym__Alignof] = ACTIONS(1360), + [anon_sym_offsetof] = ACTIONS(1360), + [anon_sym__Generic] = ACTIONS(1360), + [anon_sym_asm] = ACTIONS(1360), + [anon_sym___asm__] = ACTIONS(1360), + [anon_sym___asm] = ACTIONS(1360), + [sym_number_literal] = ACTIONS(1362), + [anon_sym_L_SQUOTE] = ACTIONS(1362), + [anon_sym_u_SQUOTE] = ACTIONS(1362), + [anon_sym_U_SQUOTE] = ACTIONS(1362), + [anon_sym_u8_SQUOTE] = ACTIONS(1362), + [anon_sym_SQUOTE] = ACTIONS(1362), + [anon_sym_L_DQUOTE] = ACTIONS(1362), + [anon_sym_u_DQUOTE] = ACTIONS(1362), + [anon_sym_U_DQUOTE] = ACTIONS(1362), + [anon_sym_u8_DQUOTE] = ACTIONS(1362), + [anon_sym_DQUOTE] = ACTIONS(1362), + [sym_true] = ACTIONS(1360), + [sym_false] = ACTIONS(1360), + [anon_sym_NULL] = ACTIONS(1360), + [anon_sym_nullptr] = ACTIONS(1360), + [sym_comment] = ACTIONS(3), + }, + [292] = { + [sym_identifier] = ACTIONS(1372), + [aux_sym_preproc_include_token1] = ACTIONS(1372), + [aux_sym_preproc_def_token1] = ACTIONS(1372), + [aux_sym_preproc_if_token1] = ACTIONS(1372), + [aux_sym_preproc_if_token2] = ACTIONS(1372), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1372), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1372), + [sym_preproc_directive] = ACTIONS(1372), + [anon_sym_LPAREN2] = ACTIONS(1374), + [anon_sym_BANG] = ACTIONS(1374), + [anon_sym_TILDE] = ACTIONS(1374), + [anon_sym_DASH] = ACTIONS(1372), + [anon_sym_PLUS] = ACTIONS(1372), + [anon_sym_STAR] = ACTIONS(1374), + [anon_sym_AMP] = ACTIONS(1374), + [anon_sym_SEMI] = ACTIONS(1374), + [anon_sym___extension__] = ACTIONS(1372), + [anon_sym_typedef] = ACTIONS(1372), + [anon_sym_extern] = ACTIONS(1372), + [anon_sym___attribute__] = ACTIONS(1372), + [anon_sym___attribute] = ACTIONS(1372), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1374), + [anon_sym___declspec] = ACTIONS(1372), + [anon_sym___cdecl] = ACTIONS(1372), + [anon_sym___clrcall] = ACTIONS(1372), + [anon_sym___stdcall] = ACTIONS(1372), + [anon_sym___fastcall] = ACTIONS(1372), + [anon_sym___thiscall] = ACTIONS(1372), + [anon_sym___vectorcall] = ACTIONS(1372), + [anon_sym_LBRACE] = ACTIONS(1374), + [anon_sym_signed] = ACTIONS(1372), + [anon_sym_unsigned] = ACTIONS(1372), + [anon_sym_long] = ACTIONS(1372), + [anon_sym_short] = ACTIONS(1372), + [anon_sym_static] = ACTIONS(1372), + [anon_sym_auto] = ACTIONS(1372), + [anon_sym_register] = ACTIONS(1372), + [anon_sym_inline] = ACTIONS(1372), + [anon_sym___inline] = ACTIONS(1372), + [anon_sym___inline__] = ACTIONS(1372), + [anon_sym___forceinline] = ACTIONS(1372), + [anon_sym_thread_local] = ACTIONS(1372), + [anon_sym___thread] = ACTIONS(1372), + [anon_sym_const] = ACTIONS(1372), + [anon_sym_constexpr] = ACTIONS(1372), + [anon_sym_volatile] = ACTIONS(1372), + [anon_sym_restrict] = ACTIONS(1372), + [anon_sym___restrict__] = ACTIONS(1372), + [anon_sym__Atomic] = ACTIONS(1372), + [anon_sym__Noreturn] = ACTIONS(1372), + [anon_sym_noreturn] = ACTIONS(1372), + [anon_sym__Nonnull] = ACTIONS(1372), + [anon_sym_alignas] = ACTIONS(1372), + [anon_sym__Alignas] = ACTIONS(1372), + [sym_primitive_type] = ACTIONS(1372), + [anon_sym_enum] = ACTIONS(1372), + [anon_sym_struct] = ACTIONS(1372), + [anon_sym_union] = ACTIONS(1372), + [anon_sym_if] = ACTIONS(1372), + [anon_sym_switch] = ACTIONS(1372), + [anon_sym_case] = ACTIONS(1372), + [anon_sym_default] = ACTIONS(1372), + [anon_sym_while] = ACTIONS(1372), + [anon_sym_do] = ACTIONS(1372), + [anon_sym_for] = ACTIONS(1372), + [anon_sym_return] = ACTIONS(1372), + [anon_sym_break] = ACTIONS(1372), + [anon_sym_continue] = ACTIONS(1372), + [anon_sym_goto] = ACTIONS(1372), + [anon_sym___try] = ACTIONS(1372), + [anon_sym___leave] = ACTIONS(1372), + [anon_sym_DASH_DASH] = ACTIONS(1374), + [anon_sym_PLUS_PLUS] = ACTIONS(1374), + [anon_sym_sizeof] = ACTIONS(1372), + [anon_sym___alignof__] = ACTIONS(1372), + [anon_sym___alignof] = ACTIONS(1372), + [anon_sym__alignof] = ACTIONS(1372), + [anon_sym_alignof] = ACTIONS(1372), + [anon_sym__Alignof] = ACTIONS(1372), + [anon_sym_offsetof] = ACTIONS(1372), + [anon_sym__Generic] = ACTIONS(1372), + [anon_sym_asm] = ACTIONS(1372), + [anon_sym___asm__] = ACTIONS(1372), + [anon_sym___asm] = ACTIONS(1372), + [sym_number_literal] = ACTIONS(1374), + [anon_sym_L_SQUOTE] = ACTIONS(1374), + [anon_sym_u_SQUOTE] = ACTIONS(1374), + [anon_sym_U_SQUOTE] = ACTIONS(1374), + [anon_sym_u8_SQUOTE] = ACTIONS(1374), + [anon_sym_SQUOTE] = ACTIONS(1374), + [anon_sym_L_DQUOTE] = ACTIONS(1374), + [anon_sym_u_DQUOTE] = ACTIONS(1374), + [anon_sym_U_DQUOTE] = ACTIONS(1374), + [anon_sym_u8_DQUOTE] = ACTIONS(1374), + [anon_sym_DQUOTE] = ACTIONS(1374), + [sym_true] = ACTIONS(1372), + [sym_false] = ACTIONS(1372), + [anon_sym_NULL] = ACTIONS(1372), + [anon_sym_nullptr] = ACTIONS(1372), + [sym_comment] = ACTIONS(3), + }, + [293] = { + [sym_identifier] = ACTIONS(1336), + [aux_sym_preproc_include_token1] = ACTIONS(1336), + [aux_sym_preproc_def_token1] = ACTIONS(1336), + [aux_sym_preproc_if_token1] = ACTIONS(1336), + [aux_sym_preproc_if_token2] = ACTIONS(1336), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1336), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1336), + [sym_preproc_directive] = ACTIONS(1336), + [anon_sym_LPAREN2] = ACTIONS(1338), + [anon_sym_BANG] = ACTIONS(1338), + [anon_sym_TILDE] = ACTIONS(1338), + [anon_sym_DASH] = ACTIONS(1336), + [anon_sym_PLUS] = ACTIONS(1336), + [anon_sym_STAR] = ACTIONS(1338), + [anon_sym_AMP] = ACTIONS(1338), + [anon_sym_SEMI] = ACTIONS(1338), + [anon_sym___extension__] = ACTIONS(1336), + [anon_sym_typedef] = ACTIONS(1336), + [anon_sym_extern] = ACTIONS(1336), + [anon_sym___attribute__] = ACTIONS(1336), + [anon_sym___attribute] = ACTIONS(1336), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1338), + [anon_sym___declspec] = ACTIONS(1336), + [anon_sym___cdecl] = ACTIONS(1336), + [anon_sym___clrcall] = ACTIONS(1336), + [anon_sym___stdcall] = ACTIONS(1336), + [anon_sym___fastcall] = ACTIONS(1336), + [anon_sym___thiscall] = ACTIONS(1336), + [anon_sym___vectorcall] = ACTIONS(1336), + [anon_sym_LBRACE] = ACTIONS(1338), + [anon_sym_signed] = ACTIONS(1336), + [anon_sym_unsigned] = ACTIONS(1336), + [anon_sym_long] = ACTIONS(1336), + [anon_sym_short] = ACTIONS(1336), + [anon_sym_static] = ACTIONS(1336), + [anon_sym_auto] = ACTIONS(1336), + [anon_sym_register] = ACTIONS(1336), + [anon_sym_inline] = ACTIONS(1336), + [anon_sym___inline] = ACTIONS(1336), + [anon_sym___inline__] = ACTIONS(1336), + [anon_sym___forceinline] = ACTIONS(1336), + [anon_sym_thread_local] = ACTIONS(1336), + [anon_sym___thread] = ACTIONS(1336), + [anon_sym_const] = ACTIONS(1336), + [anon_sym_constexpr] = ACTIONS(1336), + [anon_sym_volatile] = ACTIONS(1336), + [anon_sym_restrict] = ACTIONS(1336), + [anon_sym___restrict__] = ACTIONS(1336), + [anon_sym__Atomic] = ACTIONS(1336), + [anon_sym__Noreturn] = ACTIONS(1336), + [anon_sym_noreturn] = ACTIONS(1336), + [anon_sym__Nonnull] = ACTIONS(1336), + [anon_sym_alignas] = ACTIONS(1336), + [anon_sym__Alignas] = ACTIONS(1336), + [sym_primitive_type] = ACTIONS(1336), + [anon_sym_enum] = ACTIONS(1336), + [anon_sym_struct] = ACTIONS(1336), + [anon_sym_union] = ACTIONS(1336), + [anon_sym_if] = ACTIONS(1336), + [anon_sym_switch] = ACTIONS(1336), + [anon_sym_case] = ACTIONS(1336), + [anon_sym_default] = ACTIONS(1336), + [anon_sym_while] = ACTIONS(1336), + [anon_sym_do] = ACTIONS(1336), + [anon_sym_for] = ACTIONS(1336), + [anon_sym_return] = ACTIONS(1336), + [anon_sym_break] = ACTIONS(1336), + [anon_sym_continue] = ACTIONS(1336), + [anon_sym_goto] = ACTIONS(1336), + [anon_sym___try] = ACTIONS(1336), + [anon_sym___leave] = ACTIONS(1336), + [anon_sym_DASH_DASH] = ACTIONS(1338), + [anon_sym_PLUS_PLUS] = ACTIONS(1338), + [anon_sym_sizeof] = ACTIONS(1336), + [anon_sym___alignof__] = ACTIONS(1336), + [anon_sym___alignof] = ACTIONS(1336), + [anon_sym__alignof] = ACTIONS(1336), + [anon_sym_alignof] = ACTIONS(1336), + [anon_sym__Alignof] = ACTIONS(1336), + [anon_sym_offsetof] = ACTIONS(1336), + [anon_sym__Generic] = ACTIONS(1336), + [anon_sym_asm] = ACTIONS(1336), + [anon_sym___asm__] = ACTIONS(1336), + [anon_sym___asm] = ACTIONS(1336), + [sym_number_literal] = ACTIONS(1338), + [anon_sym_L_SQUOTE] = ACTIONS(1338), + [anon_sym_u_SQUOTE] = ACTIONS(1338), + [anon_sym_U_SQUOTE] = ACTIONS(1338), + [anon_sym_u8_SQUOTE] = ACTIONS(1338), + [anon_sym_SQUOTE] = ACTIONS(1338), + [anon_sym_L_DQUOTE] = ACTIONS(1338), + [anon_sym_u_DQUOTE] = ACTIONS(1338), + [anon_sym_U_DQUOTE] = ACTIONS(1338), + [anon_sym_u8_DQUOTE] = ACTIONS(1338), + [anon_sym_DQUOTE] = ACTIONS(1338), + [sym_true] = ACTIONS(1336), + [sym_false] = ACTIONS(1336), + [anon_sym_NULL] = ACTIONS(1336), + [anon_sym_nullptr] = ACTIONS(1336), + [sym_comment] = ACTIONS(3), + }, + [294] = { + [sym_identifier] = ACTIONS(1276), + [aux_sym_preproc_include_token1] = ACTIONS(1276), + [aux_sym_preproc_def_token1] = ACTIONS(1276), + [aux_sym_preproc_if_token1] = ACTIONS(1276), + [aux_sym_preproc_if_token2] = ACTIONS(1276), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1276), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1276), + [sym_preproc_directive] = ACTIONS(1276), + [anon_sym_LPAREN2] = ACTIONS(1278), + [anon_sym_BANG] = ACTIONS(1278), + [anon_sym_TILDE] = ACTIONS(1278), + [anon_sym_DASH] = ACTIONS(1276), + [anon_sym_PLUS] = ACTIONS(1276), + [anon_sym_STAR] = ACTIONS(1278), + [anon_sym_AMP] = ACTIONS(1278), + [anon_sym_SEMI] = ACTIONS(1278), + [anon_sym___extension__] = ACTIONS(1276), + [anon_sym_typedef] = ACTIONS(1276), + [anon_sym_extern] = ACTIONS(1276), + [anon_sym___attribute__] = ACTIONS(1276), + [anon_sym___attribute] = ACTIONS(1276), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1278), + [anon_sym___declspec] = ACTIONS(1276), + [anon_sym___cdecl] = ACTIONS(1276), + [anon_sym___clrcall] = ACTIONS(1276), + [anon_sym___stdcall] = ACTIONS(1276), + [anon_sym___fastcall] = ACTIONS(1276), + [anon_sym___thiscall] = ACTIONS(1276), + [anon_sym___vectorcall] = ACTIONS(1276), + [anon_sym_LBRACE] = ACTIONS(1278), + [anon_sym_signed] = ACTIONS(1276), + [anon_sym_unsigned] = ACTIONS(1276), + [anon_sym_long] = ACTIONS(1276), + [anon_sym_short] = ACTIONS(1276), + [anon_sym_static] = ACTIONS(1276), + [anon_sym_auto] = ACTIONS(1276), + [anon_sym_register] = ACTIONS(1276), + [anon_sym_inline] = ACTIONS(1276), + [anon_sym___inline] = ACTIONS(1276), + [anon_sym___inline__] = ACTIONS(1276), + [anon_sym___forceinline] = ACTIONS(1276), + [anon_sym_thread_local] = ACTIONS(1276), + [anon_sym___thread] = ACTIONS(1276), + [anon_sym_const] = ACTIONS(1276), + [anon_sym_constexpr] = ACTIONS(1276), + [anon_sym_volatile] = ACTIONS(1276), + [anon_sym_restrict] = ACTIONS(1276), + [anon_sym___restrict__] = ACTIONS(1276), + [anon_sym__Atomic] = ACTIONS(1276), + [anon_sym__Noreturn] = ACTIONS(1276), + [anon_sym_noreturn] = ACTIONS(1276), + [anon_sym__Nonnull] = ACTIONS(1276), + [anon_sym_alignas] = ACTIONS(1276), + [anon_sym__Alignas] = ACTIONS(1276), + [sym_primitive_type] = ACTIONS(1276), + [anon_sym_enum] = ACTIONS(1276), + [anon_sym_struct] = ACTIONS(1276), + [anon_sym_union] = ACTIONS(1276), + [anon_sym_if] = ACTIONS(1276), + [anon_sym_switch] = ACTIONS(1276), + [anon_sym_case] = ACTIONS(1276), + [anon_sym_default] = ACTIONS(1276), + [anon_sym_while] = ACTIONS(1276), + [anon_sym_do] = ACTIONS(1276), + [anon_sym_for] = ACTIONS(1276), + [anon_sym_return] = ACTIONS(1276), + [anon_sym_break] = ACTIONS(1276), + [anon_sym_continue] = ACTIONS(1276), + [anon_sym_goto] = ACTIONS(1276), + [anon_sym___try] = ACTIONS(1276), + [anon_sym___leave] = ACTIONS(1276), + [anon_sym_DASH_DASH] = ACTIONS(1278), + [anon_sym_PLUS_PLUS] = ACTIONS(1278), + [anon_sym_sizeof] = ACTIONS(1276), + [anon_sym___alignof__] = ACTIONS(1276), + [anon_sym___alignof] = ACTIONS(1276), + [anon_sym__alignof] = ACTIONS(1276), + [anon_sym_alignof] = ACTIONS(1276), + [anon_sym__Alignof] = ACTIONS(1276), + [anon_sym_offsetof] = ACTIONS(1276), + [anon_sym__Generic] = ACTIONS(1276), + [anon_sym_asm] = ACTIONS(1276), + [anon_sym___asm__] = ACTIONS(1276), + [anon_sym___asm] = ACTIONS(1276), + [sym_number_literal] = ACTIONS(1278), + [anon_sym_L_SQUOTE] = ACTIONS(1278), + [anon_sym_u_SQUOTE] = ACTIONS(1278), + [anon_sym_U_SQUOTE] = ACTIONS(1278), + [anon_sym_u8_SQUOTE] = ACTIONS(1278), + [anon_sym_SQUOTE] = ACTIONS(1278), + [anon_sym_L_DQUOTE] = ACTIONS(1278), + [anon_sym_u_DQUOTE] = ACTIONS(1278), + [anon_sym_U_DQUOTE] = ACTIONS(1278), + [anon_sym_u8_DQUOTE] = ACTIONS(1278), + [anon_sym_DQUOTE] = ACTIONS(1278), + [sym_true] = ACTIONS(1276), + [sym_false] = ACTIONS(1276), + [anon_sym_NULL] = ACTIONS(1276), + [anon_sym_nullptr] = ACTIONS(1276), + [sym_comment] = ACTIONS(3), + }, + [295] = { + [sym_identifier] = ACTIONS(1292), + [aux_sym_preproc_include_token1] = ACTIONS(1292), + [aux_sym_preproc_def_token1] = ACTIONS(1292), + [aux_sym_preproc_if_token1] = ACTIONS(1292), + [aux_sym_preproc_if_token2] = ACTIONS(1292), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1292), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1292), + [sym_preproc_directive] = ACTIONS(1292), + [anon_sym_LPAREN2] = ACTIONS(1294), + [anon_sym_BANG] = ACTIONS(1294), + [anon_sym_TILDE] = ACTIONS(1294), + [anon_sym_DASH] = ACTIONS(1292), + [anon_sym_PLUS] = ACTIONS(1292), + [anon_sym_STAR] = ACTIONS(1294), + [anon_sym_AMP] = ACTIONS(1294), + [anon_sym_SEMI] = ACTIONS(1294), + [anon_sym___extension__] = ACTIONS(1292), + [anon_sym_typedef] = ACTIONS(1292), + [anon_sym_extern] = ACTIONS(1292), + [anon_sym___attribute__] = ACTIONS(1292), + [anon_sym___attribute] = ACTIONS(1292), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1294), + [anon_sym___declspec] = ACTIONS(1292), + [anon_sym___cdecl] = ACTIONS(1292), + [anon_sym___clrcall] = ACTIONS(1292), + [anon_sym___stdcall] = ACTIONS(1292), + [anon_sym___fastcall] = ACTIONS(1292), + [anon_sym___thiscall] = ACTIONS(1292), + [anon_sym___vectorcall] = ACTIONS(1292), + [anon_sym_LBRACE] = ACTIONS(1294), + [anon_sym_signed] = ACTIONS(1292), + [anon_sym_unsigned] = ACTIONS(1292), + [anon_sym_long] = ACTIONS(1292), + [anon_sym_short] = ACTIONS(1292), + [anon_sym_static] = ACTIONS(1292), + [anon_sym_auto] = ACTIONS(1292), + [anon_sym_register] = ACTIONS(1292), + [anon_sym_inline] = ACTIONS(1292), + [anon_sym___inline] = ACTIONS(1292), + [anon_sym___inline__] = ACTIONS(1292), + [anon_sym___forceinline] = ACTIONS(1292), + [anon_sym_thread_local] = ACTIONS(1292), + [anon_sym___thread] = ACTIONS(1292), + [anon_sym_const] = ACTIONS(1292), + [anon_sym_constexpr] = ACTIONS(1292), + [anon_sym_volatile] = ACTIONS(1292), + [anon_sym_restrict] = ACTIONS(1292), + [anon_sym___restrict__] = ACTIONS(1292), + [anon_sym__Atomic] = ACTIONS(1292), + [anon_sym__Noreturn] = ACTIONS(1292), + [anon_sym_noreturn] = ACTIONS(1292), + [anon_sym__Nonnull] = ACTIONS(1292), + [anon_sym_alignas] = ACTIONS(1292), + [anon_sym__Alignas] = ACTIONS(1292), + [sym_primitive_type] = ACTIONS(1292), + [anon_sym_enum] = ACTIONS(1292), + [anon_sym_struct] = ACTIONS(1292), + [anon_sym_union] = ACTIONS(1292), + [anon_sym_if] = ACTIONS(1292), + [anon_sym_switch] = ACTIONS(1292), + [anon_sym_case] = ACTIONS(1292), + [anon_sym_default] = ACTIONS(1292), + [anon_sym_while] = ACTIONS(1292), + [anon_sym_do] = ACTIONS(1292), + [anon_sym_for] = ACTIONS(1292), + [anon_sym_return] = ACTIONS(1292), + [anon_sym_break] = ACTIONS(1292), + [anon_sym_continue] = ACTIONS(1292), + [anon_sym_goto] = ACTIONS(1292), + [anon_sym___try] = ACTIONS(1292), + [anon_sym___leave] = ACTIONS(1292), + [anon_sym_DASH_DASH] = ACTIONS(1294), + [anon_sym_PLUS_PLUS] = ACTIONS(1294), + [anon_sym_sizeof] = ACTIONS(1292), + [anon_sym___alignof__] = ACTIONS(1292), + [anon_sym___alignof] = ACTIONS(1292), + [anon_sym__alignof] = ACTIONS(1292), + [anon_sym_alignof] = ACTIONS(1292), + [anon_sym__Alignof] = ACTIONS(1292), + [anon_sym_offsetof] = ACTIONS(1292), + [anon_sym__Generic] = ACTIONS(1292), + [anon_sym_asm] = ACTIONS(1292), + [anon_sym___asm__] = ACTIONS(1292), + [anon_sym___asm] = ACTIONS(1292), + [sym_number_literal] = ACTIONS(1294), + [anon_sym_L_SQUOTE] = ACTIONS(1294), + [anon_sym_u_SQUOTE] = ACTIONS(1294), + [anon_sym_U_SQUOTE] = ACTIONS(1294), + [anon_sym_u8_SQUOTE] = ACTIONS(1294), + [anon_sym_SQUOTE] = ACTIONS(1294), + [anon_sym_L_DQUOTE] = ACTIONS(1294), + [anon_sym_u_DQUOTE] = ACTIONS(1294), + [anon_sym_U_DQUOTE] = ACTIONS(1294), + [anon_sym_u8_DQUOTE] = ACTIONS(1294), + [anon_sym_DQUOTE] = ACTIONS(1294), + [sym_true] = ACTIONS(1292), + [sym_false] = ACTIONS(1292), + [anon_sym_NULL] = ACTIONS(1292), + [anon_sym_nullptr] = ACTIONS(1292), + [sym_comment] = ACTIONS(3), + }, + [296] = { + [sym_identifier] = ACTIONS(1300), + [aux_sym_preproc_include_token1] = ACTIONS(1300), + [aux_sym_preproc_def_token1] = ACTIONS(1300), + [aux_sym_preproc_if_token1] = ACTIONS(1300), + [aux_sym_preproc_if_token2] = ACTIONS(1300), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1300), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1300), + [sym_preproc_directive] = ACTIONS(1300), + [anon_sym_LPAREN2] = ACTIONS(1302), + [anon_sym_BANG] = ACTIONS(1302), + [anon_sym_TILDE] = ACTIONS(1302), + [anon_sym_DASH] = ACTIONS(1300), + [anon_sym_PLUS] = ACTIONS(1300), + [anon_sym_STAR] = ACTIONS(1302), + [anon_sym_AMP] = ACTIONS(1302), + [anon_sym_SEMI] = ACTIONS(1302), + [anon_sym___extension__] = ACTIONS(1300), + [anon_sym_typedef] = ACTIONS(1300), + [anon_sym_extern] = ACTIONS(1300), + [anon_sym___attribute__] = ACTIONS(1300), + [anon_sym___attribute] = ACTIONS(1300), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1302), + [anon_sym___declspec] = ACTIONS(1300), + [anon_sym___cdecl] = ACTIONS(1300), + [anon_sym___clrcall] = ACTIONS(1300), + [anon_sym___stdcall] = ACTIONS(1300), + [anon_sym___fastcall] = ACTIONS(1300), + [anon_sym___thiscall] = ACTIONS(1300), + [anon_sym___vectorcall] = ACTIONS(1300), + [anon_sym_LBRACE] = ACTIONS(1302), + [anon_sym_signed] = ACTIONS(1300), + [anon_sym_unsigned] = ACTIONS(1300), + [anon_sym_long] = ACTIONS(1300), + [anon_sym_short] = ACTIONS(1300), + [anon_sym_static] = ACTIONS(1300), + [anon_sym_auto] = ACTIONS(1300), + [anon_sym_register] = ACTIONS(1300), + [anon_sym_inline] = ACTIONS(1300), + [anon_sym___inline] = ACTIONS(1300), + [anon_sym___inline__] = ACTIONS(1300), + [anon_sym___forceinline] = ACTIONS(1300), + [anon_sym_thread_local] = ACTIONS(1300), + [anon_sym___thread] = ACTIONS(1300), + [anon_sym_const] = ACTIONS(1300), + [anon_sym_constexpr] = ACTIONS(1300), + [anon_sym_volatile] = ACTIONS(1300), + [anon_sym_restrict] = ACTIONS(1300), + [anon_sym___restrict__] = ACTIONS(1300), + [anon_sym__Atomic] = ACTIONS(1300), + [anon_sym__Noreturn] = ACTIONS(1300), + [anon_sym_noreturn] = ACTIONS(1300), + [anon_sym__Nonnull] = ACTIONS(1300), + [anon_sym_alignas] = ACTIONS(1300), + [anon_sym__Alignas] = ACTIONS(1300), + [sym_primitive_type] = ACTIONS(1300), + [anon_sym_enum] = ACTIONS(1300), + [anon_sym_struct] = ACTIONS(1300), + [anon_sym_union] = ACTIONS(1300), + [anon_sym_if] = ACTIONS(1300), + [anon_sym_switch] = ACTIONS(1300), + [anon_sym_case] = ACTIONS(1300), + [anon_sym_default] = ACTIONS(1300), + [anon_sym_while] = ACTIONS(1300), + [anon_sym_do] = ACTIONS(1300), + [anon_sym_for] = ACTIONS(1300), + [anon_sym_return] = ACTIONS(1300), + [anon_sym_break] = ACTIONS(1300), + [anon_sym_continue] = ACTIONS(1300), + [anon_sym_goto] = ACTIONS(1300), + [anon_sym___try] = ACTIONS(1300), + [anon_sym___leave] = ACTIONS(1300), + [anon_sym_DASH_DASH] = ACTIONS(1302), + [anon_sym_PLUS_PLUS] = ACTIONS(1302), + [anon_sym_sizeof] = ACTIONS(1300), + [anon_sym___alignof__] = ACTIONS(1300), + [anon_sym___alignof] = ACTIONS(1300), + [anon_sym__alignof] = ACTIONS(1300), + [anon_sym_alignof] = ACTIONS(1300), + [anon_sym__Alignof] = ACTIONS(1300), + [anon_sym_offsetof] = ACTIONS(1300), + [anon_sym__Generic] = ACTIONS(1300), + [anon_sym_asm] = ACTIONS(1300), + [anon_sym___asm__] = ACTIONS(1300), + [anon_sym___asm] = ACTIONS(1300), + [sym_number_literal] = ACTIONS(1302), + [anon_sym_L_SQUOTE] = ACTIONS(1302), + [anon_sym_u_SQUOTE] = ACTIONS(1302), + [anon_sym_U_SQUOTE] = ACTIONS(1302), + [anon_sym_u8_SQUOTE] = ACTIONS(1302), + [anon_sym_SQUOTE] = ACTIONS(1302), + [anon_sym_L_DQUOTE] = ACTIONS(1302), + [anon_sym_u_DQUOTE] = ACTIONS(1302), + [anon_sym_U_DQUOTE] = ACTIONS(1302), + [anon_sym_u8_DQUOTE] = ACTIONS(1302), + [anon_sym_DQUOTE] = ACTIONS(1302), + [sym_true] = ACTIONS(1300), + [sym_false] = ACTIONS(1300), + [anon_sym_NULL] = ACTIONS(1300), + [anon_sym_nullptr] = ACTIONS(1300), + [sym_comment] = ACTIONS(3), + }, + [297] = { + [sym_identifier] = ACTIONS(1340), + [aux_sym_preproc_include_token1] = ACTIONS(1340), + [aux_sym_preproc_def_token1] = ACTIONS(1340), + [aux_sym_preproc_if_token1] = ACTIONS(1340), + [aux_sym_preproc_if_token2] = ACTIONS(1340), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1340), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1340), + [sym_preproc_directive] = ACTIONS(1340), + [anon_sym_LPAREN2] = ACTIONS(1342), + [anon_sym_BANG] = ACTIONS(1342), + [anon_sym_TILDE] = ACTIONS(1342), + [anon_sym_DASH] = ACTIONS(1340), + [anon_sym_PLUS] = ACTIONS(1340), + [anon_sym_STAR] = ACTIONS(1342), + [anon_sym_AMP] = ACTIONS(1342), + [anon_sym_SEMI] = ACTIONS(1342), + [anon_sym___extension__] = ACTIONS(1340), + [anon_sym_typedef] = ACTIONS(1340), + [anon_sym_extern] = ACTIONS(1340), + [anon_sym___attribute__] = ACTIONS(1340), + [anon_sym___attribute] = ACTIONS(1340), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1342), + [anon_sym___declspec] = ACTIONS(1340), + [anon_sym___cdecl] = ACTIONS(1340), + [anon_sym___clrcall] = ACTIONS(1340), + [anon_sym___stdcall] = ACTIONS(1340), + [anon_sym___fastcall] = ACTIONS(1340), + [anon_sym___thiscall] = ACTIONS(1340), + [anon_sym___vectorcall] = ACTIONS(1340), + [anon_sym_LBRACE] = ACTIONS(1342), + [anon_sym_signed] = ACTIONS(1340), + [anon_sym_unsigned] = ACTIONS(1340), + [anon_sym_long] = ACTIONS(1340), + [anon_sym_short] = ACTIONS(1340), + [anon_sym_static] = ACTIONS(1340), + [anon_sym_auto] = ACTIONS(1340), + [anon_sym_register] = ACTIONS(1340), + [anon_sym_inline] = ACTIONS(1340), + [anon_sym___inline] = ACTIONS(1340), + [anon_sym___inline__] = ACTIONS(1340), + [anon_sym___forceinline] = ACTIONS(1340), + [anon_sym_thread_local] = ACTIONS(1340), + [anon_sym___thread] = ACTIONS(1340), + [anon_sym_const] = ACTIONS(1340), + [anon_sym_constexpr] = ACTIONS(1340), + [anon_sym_volatile] = ACTIONS(1340), + [anon_sym_restrict] = ACTIONS(1340), + [anon_sym___restrict__] = ACTIONS(1340), + [anon_sym__Atomic] = ACTIONS(1340), + [anon_sym__Noreturn] = ACTIONS(1340), + [anon_sym_noreturn] = ACTIONS(1340), + [anon_sym__Nonnull] = ACTIONS(1340), + [anon_sym_alignas] = ACTIONS(1340), + [anon_sym__Alignas] = ACTIONS(1340), + [sym_primitive_type] = ACTIONS(1340), + [anon_sym_enum] = ACTIONS(1340), + [anon_sym_struct] = ACTIONS(1340), + [anon_sym_union] = ACTIONS(1340), + [anon_sym_if] = ACTIONS(1340), + [anon_sym_switch] = ACTIONS(1340), + [anon_sym_case] = ACTIONS(1340), + [anon_sym_default] = ACTIONS(1340), + [anon_sym_while] = ACTIONS(1340), + [anon_sym_do] = ACTIONS(1340), + [anon_sym_for] = ACTIONS(1340), + [anon_sym_return] = ACTIONS(1340), + [anon_sym_break] = ACTIONS(1340), + [anon_sym_continue] = ACTIONS(1340), + [anon_sym_goto] = ACTIONS(1340), + [anon_sym___try] = ACTIONS(1340), + [anon_sym___leave] = ACTIONS(1340), + [anon_sym_DASH_DASH] = ACTIONS(1342), + [anon_sym_PLUS_PLUS] = ACTIONS(1342), + [anon_sym_sizeof] = ACTIONS(1340), + [anon_sym___alignof__] = ACTIONS(1340), + [anon_sym___alignof] = ACTIONS(1340), + [anon_sym__alignof] = ACTIONS(1340), + [anon_sym_alignof] = ACTIONS(1340), + [anon_sym__Alignof] = ACTIONS(1340), + [anon_sym_offsetof] = ACTIONS(1340), + [anon_sym__Generic] = ACTIONS(1340), + [anon_sym_asm] = ACTIONS(1340), + [anon_sym___asm__] = ACTIONS(1340), + [anon_sym___asm] = ACTIONS(1340), + [sym_number_literal] = ACTIONS(1342), + [anon_sym_L_SQUOTE] = ACTIONS(1342), + [anon_sym_u_SQUOTE] = ACTIONS(1342), + [anon_sym_U_SQUOTE] = ACTIONS(1342), + [anon_sym_u8_SQUOTE] = ACTIONS(1342), + [anon_sym_SQUOTE] = ACTIONS(1342), + [anon_sym_L_DQUOTE] = ACTIONS(1342), + [anon_sym_u_DQUOTE] = ACTIONS(1342), + [anon_sym_U_DQUOTE] = ACTIONS(1342), + [anon_sym_u8_DQUOTE] = ACTIONS(1342), + [anon_sym_DQUOTE] = ACTIONS(1342), + [sym_true] = ACTIONS(1340), + [sym_false] = ACTIONS(1340), + [anon_sym_NULL] = ACTIONS(1340), + [anon_sym_nullptr] = ACTIONS(1340), + [sym_comment] = ACTIONS(3), + }, + [298] = { + [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___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__Nonnull] = 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), + [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), + }, + [299] = { + [sym_identifier] = ACTIONS(1296), + [aux_sym_preproc_include_token1] = ACTIONS(1296), + [aux_sym_preproc_def_token1] = ACTIONS(1296), + [aux_sym_preproc_if_token1] = ACTIONS(1296), + [aux_sym_preproc_if_token2] = ACTIONS(1296), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1296), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1296), + [sym_preproc_directive] = ACTIONS(1296), + [anon_sym_LPAREN2] = ACTIONS(1298), + [anon_sym_BANG] = ACTIONS(1298), + [anon_sym_TILDE] = ACTIONS(1298), + [anon_sym_DASH] = ACTIONS(1296), + [anon_sym_PLUS] = ACTIONS(1296), + [anon_sym_STAR] = ACTIONS(1298), + [anon_sym_AMP] = ACTIONS(1298), + [anon_sym_SEMI] = ACTIONS(1298), + [anon_sym___extension__] = ACTIONS(1296), + [anon_sym_typedef] = ACTIONS(1296), + [anon_sym_extern] = ACTIONS(1296), + [anon_sym___attribute__] = ACTIONS(1296), + [anon_sym___attribute] = ACTIONS(1296), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1298), + [anon_sym___declspec] = ACTIONS(1296), + [anon_sym___cdecl] = ACTIONS(1296), + [anon_sym___clrcall] = ACTIONS(1296), + [anon_sym___stdcall] = ACTIONS(1296), + [anon_sym___fastcall] = ACTIONS(1296), + [anon_sym___thiscall] = ACTIONS(1296), + [anon_sym___vectorcall] = ACTIONS(1296), + [anon_sym_LBRACE] = ACTIONS(1298), + [anon_sym_signed] = ACTIONS(1296), + [anon_sym_unsigned] = ACTIONS(1296), + [anon_sym_long] = ACTIONS(1296), + [anon_sym_short] = ACTIONS(1296), + [anon_sym_static] = ACTIONS(1296), + [anon_sym_auto] = ACTIONS(1296), + [anon_sym_register] = ACTIONS(1296), + [anon_sym_inline] = ACTIONS(1296), + [anon_sym___inline] = ACTIONS(1296), + [anon_sym___inline__] = ACTIONS(1296), + [anon_sym___forceinline] = ACTIONS(1296), + [anon_sym_thread_local] = ACTIONS(1296), + [anon_sym___thread] = ACTIONS(1296), + [anon_sym_const] = ACTIONS(1296), + [anon_sym_constexpr] = ACTIONS(1296), + [anon_sym_volatile] = ACTIONS(1296), + [anon_sym_restrict] = ACTIONS(1296), + [anon_sym___restrict__] = ACTIONS(1296), + [anon_sym__Atomic] = ACTIONS(1296), + [anon_sym__Noreturn] = ACTIONS(1296), + [anon_sym_noreturn] = ACTIONS(1296), + [anon_sym__Nonnull] = ACTIONS(1296), + [anon_sym_alignas] = ACTIONS(1296), + [anon_sym__Alignas] = ACTIONS(1296), + [sym_primitive_type] = ACTIONS(1296), + [anon_sym_enum] = ACTIONS(1296), + [anon_sym_struct] = ACTIONS(1296), + [anon_sym_union] = ACTIONS(1296), + [anon_sym_if] = ACTIONS(1296), + [anon_sym_switch] = ACTIONS(1296), + [anon_sym_case] = ACTIONS(1296), + [anon_sym_default] = ACTIONS(1296), + [anon_sym_while] = ACTIONS(1296), + [anon_sym_do] = ACTIONS(1296), + [anon_sym_for] = ACTIONS(1296), + [anon_sym_return] = ACTIONS(1296), + [anon_sym_break] = ACTIONS(1296), + [anon_sym_continue] = ACTIONS(1296), + [anon_sym_goto] = ACTIONS(1296), + [anon_sym___try] = ACTIONS(1296), + [anon_sym___leave] = ACTIONS(1296), + [anon_sym_DASH_DASH] = ACTIONS(1298), + [anon_sym_PLUS_PLUS] = ACTIONS(1298), + [anon_sym_sizeof] = ACTIONS(1296), + [anon_sym___alignof__] = ACTIONS(1296), + [anon_sym___alignof] = ACTIONS(1296), + [anon_sym__alignof] = ACTIONS(1296), + [anon_sym_alignof] = ACTIONS(1296), + [anon_sym__Alignof] = ACTIONS(1296), + [anon_sym_offsetof] = ACTIONS(1296), + [anon_sym__Generic] = ACTIONS(1296), + [anon_sym_asm] = ACTIONS(1296), + [anon_sym___asm__] = ACTIONS(1296), + [anon_sym___asm] = ACTIONS(1296), + [sym_number_literal] = ACTIONS(1298), + [anon_sym_L_SQUOTE] = ACTIONS(1298), + [anon_sym_u_SQUOTE] = ACTIONS(1298), + [anon_sym_U_SQUOTE] = ACTIONS(1298), + [anon_sym_u8_SQUOTE] = ACTIONS(1298), + [anon_sym_SQUOTE] = ACTIONS(1298), + [anon_sym_L_DQUOTE] = ACTIONS(1298), + [anon_sym_u_DQUOTE] = ACTIONS(1298), + [anon_sym_U_DQUOTE] = ACTIONS(1298), + [anon_sym_u8_DQUOTE] = ACTIONS(1298), + [anon_sym_DQUOTE] = ACTIONS(1298), + [sym_true] = ACTIONS(1296), + [sym_false] = ACTIONS(1296), + [anon_sym_NULL] = ACTIONS(1296), + [anon_sym_nullptr] = ACTIONS(1296), + [sym_comment] = ACTIONS(3), + }, + [300] = { + [sym_identifier] = ACTIONS(1308), + [aux_sym_preproc_include_token1] = ACTIONS(1308), + [aux_sym_preproc_def_token1] = ACTIONS(1308), + [aux_sym_preproc_if_token1] = ACTIONS(1308), + [aux_sym_preproc_if_token2] = ACTIONS(1308), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1308), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1308), + [sym_preproc_directive] = ACTIONS(1308), + [anon_sym_LPAREN2] = ACTIONS(1310), + [anon_sym_BANG] = ACTIONS(1310), + [anon_sym_TILDE] = ACTIONS(1310), + [anon_sym_DASH] = ACTIONS(1308), + [anon_sym_PLUS] = ACTIONS(1308), + [anon_sym_STAR] = ACTIONS(1310), + [anon_sym_AMP] = ACTIONS(1310), + [anon_sym_SEMI] = ACTIONS(1310), + [anon_sym___extension__] = ACTIONS(1308), + [anon_sym_typedef] = ACTIONS(1308), + [anon_sym_extern] = ACTIONS(1308), + [anon_sym___attribute__] = ACTIONS(1308), + [anon_sym___attribute] = ACTIONS(1308), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1310), + [anon_sym___declspec] = ACTIONS(1308), + [anon_sym___cdecl] = ACTIONS(1308), + [anon_sym___clrcall] = ACTIONS(1308), + [anon_sym___stdcall] = ACTIONS(1308), + [anon_sym___fastcall] = ACTIONS(1308), + [anon_sym___thiscall] = ACTIONS(1308), + [anon_sym___vectorcall] = ACTIONS(1308), + [anon_sym_LBRACE] = ACTIONS(1310), + [anon_sym_signed] = ACTIONS(1308), + [anon_sym_unsigned] = ACTIONS(1308), + [anon_sym_long] = ACTIONS(1308), + [anon_sym_short] = ACTIONS(1308), + [anon_sym_static] = ACTIONS(1308), + [anon_sym_auto] = ACTIONS(1308), + [anon_sym_register] = ACTIONS(1308), + [anon_sym_inline] = ACTIONS(1308), + [anon_sym___inline] = ACTIONS(1308), + [anon_sym___inline__] = ACTIONS(1308), + [anon_sym___forceinline] = ACTIONS(1308), + [anon_sym_thread_local] = ACTIONS(1308), + [anon_sym___thread] = ACTIONS(1308), + [anon_sym_const] = ACTIONS(1308), + [anon_sym_constexpr] = ACTIONS(1308), + [anon_sym_volatile] = ACTIONS(1308), + [anon_sym_restrict] = ACTIONS(1308), + [anon_sym___restrict__] = ACTIONS(1308), + [anon_sym__Atomic] = ACTIONS(1308), + [anon_sym__Noreturn] = ACTIONS(1308), + [anon_sym_noreturn] = ACTIONS(1308), + [anon_sym__Nonnull] = ACTIONS(1308), + [anon_sym_alignas] = ACTIONS(1308), + [anon_sym__Alignas] = ACTIONS(1308), + [sym_primitive_type] = ACTIONS(1308), + [anon_sym_enum] = ACTIONS(1308), + [anon_sym_struct] = ACTIONS(1308), + [anon_sym_union] = ACTIONS(1308), + [anon_sym_if] = ACTIONS(1308), + [anon_sym_switch] = ACTIONS(1308), + [anon_sym_case] = ACTIONS(1308), + [anon_sym_default] = ACTIONS(1308), + [anon_sym_while] = ACTIONS(1308), + [anon_sym_do] = ACTIONS(1308), + [anon_sym_for] = ACTIONS(1308), + [anon_sym_return] = ACTIONS(1308), + [anon_sym_break] = ACTIONS(1308), + [anon_sym_continue] = ACTIONS(1308), + [anon_sym_goto] = ACTIONS(1308), + [anon_sym___try] = ACTIONS(1308), + [anon_sym___leave] = ACTIONS(1308), + [anon_sym_DASH_DASH] = ACTIONS(1310), + [anon_sym_PLUS_PLUS] = ACTIONS(1310), + [anon_sym_sizeof] = ACTIONS(1308), + [anon_sym___alignof__] = ACTIONS(1308), + [anon_sym___alignof] = ACTIONS(1308), + [anon_sym__alignof] = ACTIONS(1308), + [anon_sym_alignof] = ACTIONS(1308), + [anon_sym__Alignof] = ACTIONS(1308), + [anon_sym_offsetof] = ACTIONS(1308), + [anon_sym__Generic] = ACTIONS(1308), + [anon_sym_asm] = ACTIONS(1308), + [anon_sym___asm__] = ACTIONS(1308), + [anon_sym___asm] = ACTIONS(1308), + [sym_number_literal] = ACTIONS(1310), + [anon_sym_L_SQUOTE] = ACTIONS(1310), + [anon_sym_u_SQUOTE] = ACTIONS(1310), + [anon_sym_U_SQUOTE] = ACTIONS(1310), + [anon_sym_u8_SQUOTE] = ACTIONS(1310), + [anon_sym_SQUOTE] = ACTIONS(1310), + [anon_sym_L_DQUOTE] = ACTIONS(1310), + [anon_sym_u_DQUOTE] = ACTIONS(1310), + [anon_sym_U_DQUOTE] = ACTIONS(1310), + [anon_sym_u8_DQUOTE] = ACTIONS(1310), + [anon_sym_DQUOTE] = ACTIONS(1310), + [sym_true] = ACTIONS(1308), + [sym_false] = ACTIONS(1308), + [anon_sym_NULL] = ACTIONS(1308), + [anon_sym_nullptr] = ACTIONS(1308), + [sym_comment] = ACTIONS(3), + }, + [301] = { + [sym_identifier] = ACTIONS(1316), + [aux_sym_preproc_include_token1] = ACTIONS(1316), + [aux_sym_preproc_def_token1] = ACTIONS(1316), + [aux_sym_preproc_if_token1] = ACTIONS(1316), + [aux_sym_preproc_if_token2] = ACTIONS(1316), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1316), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1316), + [sym_preproc_directive] = ACTIONS(1316), + [anon_sym_LPAREN2] = ACTIONS(1318), + [anon_sym_BANG] = ACTIONS(1318), + [anon_sym_TILDE] = ACTIONS(1318), + [anon_sym_DASH] = ACTIONS(1316), + [anon_sym_PLUS] = ACTIONS(1316), + [anon_sym_STAR] = ACTIONS(1318), + [anon_sym_AMP] = ACTIONS(1318), + [anon_sym_SEMI] = ACTIONS(1318), + [anon_sym___extension__] = ACTIONS(1316), + [anon_sym_typedef] = ACTIONS(1316), + [anon_sym_extern] = ACTIONS(1316), + [anon_sym___attribute__] = ACTIONS(1316), + [anon_sym___attribute] = ACTIONS(1316), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1318), + [anon_sym___declspec] = ACTIONS(1316), + [anon_sym___cdecl] = ACTIONS(1316), + [anon_sym___clrcall] = ACTIONS(1316), + [anon_sym___stdcall] = ACTIONS(1316), + [anon_sym___fastcall] = ACTIONS(1316), + [anon_sym___thiscall] = ACTIONS(1316), + [anon_sym___vectorcall] = ACTIONS(1316), + [anon_sym_LBRACE] = ACTIONS(1318), + [anon_sym_signed] = ACTIONS(1316), + [anon_sym_unsigned] = ACTIONS(1316), + [anon_sym_long] = ACTIONS(1316), + [anon_sym_short] = ACTIONS(1316), + [anon_sym_static] = ACTIONS(1316), + [anon_sym_auto] = ACTIONS(1316), + [anon_sym_register] = ACTIONS(1316), + [anon_sym_inline] = ACTIONS(1316), + [anon_sym___inline] = ACTIONS(1316), + [anon_sym___inline__] = ACTIONS(1316), + [anon_sym___forceinline] = ACTIONS(1316), + [anon_sym_thread_local] = ACTIONS(1316), + [anon_sym___thread] = ACTIONS(1316), + [anon_sym_const] = ACTIONS(1316), + [anon_sym_constexpr] = ACTIONS(1316), + [anon_sym_volatile] = ACTIONS(1316), + [anon_sym_restrict] = ACTIONS(1316), + [anon_sym___restrict__] = ACTIONS(1316), + [anon_sym__Atomic] = ACTIONS(1316), + [anon_sym__Noreturn] = ACTIONS(1316), + [anon_sym_noreturn] = ACTIONS(1316), + [anon_sym__Nonnull] = ACTIONS(1316), + [anon_sym_alignas] = ACTIONS(1316), + [anon_sym__Alignas] = ACTIONS(1316), + [sym_primitive_type] = ACTIONS(1316), + [anon_sym_enum] = ACTIONS(1316), + [anon_sym_struct] = ACTIONS(1316), + [anon_sym_union] = ACTIONS(1316), + [anon_sym_if] = ACTIONS(1316), + [anon_sym_switch] = ACTIONS(1316), + [anon_sym_case] = ACTIONS(1316), + [anon_sym_default] = ACTIONS(1316), + [anon_sym_while] = ACTIONS(1316), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1316), + [anon_sym_return] = ACTIONS(1316), + [anon_sym_break] = ACTIONS(1316), + [anon_sym_continue] = ACTIONS(1316), + [anon_sym_goto] = ACTIONS(1316), + [anon_sym___try] = ACTIONS(1316), + [anon_sym___leave] = ACTIONS(1316), + [anon_sym_DASH_DASH] = ACTIONS(1318), + [anon_sym_PLUS_PLUS] = ACTIONS(1318), + [anon_sym_sizeof] = ACTIONS(1316), + [anon_sym___alignof__] = ACTIONS(1316), + [anon_sym___alignof] = ACTIONS(1316), + [anon_sym__alignof] = ACTIONS(1316), + [anon_sym_alignof] = ACTIONS(1316), + [anon_sym__Alignof] = ACTIONS(1316), + [anon_sym_offsetof] = ACTIONS(1316), + [anon_sym__Generic] = ACTIONS(1316), + [anon_sym_asm] = ACTIONS(1316), + [anon_sym___asm__] = ACTIONS(1316), + [anon_sym___asm] = ACTIONS(1316), + [sym_number_literal] = ACTIONS(1318), + [anon_sym_L_SQUOTE] = ACTIONS(1318), + [anon_sym_u_SQUOTE] = ACTIONS(1318), + [anon_sym_U_SQUOTE] = ACTIONS(1318), + [anon_sym_u8_SQUOTE] = ACTIONS(1318), + [anon_sym_SQUOTE] = ACTIONS(1318), + [anon_sym_L_DQUOTE] = ACTIONS(1318), + [anon_sym_u_DQUOTE] = ACTIONS(1318), + [anon_sym_U_DQUOTE] = ACTIONS(1318), + [anon_sym_u8_DQUOTE] = ACTIONS(1318), + [anon_sym_DQUOTE] = ACTIONS(1318), + [sym_true] = ACTIONS(1316), + [sym_false] = ACTIONS(1316), + [anon_sym_NULL] = ACTIONS(1316), + [anon_sym_nullptr] = ACTIONS(1316), + [sym_comment] = ACTIONS(3), + }, + [302] = { + [sym_identifier] = ACTIONS(1324), + [aux_sym_preproc_include_token1] = ACTIONS(1324), + [aux_sym_preproc_def_token1] = ACTIONS(1324), + [aux_sym_preproc_if_token1] = ACTIONS(1324), + [aux_sym_preproc_if_token2] = ACTIONS(1324), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1324), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1324), + [sym_preproc_directive] = ACTIONS(1324), + [anon_sym_LPAREN2] = ACTIONS(1326), + [anon_sym_BANG] = ACTIONS(1326), + [anon_sym_TILDE] = ACTIONS(1326), + [anon_sym_DASH] = ACTIONS(1324), + [anon_sym_PLUS] = ACTIONS(1324), + [anon_sym_STAR] = ACTIONS(1326), + [anon_sym_AMP] = ACTIONS(1326), + [anon_sym_SEMI] = ACTIONS(1326), + [anon_sym___extension__] = ACTIONS(1324), + [anon_sym_typedef] = ACTIONS(1324), + [anon_sym_extern] = ACTIONS(1324), + [anon_sym___attribute__] = ACTIONS(1324), + [anon_sym___attribute] = ACTIONS(1324), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1326), + [anon_sym___declspec] = ACTIONS(1324), + [anon_sym___cdecl] = ACTIONS(1324), + [anon_sym___clrcall] = ACTIONS(1324), + [anon_sym___stdcall] = ACTIONS(1324), + [anon_sym___fastcall] = ACTIONS(1324), + [anon_sym___thiscall] = ACTIONS(1324), + [anon_sym___vectorcall] = ACTIONS(1324), + [anon_sym_LBRACE] = ACTIONS(1326), + [anon_sym_signed] = ACTIONS(1324), + [anon_sym_unsigned] = ACTIONS(1324), + [anon_sym_long] = ACTIONS(1324), + [anon_sym_short] = ACTIONS(1324), + [anon_sym_static] = ACTIONS(1324), + [anon_sym_auto] = ACTIONS(1324), + [anon_sym_register] = ACTIONS(1324), + [anon_sym_inline] = ACTIONS(1324), + [anon_sym___inline] = ACTIONS(1324), + [anon_sym___inline__] = ACTIONS(1324), + [anon_sym___forceinline] = ACTIONS(1324), + [anon_sym_thread_local] = ACTIONS(1324), + [anon_sym___thread] = ACTIONS(1324), + [anon_sym_const] = ACTIONS(1324), + [anon_sym_constexpr] = ACTIONS(1324), + [anon_sym_volatile] = ACTIONS(1324), + [anon_sym_restrict] = ACTIONS(1324), + [anon_sym___restrict__] = ACTIONS(1324), + [anon_sym__Atomic] = ACTIONS(1324), + [anon_sym__Noreturn] = ACTIONS(1324), + [anon_sym_noreturn] = ACTIONS(1324), + [anon_sym__Nonnull] = ACTIONS(1324), + [anon_sym_alignas] = ACTIONS(1324), + [anon_sym__Alignas] = ACTIONS(1324), + [sym_primitive_type] = ACTIONS(1324), + [anon_sym_enum] = ACTIONS(1324), + [anon_sym_struct] = ACTIONS(1324), + [anon_sym_union] = ACTIONS(1324), + [anon_sym_if] = ACTIONS(1324), + [anon_sym_switch] = ACTIONS(1324), + [anon_sym_case] = ACTIONS(1324), + [anon_sym_default] = ACTIONS(1324), + [anon_sym_while] = ACTIONS(1324), + [anon_sym_do] = ACTIONS(1324), + [anon_sym_for] = ACTIONS(1324), + [anon_sym_return] = ACTIONS(1324), + [anon_sym_break] = ACTIONS(1324), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1324), + [anon_sym___try] = ACTIONS(1324), + [anon_sym___leave] = ACTIONS(1324), + [anon_sym_DASH_DASH] = ACTIONS(1326), + [anon_sym_PLUS_PLUS] = ACTIONS(1326), + [anon_sym_sizeof] = ACTIONS(1324), + [anon_sym___alignof__] = ACTIONS(1324), + [anon_sym___alignof] = ACTIONS(1324), + [anon_sym__alignof] = ACTIONS(1324), + [anon_sym_alignof] = ACTIONS(1324), + [anon_sym__Alignof] = ACTIONS(1324), + [anon_sym_offsetof] = ACTIONS(1324), + [anon_sym__Generic] = ACTIONS(1324), + [anon_sym_asm] = ACTIONS(1324), + [anon_sym___asm__] = ACTIONS(1324), + [anon_sym___asm] = ACTIONS(1324), + [sym_number_literal] = ACTIONS(1326), + [anon_sym_L_SQUOTE] = ACTIONS(1326), + [anon_sym_u_SQUOTE] = ACTIONS(1326), + [anon_sym_U_SQUOTE] = ACTIONS(1326), + [anon_sym_u8_SQUOTE] = ACTIONS(1326), + [anon_sym_SQUOTE] = ACTIONS(1326), + [anon_sym_L_DQUOTE] = ACTIONS(1326), + [anon_sym_u_DQUOTE] = ACTIONS(1326), + [anon_sym_U_DQUOTE] = ACTIONS(1326), + [anon_sym_u8_DQUOTE] = ACTIONS(1326), + [anon_sym_DQUOTE] = ACTIONS(1326), + [sym_true] = ACTIONS(1324), + [sym_false] = ACTIONS(1324), + [anon_sym_NULL] = ACTIONS(1324), + [anon_sym_nullptr] = ACTIONS(1324), + [sym_comment] = ACTIONS(3), + }, + [303] = { + [sym_identifier] = ACTIONS(1328), + [aux_sym_preproc_include_token1] = ACTIONS(1328), + [aux_sym_preproc_def_token1] = ACTIONS(1328), + [aux_sym_preproc_if_token1] = ACTIONS(1328), + [aux_sym_preproc_if_token2] = ACTIONS(1328), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1328), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1328), + [sym_preproc_directive] = ACTIONS(1328), + [anon_sym_LPAREN2] = ACTIONS(1330), + [anon_sym_BANG] = ACTIONS(1330), + [anon_sym_TILDE] = ACTIONS(1330), + [anon_sym_DASH] = ACTIONS(1328), + [anon_sym_PLUS] = ACTIONS(1328), + [anon_sym_STAR] = ACTIONS(1330), + [anon_sym_AMP] = ACTIONS(1330), + [anon_sym_SEMI] = ACTIONS(1330), + [anon_sym___extension__] = ACTIONS(1328), + [anon_sym_typedef] = ACTIONS(1328), + [anon_sym_extern] = ACTIONS(1328), + [anon_sym___attribute__] = ACTIONS(1328), + [anon_sym___attribute] = ACTIONS(1328), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1330), + [anon_sym___declspec] = ACTIONS(1328), + [anon_sym___cdecl] = ACTIONS(1328), + [anon_sym___clrcall] = ACTIONS(1328), + [anon_sym___stdcall] = ACTIONS(1328), + [anon_sym___fastcall] = ACTIONS(1328), + [anon_sym___thiscall] = ACTIONS(1328), + [anon_sym___vectorcall] = ACTIONS(1328), + [anon_sym_LBRACE] = ACTIONS(1330), + [anon_sym_signed] = ACTIONS(1328), + [anon_sym_unsigned] = ACTIONS(1328), + [anon_sym_long] = ACTIONS(1328), + [anon_sym_short] = ACTIONS(1328), + [anon_sym_static] = ACTIONS(1328), + [anon_sym_auto] = ACTIONS(1328), + [anon_sym_register] = ACTIONS(1328), + [anon_sym_inline] = ACTIONS(1328), + [anon_sym___inline] = ACTIONS(1328), + [anon_sym___inline__] = ACTIONS(1328), + [anon_sym___forceinline] = ACTIONS(1328), + [anon_sym_thread_local] = ACTIONS(1328), + [anon_sym___thread] = ACTIONS(1328), + [anon_sym_const] = ACTIONS(1328), + [anon_sym_constexpr] = ACTIONS(1328), + [anon_sym_volatile] = ACTIONS(1328), + [anon_sym_restrict] = ACTIONS(1328), + [anon_sym___restrict__] = ACTIONS(1328), + [anon_sym__Atomic] = ACTIONS(1328), + [anon_sym__Noreturn] = ACTIONS(1328), + [anon_sym_noreturn] = ACTIONS(1328), + [anon_sym__Nonnull] = ACTIONS(1328), + [anon_sym_alignas] = ACTIONS(1328), + [anon_sym__Alignas] = ACTIONS(1328), + [sym_primitive_type] = ACTIONS(1328), + [anon_sym_enum] = ACTIONS(1328), + [anon_sym_struct] = ACTIONS(1328), + [anon_sym_union] = ACTIONS(1328), + [anon_sym_if] = ACTIONS(1328), + [anon_sym_switch] = ACTIONS(1328), + [anon_sym_case] = ACTIONS(1328), + [anon_sym_default] = ACTIONS(1328), + [anon_sym_while] = ACTIONS(1328), + [anon_sym_do] = ACTIONS(1328), + [anon_sym_for] = ACTIONS(1328), + [anon_sym_return] = ACTIONS(1328), + [anon_sym_break] = ACTIONS(1328), + [anon_sym_continue] = ACTIONS(1328), + [anon_sym_goto] = ACTIONS(1328), + [anon_sym___try] = ACTIONS(1328), + [anon_sym___leave] = ACTIONS(1328), + [anon_sym_DASH_DASH] = ACTIONS(1330), + [anon_sym_PLUS_PLUS] = ACTIONS(1330), + [anon_sym_sizeof] = ACTIONS(1328), + [anon_sym___alignof__] = ACTIONS(1328), + [anon_sym___alignof] = ACTIONS(1328), + [anon_sym__alignof] = ACTIONS(1328), + [anon_sym_alignof] = ACTIONS(1328), + [anon_sym__Alignof] = ACTIONS(1328), + [anon_sym_offsetof] = ACTIONS(1328), + [anon_sym__Generic] = ACTIONS(1328), + [anon_sym_asm] = ACTIONS(1328), + [anon_sym___asm__] = ACTIONS(1328), + [anon_sym___asm] = ACTIONS(1328), + [sym_number_literal] = ACTIONS(1330), + [anon_sym_L_SQUOTE] = ACTIONS(1330), + [anon_sym_u_SQUOTE] = ACTIONS(1330), + [anon_sym_U_SQUOTE] = ACTIONS(1330), + [anon_sym_u8_SQUOTE] = ACTIONS(1330), + [anon_sym_SQUOTE] = ACTIONS(1330), + [anon_sym_L_DQUOTE] = ACTIONS(1330), + [anon_sym_u_DQUOTE] = ACTIONS(1330), + [anon_sym_U_DQUOTE] = ACTIONS(1330), + [anon_sym_u8_DQUOTE] = ACTIONS(1330), + [anon_sym_DQUOTE] = ACTIONS(1330), + [sym_true] = ACTIONS(1328), + [sym_false] = ACTIONS(1328), + [anon_sym_NULL] = ACTIONS(1328), + [anon_sym_nullptr] = ACTIONS(1328), + [sym_comment] = ACTIONS(3), + }, + [304] = { + [sym_identifier] = ACTIONS(1332), + [aux_sym_preproc_include_token1] = ACTIONS(1332), + [aux_sym_preproc_def_token1] = ACTIONS(1332), + [aux_sym_preproc_if_token1] = ACTIONS(1332), + [aux_sym_preproc_if_token2] = ACTIONS(1332), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1332), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1332), + [sym_preproc_directive] = ACTIONS(1332), + [anon_sym_LPAREN2] = ACTIONS(1334), + [anon_sym_BANG] = ACTIONS(1334), + [anon_sym_TILDE] = ACTIONS(1334), + [anon_sym_DASH] = ACTIONS(1332), + [anon_sym_PLUS] = ACTIONS(1332), + [anon_sym_STAR] = ACTIONS(1334), + [anon_sym_AMP] = ACTIONS(1334), + [anon_sym_SEMI] = ACTIONS(1334), + [anon_sym___extension__] = ACTIONS(1332), + [anon_sym_typedef] = ACTIONS(1332), + [anon_sym_extern] = ACTIONS(1332), + [anon_sym___attribute__] = ACTIONS(1332), + [anon_sym___attribute] = ACTIONS(1332), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1334), + [anon_sym___declspec] = ACTIONS(1332), + [anon_sym___cdecl] = ACTIONS(1332), + [anon_sym___clrcall] = ACTIONS(1332), + [anon_sym___stdcall] = ACTIONS(1332), + [anon_sym___fastcall] = ACTIONS(1332), + [anon_sym___thiscall] = ACTIONS(1332), + [anon_sym___vectorcall] = ACTIONS(1332), + [anon_sym_LBRACE] = ACTIONS(1334), + [anon_sym_signed] = ACTIONS(1332), + [anon_sym_unsigned] = ACTIONS(1332), + [anon_sym_long] = ACTIONS(1332), + [anon_sym_short] = ACTIONS(1332), + [anon_sym_static] = ACTIONS(1332), + [anon_sym_auto] = ACTIONS(1332), + [anon_sym_register] = ACTIONS(1332), + [anon_sym_inline] = ACTIONS(1332), + [anon_sym___inline] = ACTIONS(1332), + [anon_sym___inline__] = ACTIONS(1332), + [anon_sym___forceinline] = ACTIONS(1332), + [anon_sym_thread_local] = ACTIONS(1332), + [anon_sym___thread] = ACTIONS(1332), + [anon_sym_const] = ACTIONS(1332), + [anon_sym_constexpr] = ACTIONS(1332), + [anon_sym_volatile] = ACTIONS(1332), + [anon_sym_restrict] = ACTIONS(1332), + [anon_sym___restrict__] = ACTIONS(1332), + [anon_sym__Atomic] = ACTIONS(1332), + [anon_sym__Noreturn] = ACTIONS(1332), + [anon_sym_noreturn] = ACTIONS(1332), + [anon_sym__Nonnull] = ACTIONS(1332), + [anon_sym_alignas] = ACTIONS(1332), + [anon_sym__Alignas] = ACTIONS(1332), + [sym_primitive_type] = ACTIONS(1332), + [anon_sym_enum] = ACTIONS(1332), + [anon_sym_struct] = ACTIONS(1332), + [anon_sym_union] = ACTIONS(1332), + [anon_sym_if] = ACTIONS(1332), + [anon_sym_switch] = ACTIONS(1332), + [anon_sym_case] = ACTIONS(1332), + [anon_sym_default] = ACTIONS(1332), + [anon_sym_while] = ACTIONS(1332), + [anon_sym_do] = ACTIONS(1332), + [anon_sym_for] = ACTIONS(1332), + [anon_sym_return] = ACTIONS(1332), + [anon_sym_break] = ACTIONS(1332), + [anon_sym_continue] = ACTIONS(1332), + [anon_sym_goto] = ACTIONS(1332), + [anon_sym___try] = ACTIONS(1332), + [anon_sym___leave] = ACTIONS(1332), + [anon_sym_DASH_DASH] = ACTIONS(1334), + [anon_sym_PLUS_PLUS] = ACTIONS(1334), + [anon_sym_sizeof] = ACTIONS(1332), + [anon_sym___alignof__] = ACTIONS(1332), + [anon_sym___alignof] = ACTIONS(1332), + [anon_sym__alignof] = ACTIONS(1332), + [anon_sym_alignof] = ACTIONS(1332), + [anon_sym__Alignof] = ACTIONS(1332), + [anon_sym_offsetof] = ACTIONS(1332), + [anon_sym__Generic] = ACTIONS(1332), + [anon_sym_asm] = ACTIONS(1332), + [anon_sym___asm__] = ACTIONS(1332), + [anon_sym___asm] = ACTIONS(1332), + [sym_number_literal] = ACTIONS(1334), + [anon_sym_L_SQUOTE] = ACTIONS(1334), + [anon_sym_u_SQUOTE] = ACTIONS(1334), + [anon_sym_U_SQUOTE] = ACTIONS(1334), + [anon_sym_u8_SQUOTE] = ACTIONS(1334), + [anon_sym_SQUOTE] = ACTIONS(1334), + [anon_sym_L_DQUOTE] = ACTIONS(1334), + [anon_sym_u_DQUOTE] = ACTIONS(1334), + [anon_sym_U_DQUOTE] = ACTIONS(1334), + [anon_sym_u8_DQUOTE] = ACTIONS(1334), + [anon_sym_DQUOTE] = ACTIONS(1334), + [sym_true] = ACTIONS(1332), + [sym_false] = ACTIONS(1332), + [anon_sym_NULL] = ACTIONS(1332), + [anon_sym_nullptr] = ACTIONS(1332), + [sym_comment] = ACTIONS(3), + }, + [305] = { + [sym_identifier] = ACTIONS(1348), + [aux_sym_preproc_include_token1] = ACTIONS(1348), + [aux_sym_preproc_def_token1] = ACTIONS(1348), + [aux_sym_preproc_if_token1] = ACTIONS(1348), + [aux_sym_preproc_if_token2] = ACTIONS(1348), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1348), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1348), + [sym_preproc_directive] = ACTIONS(1348), + [anon_sym_LPAREN2] = ACTIONS(1350), + [anon_sym_BANG] = ACTIONS(1350), + [anon_sym_TILDE] = ACTIONS(1350), + [anon_sym_DASH] = ACTIONS(1348), + [anon_sym_PLUS] = ACTIONS(1348), + [anon_sym_STAR] = ACTIONS(1350), + [anon_sym_AMP] = ACTIONS(1350), + [anon_sym_SEMI] = ACTIONS(1350), + [anon_sym___extension__] = ACTIONS(1348), + [anon_sym_typedef] = ACTIONS(1348), + [anon_sym_extern] = ACTIONS(1348), + [anon_sym___attribute__] = ACTIONS(1348), + [anon_sym___attribute] = ACTIONS(1348), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1350), + [anon_sym___declspec] = ACTIONS(1348), + [anon_sym___cdecl] = ACTIONS(1348), + [anon_sym___clrcall] = ACTIONS(1348), + [anon_sym___stdcall] = ACTIONS(1348), + [anon_sym___fastcall] = ACTIONS(1348), + [anon_sym___thiscall] = ACTIONS(1348), + [anon_sym___vectorcall] = ACTIONS(1348), + [anon_sym_LBRACE] = ACTIONS(1350), + [anon_sym_signed] = ACTIONS(1348), + [anon_sym_unsigned] = ACTIONS(1348), + [anon_sym_long] = ACTIONS(1348), + [anon_sym_short] = ACTIONS(1348), + [anon_sym_static] = ACTIONS(1348), + [anon_sym_auto] = ACTIONS(1348), + [anon_sym_register] = ACTIONS(1348), + [anon_sym_inline] = ACTIONS(1348), + [anon_sym___inline] = ACTIONS(1348), + [anon_sym___inline__] = ACTIONS(1348), + [anon_sym___forceinline] = ACTIONS(1348), + [anon_sym_thread_local] = ACTIONS(1348), + [anon_sym___thread] = ACTIONS(1348), + [anon_sym_const] = ACTIONS(1348), + [anon_sym_constexpr] = ACTIONS(1348), + [anon_sym_volatile] = ACTIONS(1348), + [anon_sym_restrict] = ACTIONS(1348), + [anon_sym___restrict__] = ACTIONS(1348), + [anon_sym__Atomic] = ACTIONS(1348), + [anon_sym__Noreturn] = ACTIONS(1348), + [anon_sym_noreturn] = ACTIONS(1348), + [anon_sym__Nonnull] = ACTIONS(1348), + [anon_sym_alignas] = ACTIONS(1348), + [anon_sym__Alignas] = ACTIONS(1348), + [sym_primitive_type] = ACTIONS(1348), + [anon_sym_enum] = ACTIONS(1348), + [anon_sym_struct] = ACTIONS(1348), + [anon_sym_union] = ACTIONS(1348), + [anon_sym_if] = ACTIONS(1348), + [anon_sym_switch] = ACTIONS(1348), + [anon_sym_case] = ACTIONS(1348), + [anon_sym_default] = ACTIONS(1348), + [anon_sym_while] = ACTIONS(1348), + [anon_sym_do] = ACTIONS(1348), + [anon_sym_for] = ACTIONS(1348), + [anon_sym_return] = ACTIONS(1348), + [anon_sym_break] = ACTIONS(1348), + [anon_sym_continue] = ACTIONS(1348), + [anon_sym_goto] = ACTIONS(1348), + [anon_sym___try] = ACTIONS(1348), + [anon_sym___leave] = ACTIONS(1348), + [anon_sym_DASH_DASH] = ACTIONS(1350), + [anon_sym_PLUS_PLUS] = ACTIONS(1350), + [anon_sym_sizeof] = ACTIONS(1348), + [anon_sym___alignof__] = ACTIONS(1348), + [anon_sym___alignof] = ACTIONS(1348), + [anon_sym__alignof] = ACTIONS(1348), + [anon_sym_alignof] = ACTIONS(1348), + [anon_sym__Alignof] = ACTIONS(1348), + [anon_sym_offsetof] = ACTIONS(1348), + [anon_sym__Generic] = ACTIONS(1348), + [anon_sym_asm] = ACTIONS(1348), + [anon_sym___asm__] = ACTIONS(1348), + [anon_sym___asm] = ACTIONS(1348), + [sym_number_literal] = ACTIONS(1350), + [anon_sym_L_SQUOTE] = ACTIONS(1350), + [anon_sym_u_SQUOTE] = ACTIONS(1350), + [anon_sym_U_SQUOTE] = ACTIONS(1350), + [anon_sym_u8_SQUOTE] = ACTIONS(1350), + [anon_sym_SQUOTE] = ACTIONS(1350), + [anon_sym_L_DQUOTE] = ACTIONS(1350), + [anon_sym_u_DQUOTE] = ACTIONS(1350), + [anon_sym_U_DQUOTE] = ACTIONS(1350), + [anon_sym_u8_DQUOTE] = ACTIONS(1350), + [anon_sym_DQUOTE] = ACTIONS(1350), + [sym_true] = ACTIONS(1348), + [sym_false] = ACTIONS(1348), + [anon_sym_NULL] = ACTIONS(1348), + [anon_sym_nullptr] = ACTIONS(1348), + [sym_comment] = ACTIONS(3), + }, + [306] = { + [sym_identifier] = ACTIONS(1280), + [aux_sym_preproc_include_token1] = ACTIONS(1280), + [aux_sym_preproc_def_token1] = ACTIONS(1280), + [aux_sym_preproc_if_token1] = ACTIONS(1280), + [aux_sym_preproc_if_token2] = ACTIONS(1280), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1280), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1280), + [sym_preproc_directive] = ACTIONS(1280), + [anon_sym_LPAREN2] = ACTIONS(1282), + [anon_sym_BANG] = ACTIONS(1282), + [anon_sym_TILDE] = ACTIONS(1282), + [anon_sym_DASH] = ACTIONS(1280), + [anon_sym_PLUS] = ACTIONS(1280), + [anon_sym_STAR] = ACTIONS(1282), + [anon_sym_AMP] = ACTIONS(1282), + [anon_sym_SEMI] = ACTIONS(1282), + [anon_sym___extension__] = ACTIONS(1280), + [anon_sym_typedef] = ACTIONS(1280), + [anon_sym_extern] = ACTIONS(1280), + [anon_sym___attribute__] = ACTIONS(1280), + [anon_sym___attribute] = ACTIONS(1280), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1282), + [anon_sym___declspec] = ACTIONS(1280), + [anon_sym___cdecl] = ACTIONS(1280), + [anon_sym___clrcall] = ACTIONS(1280), + [anon_sym___stdcall] = ACTIONS(1280), + [anon_sym___fastcall] = ACTIONS(1280), + [anon_sym___thiscall] = ACTIONS(1280), + [anon_sym___vectorcall] = ACTIONS(1280), + [anon_sym_LBRACE] = ACTIONS(1282), + [anon_sym_signed] = ACTIONS(1280), + [anon_sym_unsigned] = ACTIONS(1280), + [anon_sym_long] = ACTIONS(1280), + [anon_sym_short] = ACTIONS(1280), + [anon_sym_static] = ACTIONS(1280), + [anon_sym_auto] = ACTIONS(1280), + [anon_sym_register] = ACTIONS(1280), + [anon_sym_inline] = ACTIONS(1280), + [anon_sym___inline] = ACTIONS(1280), + [anon_sym___inline__] = ACTIONS(1280), + [anon_sym___forceinline] = ACTIONS(1280), + [anon_sym_thread_local] = ACTIONS(1280), + [anon_sym___thread] = ACTIONS(1280), + [anon_sym_const] = ACTIONS(1280), + [anon_sym_constexpr] = ACTIONS(1280), + [anon_sym_volatile] = ACTIONS(1280), + [anon_sym_restrict] = ACTIONS(1280), + [anon_sym___restrict__] = ACTIONS(1280), + [anon_sym__Atomic] = ACTIONS(1280), + [anon_sym__Noreturn] = ACTIONS(1280), + [anon_sym_noreturn] = ACTIONS(1280), + [anon_sym__Nonnull] = ACTIONS(1280), + [anon_sym_alignas] = ACTIONS(1280), + [anon_sym__Alignas] = ACTIONS(1280), + [sym_primitive_type] = ACTIONS(1280), + [anon_sym_enum] = ACTIONS(1280), + [anon_sym_struct] = ACTIONS(1280), + [anon_sym_union] = ACTIONS(1280), + [anon_sym_if] = ACTIONS(1280), + [anon_sym_switch] = ACTIONS(1280), + [anon_sym_case] = ACTIONS(1280), + [anon_sym_default] = ACTIONS(1280), + [anon_sym_while] = ACTIONS(1280), + [anon_sym_do] = ACTIONS(1280), + [anon_sym_for] = ACTIONS(1280), + [anon_sym_return] = ACTIONS(1280), + [anon_sym_break] = ACTIONS(1280), + [anon_sym_continue] = ACTIONS(1280), + [anon_sym_goto] = ACTIONS(1280), + [anon_sym___try] = ACTIONS(1280), + [anon_sym___leave] = ACTIONS(1280), + [anon_sym_DASH_DASH] = ACTIONS(1282), + [anon_sym_PLUS_PLUS] = ACTIONS(1282), + [anon_sym_sizeof] = ACTIONS(1280), + [anon_sym___alignof__] = ACTIONS(1280), + [anon_sym___alignof] = ACTIONS(1280), + [anon_sym__alignof] = ACTIONS(1280), + [anon_sym_alignof] = ACTIONS(1280), + [anon_sym__Alignof] = ACTIONS(1280), + [anon_sym_offsetof] = ACTIONS(1280), + [anon_sym__Generic] = ACTIONS(1280), + [anon_sym_asm] = ACTIONS(1280), + [anon_sym___asm__] = ACTIONS(1280), + [anon_sym___asm] = ACTIONS(1280), + [sym_number_literal] = ACTIONS(1282), + [anon_sym_L_SQUOTE] = ACTIONS(1282), + [anon_sym_u_SQUOTE] = ACTIONS(1282), + [anon_sym_U_SQUOTE] = ACTIONS(1282), + [anon_sym_u8_SQUOTE] = ACTIONS(1282), + [anon_sym_SQUOTE] = ACTIONS(1282), + [anon_sym_L_DQUOTE] = ACTIONS(1282), + [anon_sym_u_DQUOTE] = ACTIONS(1282), + [anon_sym_U_DQUOTE] = ACTIONS(1282), + [anon_sym_u8_DQUOTE] = ACTIONS(1282), + [anon_sym_DQUOTE] = ACTIONS(1282), + [sym_true] = ACTIONS(1280), + [sym_false] = ACTIONS(1280), + [anon_sym_NULL] = ACTIONS(1280), + [anon_sym_nullptr] = ACTIONS(1280), + [sym_comment] = ACTIONS(3), + }, + [307] = { + [sym_identifier] = ACTIONS(1284), + [aux_sym_preproc_include_token1] = ACTIONS(1284), + [aux_sym_preproc_def_token1] = ACTIONS(1284), + [aux_sym_preproc_if_token1] = ACTIONS(1284), + [aux_sym_preproc_if_token2] = ACTIONS(1284), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1284), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1284), + [sym_preproc_directive] = ACTIONS(1284), + [anon_sym_LPAREN2] = ACTIONS(1286), + [anon_sym_BANG] = ACTIONS(1286), + [anon_sym_TILDE] = ACTIONS(1286), + [anon_sym_DASH] = ACTIONS(1284), + [anon_sym_PLUS] = ACTIONS(1284), + [anon_sym_STAR] = ACTIONS(1286), + [anon_sym_AMP] = ACTIONS(1286), + [anon_sym_SEMI] = ACTIONS(1286), + [anon_sym___extension__] = ACTIONS(1284), + [anon_sym_typedef] = ACTIONS(1284), + [anon_sym_extern] = ACTIONS(1284), + [anon_sym___attribute__] = ACTIONS(1284), + [anon_sym___attribute] = ACTIONS(1284), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1286), + [anon_sym___declspec] = ACTIONS(1284), + [anon_sym___cdecl] = ACTIONS(1284), + [anon_sym___clrcall] = ACTIONS(1284), + [anon_sym___stdcall] = ACTIONS(1284), + [anon_sym___fastcall] = ACTIONS(1284), + [anon_sym___thiscall] = ACTIONS(1284), + [anon_sym___vectorcall] = ACTIONS(1284), + [anon_sym_LBRACE] = ACTIONS(1286), + [anon_sym_signed] = ACTIONS(1284), + [anon_sym_unsigned] = ACTIONS(1284), + [anon_sym_long] = ACTIONS(1284), + [anon_sym_short] = ACTIONS(1284), + [anon_sym_static] = ACTIONS(1284), + [anon_sym_auto] = ACTIONS(1284), + [anon_sym_register] = ACTIONS(1284), + [anon_sym_inline] = ACTIONS(1284), + [anon_sym___inline] = ACTIONS(1284), + [anon_sym___inline__] = ACTIONS(1284), + [anon_sym___forceinline] = ACTIONS(1284), + [anon_sym_thread_local] = ACTIONS(1284), + [anon_sym___thread] = ACTIONS(1284), + [anon_sym_const] = ACTIONS(1284), + [anon_sym_constexpr] = ACTIONS(1284), + [anon_sym_volatile] = ACTIONS(1284), + [anon_sym_restrict] = ACTIONS(1284), + [anon_sym___restrict__] = ACTIONS(1284), + [anon_sym__Atomic] = ACTIONS(1284), + [anon_sym__Noreturn] = ACTIONS(1284), + [anon_sym_noreturn] = ACTIONS(1284), + [anon_sym__Nonnull] = ACTIONS(1284), + [anon_sym_alignas] = ACTIONS(1284), + [anon_sym__Alignas] = ACTIONS(1284), + [sym_primitive_type] = ACTIONS(1284), + [anon_sym_enum] = ACTIONS(1284), + [anon_sym_struct] = ACTIONS(1284), + [anon_sym_union] = ACTIONS(1284), + [anon_sym_if] = ACTIONS(1284), + [anon_sym_switch] = ACTIONS(1284), + [anon_sym_case] = ACTIONS(1284), + [anon_sym_default] = ACTIONS(1284), + [anon_sym_while] = ACTIONS(1284), + [anon_sym_do] = ACTIONS(1284), + [anon_sym_for] = ACTIONS(1284), + [anon_sym_return] = ACTIONS(1284), + [anon_sym_break] = ACTIONS(1284), + [anon_sym_continue] = ACTIONS(1284), + [anon_sym_goto] = ACTIONS(1284), + [anon_sym___try] = ACTIONS(1284), + [anon_sym___leave] = ACTIONS(1284), + [anon_sym_DASH_DASH] = ACTIONS(1286), + [anon_sym_PLUS_PLUS] = ACTIONS(1286), + [anon_sym_sizeof] = ACTIONS(1284), + [anon_sym___alignof__] = ACTIONS(1284), + [anon_sym___alignof] = ACTIONS(1284), + [anon_sym__alignof] = ACTIONS(1284), + [anon_sym_alignof] = ACTIONS(1284), + [anon_sym__Alignof] = ACTIONS(1284), + [anon_sym_offsetof] = ACTIONS(1284), + [anon_sym__Generic] = ACTIONS(1284), + [anon_sym_asm] = ACTIONS(1284), + [anon_sym___asm__] = ACTIONS(1284), + [anon_sym___asm] = ACTIONS(1284), + [sym_number_literal] = ACTIONS(1286), + [anon_sym_L_SQUOTE] = ACTIONS(1286), + [anon_sym_u_SQUOTE] = ACTIONS(1286), + [anon_sym_U_SQUOTE] = ACTIONS(1286), + [anon_sym_u8_SQUOTE] = ACTIONS(1286), + [anon_sym_SQUOTE] = ACTIONS(1286), + [anon_sym_L_DQUOTE] = ACTIONS(1286), + [anon_sym_u_DQUOTE] = ACTIONS(1286), + [anon_sym_U_DQUOTE] = ACTIONS(1286), + [anon_sym_u8_DQUOTE] = ACTIONS(1286), + [anon_sym_DQUOTE] = ACTIONS(1286), + [sym_true] = ACTIONS(1284), + [sym_false] = ACTIONS(1284), + [anon_sym_NULL] = ACTIONS(1284), + [anon_sym_nullptr] = ACTIONS(1284), + [sym_comment] = ACTIONS(3), + }, + [308] = { + [sym_identifier] = ACTIONS(1288), + [aux_sym_preproc_include_token1] = ACTIONS(1288), + [aux_sym_preproc_def_token1] = ACTIONS(1288), + [aux_sym_preproc_if_token1] = ACTIONS(1288), + [aux_sym_preproc_if_token2] = ACTIONS(1288), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1288), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1288), + [sym_preproc_directive] = ACTIONS(1288), + [anon_sym_LPAREN2] = ACTIONS(1290), + [anon_sym_BANG] = ACTIONS(1290), + [anon_sym_TILDE] = ACTIONS(1290), + [anon_sym_DASH] = ACTIONS(1288), + [anon_sym_PLUS] = ACTIONS(1288), + [anon_sym_STAR] = ACTIONS(1290), + [anon_sym_AMP] = ACTIONS(1290), + [anon_sym_SEMI] = ACTIONS(1290), + [anon_sym___extension__] = ACTIONS(1288), + [anon_sym_typedef] = ACTIONS(1288), + [anon_sym_extern] = ACTIONS(1288), + [anon_sym___attribute__] = ACTIONS(1288), + [anon_sym___attribute] = ACTIONS(1288), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1290), + [anon_sym___declspec] = ACTIONS(1288), + [anon_sym___cdecl] = ACTIONS(1288), + [anon_sym___clrcall] = ACTIONS(1288), + [anon_sym___stdcall] = ACTIONS(1288), + [anon_sym___fastcall] = ACTIONS(1288), + [anon_sym___thiscall] = ACTIONS(1288), + [anon_sym___vectorcall] = ACTIONS(1288), + [anon_sym_LBRACE] = ACTIONS(1290), + [anon_sym_signed] = ACTIONS(1288), + [anon_sym_unsigned] = ACTIONS(1288), + [anon_sym_long] = ACTIONS(1288), + [anon_sym_short] = ACTIONS(1288), + [anon_sym_static] = ACTIONS(1288), + [anon_sym_auto] = ACTIONS(1288), + [anon_sym_register] = ACTIONS(1288), + [anon_sym_inline] = ACTIONS(1288), + [anon_sym___inline] = ACTIONS(1288), + [anon_sym___inline__] = ACTIONS(1288), + [anon_sym___forceinline] = ACTIONS(1288), + [anon_sym_thread_local] = ACTIONS(1288), + [anon_sym___thread] = ACTIONS(1288), + [anon_sym_const] = ACTIONS(1288), + [anon_sym_constexpr] = ACTIONS(1288), + [anon_sym_volatile] = ACTIONS(1288), + [anon_sym_restrict] = ACTIONS(1288), + [anon_sym___restrict__] = ACTIONS(1288), + [anon_sym__Atomic] = ACTIONS(1288), + [anon_sym__Noreturn] = ACTIONS(1288), + [anon_sym_noreturn] = ACTIONS(1288), + [anon_sym__Nonnull] = ACTIONS(1288), + [anon_sym_alignas] = ACTIONS(1288), + [anon_sym__Alignas] = ACTIONS(1288), + [sym_primitive_type] = ACTIONS(1288), + [anon_sym_enum] = ACTIONS(1288), + [anon_sym_struct] = ACTIONS(1288), + [anon_sym_union] = ACTIONS(1288), + [anon_sym_if] = ACTIONS(1288), + [anon_sym_switch] = ACTIONS(1288), + [anon_sym_case] = ACTIONS(1288), + [anon_sym_default] = ACTIONS(1288), + [anon_sym_while] = ACTIONS(1288), + [anon_sym_do] = ACTIONS(1288), + [anon_sym_for] = ACTIONS(1288), + [anon_sym_return] = ACTIONS(1288), + [anon_sym_break] = ACTIONS(1288), + [anon_sym_continue] = ACTIONS(1288), + [anon_sym_goto] = ACTIONS(1288), + [anon_sym___try] = ACTIONS(1288), + [anon_sym___leave] = ACTIONS(1288), + [anon_sym_DASH_DASH] = ACTIONS(1290), + [anon_sym_PLUS_PLUS] = ACTIONS(1290), + [anon_sym_sizeof] = ACTIONS(1288), + [anon_sym___alignof__] = ACTIONS(1288), + [anon_sym___alignof] = ACTIONS(1288), + [anon_sym__alignof] = ACTIONS(1288), + [anon_sym_alignof] = ACTIONS(1288), + [anon_sym__Alignof] = ACTIONS(1288), + [anon_sym_offsetof] = ACTIONS(1288), + [anon_sym__Generic] = ACTIONS(1288), + [anon_sym_asm] = ACTIONS(1288), + [anon_sym___asm__] = ACTIONS(1288), + [anon_sym___asm] = ACTIONS(1288), + [sym_number_literal] = ACTIONS(1290), + [anon_sym_L_SQUOTE] = ACTIONS(1290), + [anon_sym_u_SQUOTE] = ACTIONS(1290), + [anon_sym_U_SQUOTE] = ACTIONS(1290), + [anon_sym_u8_SQUOTE] = ACTIONS(1290), + [anon_sym_SQUOTE] = ACTIONS(1290), + [anon_sym_L_DQUOTE] = ACTIONS(1290), + [anon_sym_u_DQUOTE] = ACTIONS(1290), + [anon_sym_U_DQUOTE] = ACTIONS(1290), + [anon_sym_u8_DQUOTE] = ACTIONS(1290), + [anon_sym_DQUOTE] = ACTIONS(1290), + [sym_true] = ACTIONS(1288), + [sym_false] = ACTIONS(1288), + [anon_sym_NULL] = ACTIONS(1288), + [anon_sym_nullptr] = ACTIONS(1288), + [sym_comment] = ACTIONS(3), + }, + [309] = { + [sym_identifier] = ACTIONS(1312), + [aux_sym_preproc_include_token1] = ACTIONS(1312), + [aux_sym_preproc_def_token1] = ACTIONS(1312), + [aux_sym_preproc_if_token1] = ACTIONS(1312), + [aux_sym_preproc_if_token2] = ACTIONS(1312), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1312), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1312), + [sym_preproc_directive] = ACTIONS(1312), + [anon_sym_LPAREN2] = ACTIONS(1314), + [anon_sym_BANG] = ACTIONS(1314), + [anon_sym_TILDE] = ACTIONS(1314), + [anon_sym_DASH] = ACTIONS(1312), + [anon_sym_PLUS] = ACTIONS(1312), + [anon_sym_STAR] = ACTIONS(1314), + [anon_sym_AMP] = ACTIONS(1314), + [anon_sym_SEMI] = ACTIONS(1314), + [anon_sym___extension__] = ACTIONS(1312), + [anon_sym_typedef] = ACTIONS(1312), + [anon_sym_extern] = ACTIONS(1312), + [anon_sym___attribute__] = ACTIONS(1312), + [anon_sym___attribute] = ACTIONS(1312), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1314), + [anon_sym___declspec] = ACTIONS(1312), + [anon_sym___cdecl] = ACTIONS(1312), + [anon_sym___clrcall] = ACTIONS(1312), + [anon_sym___stdcall] = ACTIONS(1312), + [anon_sym___fastcall] = ACTIONS(1312), + [anon_sym___thiscall] = ACTIONS(1312), + [anon_sym___vectorcall] = ACTIONS(1312), + [anon_sym_LBRACE] = ACTIONS(1314), + [anon_sym_signed] = ACTIONS(1312), + [anon_sym_unsigned] = ACTIONS(1312), + [anon_sym_long] = ACTIONS(1312), + [anon_sym_short] = ACTIONS(1312), + [anon_sym_static] = ACTIONS(1312), + [anon_sym_auto] = ACTIONS(1312), + [anon_sym_register] = ACTIONS(1312), + [anon_sym_inline] = ACTIONS(1312), + [anon_sym___inline] = ACTIONS(1312), + [anon_sym___inline__] = ACTIONS(1312), + [anon_sym___forceinline] = ACTIONS(1312), + [anon_sym_thread_local] = ACTIONS(1312), + [anon_sym___thread] = ACTIONS(1312), + [anon_sym_const] = ACTIONS(1312), + [anon_sym_constexpr] = ACTIONS(1312), + [anon_sym_volatile] = ACTIONS(1312), + [anon_sym_restrict] = ACTIONS(1312), + [anon_sym___restrict__] = ACTIONS(1312), + [anon_sym__Atomic] = ACTIONS(1312), + [anon_sym__Noreturn] = ACTIONS(1312), + [anon_sym_noreturn] = ACTIONS(1312), + [anon_sym__Nonnull] = ACTIONS(1312), + [anon_sym_alignas] = ACTIONS(1312), + [anon_sym__Alignas] = ACTIONS(1312), + [sym_primitive_type] = ACTIONS(1312), + [anon_sym_enum] = ACTIONS(1312), + [anon_sym_struct] = ACTIONS(1312), + [anon_sym_union] = ACTIONS(1312), + [anon_sym_if] = ACTIONS(1312), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1312), + [anon_sym_default] = ACTIONS(1312), + [anon_sym_while] = ACTIONS(1312), + [anon_sym_do] = ACTIONS(1312), + [anon_sym_for] = ACTIONS(1312), + [anon_sym_return] = ACTIONS(1312), + [anon_sym_break] = ACTIONS(1312), + [anon_sym_continue] = ACTIONS(1312), + [anon_sym_goto] = ACTIONS(1312), + [anon_sym___try] = ACTIONS(1312), + [anon_sym___leave] = ACTIONS(1312), + [anon_sym_DASH_DASH] = ACTIONS(1314), + [anon_sym_PLUS_PLUS] = ACTIONS(1314), + [anon_sym_sizeof] = ACTIONS(1312), + [anon_sym___alignof__] = ACTIONS(1312), + [anon_sym___alignof] = ACTIONS(1312), + [anon_sym__alignof] = ACTIONS(1312), + [anon_sym_alignof] = ACTIONS(1312), + [anon_sym__Alignof] = ACTIONS(1312), + [anon_sym_offsetof] = ACTIONS(1312), + [anon_sym__Generic] = ACTIONS(1312), + [anon_sym_asm] = ACTIONS(1312), + [anon_sym___asm__] = ACTIONS(1312), + [anon_sym___asm] = ACTIONS(1312), + [sym_number_literal] = ACTIONS(1314), + [anon_sym_L_SQUOTE] = ACTIONS(1314), + [anon_sym_u_SQUOTE] = ACTIONS(1314), + [anon_sym_U_SQUOTE] = ACTIONS(1314), + [anon_sym_u8_SQUOTE] = ACTIONS(1314), + [anon_sym_SQUOTE] = ACTIONS(1314), + [anon_sym_L_DQUOTE] = ACTIONS(1314), + [anon_sym_u_DQUOTE] = ACTIONS(1314), + [anon_sym_U_DQUOTE] = ACTIONS(1314), + [anon_sym_u8_DQUOTE] = ACTIONS(1314), + [anon_sym_DQUOTE] = ACTIONS(1314), + [sym_true] = ACTIONS(1312), + [sym_false] = ACTIONS(1312), + [anon_sym_NULL] = ACTIONS(1312), + [anon_sym_nullptr] = ACTIONS(1312), + [sym_comment] = ACTIONS(3), + }, + [310] = { + [sym_identifier] = ACTIONS(1356), + [aux_sym_preproc_include_token1] = ACTIONS(1356), + [aux_sym_preproc_def_token1] = ACTIONS(1356), + [aux_sym_preproc_if_token1] = ACTIONS(1356), + [aux_sym_preproc_if_token2] = ACTIONS(1356), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1356), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1356), + [sym_preproc_directive] = ACTIONS(1356), + [anon_sym_LPAREN2] = ACTIONS(1358), + [anon_sym_BANG] = ACTIONS(1358), + [anon_sym_TILDE] = ACTIONS(1358), + [anon_sym_DASH] = ACTIONS(1356), + [anon_sym_PLUS] = ACTIONS(1356), + [anon_sym_STAR] = ACTIONS(1358), + [anon_sym_AMP] = ACTIONS(1358), + [anon_sym_SEMI] = ACTIONS(1358), + [anon_sym___extension__] = ACTIONS(1356), + [anon_sym_typedef] = ACTIONS(1356), + [anon_sym_extern] = ACTIONS(1356), + [anon_sym___attribute__] = ACTIONS(1356), + [anon_sym___attribute] = ACTIONS(1356), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1358), + [anon_sym___declspec] = ACTIONS(1356), + [anon_sym___cdecl] = ACTIONS(1356), + [anon_sym___clrcall] = ACTIONS(1356), + [anon_sym___stdcall] = ACTIONS(1356), + [anon_sym___fastcall] = ACTIONS(1356), + [anon_sym___thiscall] = ACTIONS(1356), + [anon_sym___vectorcall] = ACTIONS(1356), + [anon_sym_LBRACE] = ACTIONS(1358), + [anon_sym_signed] = ACTIONS(1356), + [anon_sym_unsigned] = ACTIONS(1356), + [anon_sym_long] = ACTIONS(1356), + [anon_sym_short] = ACTIONS(1356), + [anon_sym_static] = ACTIONS(1356), + [anon_sym_auto] = ACTIONS(1356), + [anon_sym_register] = ACTIONS(1356), + [anon_sym_inline] = ACTIONS(1356), + [anon_sym___inline] = ACTIONS(1356), + [anon_sym___inline__] = ACTIONS(1356), + [anon_sym___forceinline] = ACTIONS(1356), + [anon_sym_thread_local] = ACTIONS(1356), + [anon_sym___thread] = ACTIONS(1356), + [anon_sym_const] = ACTIONS(1356), + [anon_sym_constexpr] = ACTIONS(1356), + [anon_sym_volatile] = ACTIONS(1356), + [anon_sym_restrict] = ACTIONS(1356), + [anon_sym___restrict__] = ACTIONS(1356), + [anon_sym__Atomic] = ACTIONS(1356), + [anon_sym__Noreturn] = ACTIONS(1356), + [anon_sym_noreturn] = ACTIONS(1356), + [anon_sym__Nonnull] = ACTIONS(1356), + [anon_sym_alignas] = ACTIONS(1356), + [anon_sym__Alignas] = ACTIONS(1356), + [sym_primitive_type] = ACTIONS(1356), + [anon_sym_enum] = ACTIONS(1356), + [anon_sym_struct] = ACTIONS(1356), + [anon_sym_union] = ACTIONS(1356), + [anon_sym_if] = ACTIONS(1356), + [anon_sym_switch] = ACTIONS(1356), + [anon_sym_case] = ACTIONS(1356), + [anon_sym_default] = ACTIONS(1356), + [anon_sym_while] = ACTIONS(1356), + [anon_sym_do] = ACTIONS(1356), + [anon_sym_for] = ACTIONS(1356), + [anon_sym_return] = ACTIONS(1356), + [anon_sym_break] = ACTIONS(1356), + [anon_sym_continue] = ACTIONS(1356), + [anon_sym_goto] = ACTIONS(1356), + [anon_sym___try] = ACTIONS(1356), + [anon_sym___leave] = ACTIONS(1356), + [anon_sym_DASH_DASH] = ACTIONS(1358), + [anon_sym_PLUS_PLUS] = ACTIONS(1358), + [anon_sym_sizeof] = ACTIONS(1356), + [anon_sym___alignof__] = ACTIONS(1356), + [anon_sym___alignof] = ACTIONS(1356), + [anon_sym__alignof] = ACTIONS(1356), + [anon_sym_alignof] = ACTIONS(1356), + [anon_sym__Alignof] = ACTIONS(1356), + [anon_sym_offsetof] = ACTIONS(1356), + [anon_sym__Generic] = ACTIONS(1356), + [anon_sym_asm] = ACTIONS(1356), + [anon_sym___asm__] = ACTIONS(1356), + [anon_sym___asm] = ACTIONS(1356), + [sym_number_literal] = ACTIONS(1358), + [anon_sym_L_SQUOTE] = ACTIONS(1358), + [anon_sym_u_SQUOTE] = ACTIONS(1358), + [anon_sym_U_SQUOTE] = ACTIONS(1358), + [anon_sym_u8_SQUOTE] = ACTIONS(1358), + [anon_sym_SQUOTE] = ACTIONS(1358), + [anon_sym_L_DQUOTE] = ACTIONS(1358), + [anon_sym_u_DQUOTE] = ACTIONS(1358), + [anon_sym_U_DQUOTE] = ACTIONS(1358), + [anon_sym_u8_DQUOTE] = ACTIONS(1358), + [anon_sym_DQUOTE] = ACTIONS(1358), + [sym_true] = ACTIONS(1356), + [sym_false] = ACTIONS(1356), + [anon_sym_NULL] = ACTIONS(1356), + [anon_sym_nullptr] = ACTIONS(1356), + [sym_comment] = ACTIONS(3), + }, + [311] = { + [sym_identifier] = ACTIONS(1368), + [aux_sym_preproc_include_token1] = ACTIONS(1368), + [aux_sym_preproc_def_token1] = ACTIONS(1368), + [aux_sym_preproc_if_token1] = ACTIONS(1368), + [aux_sym_preproc_if_token2] = ACTIONS(1368), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1368), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1368), + [sym_preproc_directive] = ACTIONS(1368), + [anon_sym_LPAREN2] = ACTIONS(1370), + [anon_sym_BANG] = ACTIONS(1370), + [anon_sym_TILDE] = ACTIONS(1370), + [anon_sym_DASH] = ACTIONS(1368), + [anon_sym_PLUS] = ACTIONS(1368), + [anon_sym_STAR] = ACTIONS(1370), + [anon_sym_AMP] = ACTIONS(1370), + [anon_sym_SEMI] = ACTIONS(1370), + [anon_sym___extension__] = ACTIONS(1368), + [anon_sym_typedef] = ACTIONS(1368), + [anon_sym_extern] = ACTIONS(1368), + [anon_sym___attribute__] = ACTIONS(1368), + [anon_sym___attribute] = ACTIONS(1368), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1370), + [anon_sym___declspec] = ACTIONS(1368), + [anon_sym___cdecl] = ACTIONS(1368), + [anon_sym___clrcall] = ACTIONS(1368), + [anon_sym___stdcall] = ACTIONS(1368), + [anon_sym___fastcall] = ACTIONS(1368), + [anon_sym___thiscall] = ACTIONS(1368), + [anon_sym___vectorcall] = ACTIONS(1368), + [anon_sym_LBRACE] = ACTIONS(1370), + [anon_sym_signed] = ACTIONS(1368), + [anon_sym_unsigned] = ACTIONS(1368), + [anon_sym_long] = ACTIONS(1368), + [anon_sym_short] = ACTIONS(1368), + [anon_sym_static] = ACTIONS(1368), + [anon_sym_auto] = ACTIONS(1368), + [anon_sym_register] = ACTIONS(1368), + [anon_sym_inline] = ACTIONS(1368), + [anon_sym___inline] = ACTIONS(1368), + [anon_sym___inline__] = ACTIONS(1368), + [anon_sym___forceinline] = ACTIONS(1368), + [anon_sym_thread_local] = ACTIONS(1368), + [anon_sym___thread] = ACTIONS(1368), + [anon_sym_const] = ACTIONS(1368), + [anon_sym_constexpr] = ACTIONS(1368), + [anon_sym_volatile] = ACTIONS(1368), + [anon_sym_restrict] = ACTIONS(1368), + [anon_sym___restrict__] = ACTIONS(1368), + [anon_sym__Atomic] = ACTIONS(1368), + [anon_sym__Noreturn] = ACTIONS(1368), + [anon_sym_noreturn] = ACTIONS(1368), + [anon_sym__Nonnull] = ACTIONS(1368), + [anon_sym_alignas] = ACTIONS(1368), + [anon_sym__Alignas] = ACTIONS(1368), + [sym_primitive_type] = ACTIONS(1368), + [anon_sym_enum] = ACTIONS(1368), + [anon_sym_struct] = ACTIONS(1368), + [anon_sym_union] = ACTIONS(1368), + [anon_sym_if] = ACTIONS(1368), + [anon_sym_switch] = ACTIONS(1368), + [anon_sym_case] = ACTIONS(1368), + [anon_sym_default] = ACTIONS(1368), + [anon_sym_while] = ACTIONS(1368), + [anon_sym_do] = ACTIONS(1368), + [anon_sym_for] = ACTIONS(1368), + [anon_sym_return] = ACTIONS(1368), + [anon_sym_break] = ACTIONS(1368), + [anon_sym_continue] = ACTIONS(1368), + [anon_sym_goto] = ACTIONS(1368), + [anon_sym___try] = ACTIONS(1368), + [anon_sym___leave] = ACTIONS(1368), + [anon_sym_DASH_DASH] = ACTIONS(1370), + [anon_sym_PLUS_PLUS] = ACTIONS(1370), + [anon_sym_sizeof] = ACTIONS(1368), + [anon_sym___alignof__] = ACTIONS(1368), + [anon_sym___alignof] = ACTIONS(1368), + [anon_sym__alignof] = ACTIONS(1368), + [anon_sym_alignof] = ACTIONS(1368), + [anon_sym__Alignof] = ACTIONS(1368), + [anon_sym_offsetof] = ACTIONS(1368), + [anon_sym__Generic] = ACTIONS(1368), + [anon_sym_asm] = ACTIONS(1368), + [anon_sym___asm__] = ACTIONS(1368), + [anon_sym___asm] = ACTIONS(1368), + [sym_number_literal] = ACTIONS(1370), + [anon_sym_L_SQUOTE] = ACTIONS(1370), + [anon_sym_u_SQUOTE] = ACTIONS(1370), + [anon_sym_U_SQUOTE] = ACTIONS(1370), + [anon_sym_u8_SQUOTE] = ACTIONS(1370), + [anon_sym_SQUOTE] = ACTIONS(1370), + [anon_sym_L_DQUOTE] = ACTIONS(1370), + [anon_sym_u_DQUOTE] = ACTIONS(1370), + [anon_sym_U_DQUOTE] = ACTIONS(1370), + [anon_sym_u8_DQUOTE] = ACTIONS(1370), + [anon_sym_DQUOTE] = ACTIONS(1370), + [sym_true] = ACTIONS(1368), + [sym_false] = ACTIONS(1368), + [anon_sym_NULL] = ACTIONS(1368), + [anon_sym_nullptr] = ACTIONS(1368), + [sym_comment] = ACTIONS(3), + }, + [312] = { + [sym_identifier] = ACTIONS(1376), + [aux_sym_preproc_include_token1] = ACTIONS(1376), + [aux_sym_preproc_def_token1] = ACTIONS(1376), + [aux_sym_preproc_if_token1] = ACTIONS(1376), + [aux_sym_preproc_if_token2] = ACTIONS(1376), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1376), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1376), + [sym_preproc_directive] = ACTIONS(1376), + [anon_sym_LPAREN2] = ACTIONS(1378), + [anon_sym_BANG] = ACTIONS(1378), + [anon_sym_TILDE] = ACTIONS(1378), + [anon_sym_DASH] = ACTIONS(1376), + [anon_sym_PLUS] = ACTIONS(1376), + [anon_sym_STAR] = ACTIONS(1378), + [anon_sym_AMP] = ACTIONS(1378), + [anon_sym_SEMI] = ACTIONS(1378), + [anon_sym___extension__] = ACTIONS(1376), + [anon_sym_typedef] = ACTIONS(1376), + [anon_sym_extern] = ACTIONS(1376), + [anon_sym___attribute__] = ACTIONS(1376), + [anon_sym___attribute] = ACTIONS(1376), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1378), + [anon_sym___declspec] = ACTIONS(1376), + [anon_sym___cdecl] = ACTIONS(1376), + [anon_sym___clrcall] = ACTIONS(1376), + [anon_sym___stdcall] = ACTIONS(1376), + [anon_sym___fastcall] = ACTIONS(1376), + [anon_sym___thiscall] = ACTIONS(1376), + [anon_sym___vectorcall] = ACTIONS(1376), + [anon_sym_LBRACE] = ACTIONS(1378), + [anon_sym_signed] = ACTIONS(1376), + [anon_sym_unsigned] = ACTIONS(1376), + [anon_sym_long] = ACTIONS(1376), + [anon_sym_short] = ACTIONS(1376), + [anon_sym_static] = ACTIONS(1376), + [anon_sym_auto] = ACTIONS(1376), + [anon_sym_register] = ACTIONS(1376), + [anon_sym_inline] = ACTIONS(1376), + [anon_sym___inline] = ACTIONS(1376), + [anon_sym___inline__] = ACTIONS(1376), + [anon_sym___forceinline] = ACTIONS(1376), + [anon_sym_thread_local] = ACTIONS(1376), + [anon_sym___thread] = ACTIONS(1376), + [anon_sym_const] = ACTIONS(1376), + [anon_sym_constexpr] = ACTIONS(1376), + [anon_sym_volatile] = ACTIONS(1376), + [anon_sym_restrict] = ACTIONS(1376), + [anon_sym___restrict__] = ACTIONS(1376), + [anon_sym__Atomic] = ACTIONS(1376), + [anon_sym__Noreturn] = ACTIONS(1376), + [anon_sym_noreturn] = ACTIONS(1376), + [anon_sym__Nonnull] = ACTIONS(1376), + [anon_sym_alignas] = ACTIONS(1376), + [anon_sym__Alignas] = ACTIONS(1376), + [sym_primitive_type] = ACTIONS(1376), + [anon_sym_enum] = ACTIONS(1376), + [anon_sym_struct] = ACTIONS(1376), + [anon_sym_union] = ACTIONS(1376), + [anon_sym_if] = ACTIONS(1376), + [anon_sym_switch] = ACTIONS(1376), + [anon_sym_case] = ACTIONS(1376), + [anon_sym_default] = ACTIONS(1376), + [anon_sym_while] = ACTIONS(1376), + [anon_sym_do] = ACTIONS(1376), + [anon_sym_for] = ACTIONS(1376), + [anon_sym_return] = ACTIONS(1376), + [anon_sym_break] = ACTIONS(1376), + [anon_sym_continue] = ACTIONS(1376), + [anon_sym_goto] = ACTIONS(1376), + [anon_sym___try] = ACTIONS(1376), + [anon_sym___leave] = ACTIONS(1376), + [anon_sym_DASH_DASH] = ACTIONS(1378), + [anon_sym_PLUS_PLUS] = ACTIONS(1378), + [anon_sym_sizeof] = ACTIONS(1376), + [anon_sym___alignof__] = ACTIONS(1376), + [anon_sym___alignof] = ACTIONS(1376), + [anon_sym__alignof] = ACTIONS(1376), + [anon_sym_alignof] = ACTIONS(1376), + [anon_sym__Alignof] = ACTIONS(1376), + [anon_sym_offsetof] = ACTIONS(1376), + [anon_sym__Generic] = ACTIONS(1376), + [anon_sym_asm] = ACTIONS(1376), + [anon_sym___asm__] = ACTIONS(1376), + [anon_sym___asm] = ACTIONS(1376), + [sym_number_literal] = ACTIONS(1378), + [anon_sym_L_SQUOTE] = ACTIONS(1378), + [anon_sym_u_SQUOTE] = ACTIONS(1378), + [anon_sym_U_SQUOTE] = ACTIONS(1378), + [anon_sym_u8_SQUOTE] = ACTIONS(1378), + [anon_sym_SQUOTE] = ACTIONS(1378), + [anon_sym_L_DQUOTE] = ACTIONS(1378), + [anon_sym_u_DQUOTE] = ACTIONS(1378), + [anon_sym_U_DQUOTE] = ACTIONS(1378), + [anon_sym_u8_DQUOTE] = ACTIONS(1378), + [anon_sym_DQUOTE] = ACTIONS(1378), + [sym_true] = ACTIONS(1376), + [sym_false] = ACTIONS(1376), + [anon_sym_NULL] = ACTIONS(1376), + [anon_sym_nullptr] = ACTIONS(1376), + [sym_comment] = ACTIONS(3), + }, + [313] = { + [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(1274), + [anon_sym_BANG] = ACTIONS(1274), + [anon_sym_TILDE] = ACTIONS(1274), + [anon_sym_DASH] = ACTIONS(1272), + [anon_sym_PLUS] = ACTIONS(1272), + [anon_sym_STAR] = ACTIONS(1274), + [anon_sym_AMP] = ACTIONS(1274), + [anon_sym_SEMI] = ACTIONS(1274), + [anon_sym___extension__] = ACTIONS(1272), + [anon_sym_typedef] = ACTIONS(1272), + [anon_sym_extern] = ACTIONS(1272), + [anon_sym___attribute__] = ACTIONS(1272), + [anon_sym___attribute] = ACTIONS(1272), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1274), + [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(1274), + [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__Nonnull] = 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(1274), + [anon_sym_PLUS_PLUS] = ACTIONS(1274), + [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), + [anon_sym___asm] = ACTIONS(1272), + [sym_number_literal] = ACTIONS(1274), + [anon_sym_L_SQUOTE] = ACTIONS(1274), + [anon_sym_u_SQUOTE] = ACTIONS(1274), + [anon_sym_U_SQUOTE] = ACTIONS(1274), + [anon_sym_u8_SQUOTE] = ACTIONS(1274), + [anon_sym_SQUOTE] = ACTIONS(1274), + [anon_sym_L_DQUOTE] = ACTIONS(1274), + [anon_sym_u_DQUOTE] = ACTIONS(1274), + [anon_sym_U_DQUOTE] = ACTIONS(1274), + [anon_sym_u8_DQUOTE] = ACTIONS(1274), + [anon_sym_DQUOTE] = ACTIONS(1274), + [sym_true] = ACTIONS(1272), + [sym_false] = ACTIONS(1272), + [anon_sym_NULL] = ACTIONS(1272), + [anon_sym_nullptr] = ACTIONS(1272), + [sym_comment] = ACTIONS(3), + }, + [314] = { + [sym_identifier] = ACTIONS(1320), + [aux_sym_preproc_include_token1] = ACTIONS(1320), + [aux_sym_preproc_def_token1] = ACTIONS(1320), + [aux_sym_preproc_if_token1] = ACTIONS(1320), + [aux_sym_preproc_if_token2] = ACTIONS(1320), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1320), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1320), + [sym_preproc_directive] = ACTIONS(1320), + [anon_sym_LPAREN2] = ACTIONS(1322), + [anon_sym_BANG] = ACTIONS(1322), + [anon_sym_TILDE] = ACTIONS(1322), + [anon_sym_DASH] = ACTIONS(1320), + [anon_sym_PLUS] = ACTIONS(1320), + [anon_sym_STAR] = ACTIONS(1322), + [anon_sym_AMP] = ACTIONS(1322), + [anon_sym_SEMI] = ACTIONS(1322), + [anon_sym___extension__] = ACTIONS(1320), + [anon_sym_typedef] = ACTIONS(1320), + [anon_sym_extern] = ACTIONS(1320), + [anon_sym___attribute__] = ACTIONS(1320), + [anon_sym___attribute] = ACTIONS(1320), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1322), + [anon_sym___declspec] = ACTIONS(1320), + [anon_sym___cdecl] = ACTIONS(1320), + [anon_sym___clrcall] = ACTIONS(1320), + [anon_sym___stdcall] = ACTIONS(1320), + [anon_sym___fastcall] = ACTIONS(1320), + [anon_sym___thiscall] = ACTIONS(1320), + [anon_sym___vectorcall] = ACTIONS(1320), + [anon_sym_LBRACE] = ACTIONS(1322), + [anon_sym_signed] = ACTIONS(1320), + [anon_sym_unsigned] = ACTIONS(1320), + [anon_sym_long] = ACTIONS(1320), + [anon_sym_short] = ACTIONS(1320), + [anon_sym_static] = ACTIONS(1320), + [anon_sym_auto] = ACTIONS(1320), + [anon_sym_register] = ACTIONS(1320), + [anon_sym_inline] = ACTIONS(1320), + [anon_sym___inline] = ACTIONS(1320), + [anon_sym___inline__] = ACTIONS(1320), + [anon_sym___forceinline] = ACTIONS(1320), + [anon_sym_thread_local] = ACTIONS(1320), + [anon_sym___thread] = ACTIONS(1320), + [anon_sym_const] = ACTIONS(1320), + [anon_sym_constexpr] = ACTIONS(1320), + [anon_sym_volatile] = ACTIONS(1320), + [anon_sym_restrict] = ACTIONS(1320), + [anon_sym___restrict__] = ACTIONS(1320), + [anon_sym__Atomic] = ACTIONS(1320), + [anon_sym__Noreturn] = ACTIONS(1320), + [anon_sym_noreturn] = ACTIONS(1320), + [anon_sym__Nonnull] = ACTIONS(1320), + [anon_sym_alignas] = ACTIONS(1320), + [anon_sym__Alignas] = ACTIONS(1320), + [sym_primitive_type] = ACTIONS(1320), + [anon_sym_enum] = ACTIONS(1320), + [anon_sym_struct] = ACTIONS(1320), + [anon_sym_union] = ACTIONS(1320), + [anon_sym_if] = ACTIONS(1320), + [anon_sym_switch] = ACTIONS(1320), + [anon_sym_case] = ACTIONS(1320), + [anon_sym_default] = ACTIONS(1320), + [anon_sym_while] = ACTIONS(1320), + [anon_sym_do] = ACTIONS(1320), + [anon_sym_for] = ACTIONS(1320), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1320), + [anon_sym_continue] = ACTIONS(1320), + [anon_sym_goto] = ACTIONS(1320), + [anon_sym___try] = ACTIONS(1320), + [anon_sym___leave] = ACTIONS(1320), + [anon_sym_DASH_DASH] = ACTIONS(1322), + [anon_sym_PLUS_PLUS] = ACTIONS(1322), + [anon_sym_sizeof] = ACTIONS(1320), + [anon_sym___alignof__] = ACTIONS(1320), + [anon_sym___alignof] = ACTIONS(1320), + [anon_sym__alignof] = ACTIONS(1320), + [anon_sym_alignof] = ACTIONS(1320), + [anon_sym__Alignof] = ACTIONS(1320), + [anon_sym_offsetof] = ACTIONS(1320), + [anon_sym__Generic] = ACTIONS(1320), + [anon_sym_asm] = ACTIONS(1320), + [anon_sym___asm__] = ACTIONS(1320), + [anon_sym___asm] = ACTIONS(1320), + [sym_number_literal] = ACTIONS(1322), + [anon_sym_L_SQUOTE] = ACTIONS(1322), + [anon_sym_u_SQUOTE] = ACTIONS(1322), + [anon_sym_U_SQUOTE] = ACTIONS(1322), + [anon_sym_u8_SQUOTE] = ACTIONS(1322), + [anon_sym_SQUOTE] = ACTIONS(1322), + [anon_sym_L_DQUOTE] = ACTIONS(1322), + [anon_sym_u_DQUOTE] = ACTIONS(1322), + [anon_sym_U_DQUOTE] = ACTIONS(1322), + [anon_sym_u8_DQUOTE] = ACTIONS(1322), + [anon_sym_DQUOTE] = ACTIONS(1322), + [sym_true] = ACTIONS(1320), + [sym_false] = ACTIONS(1320), + [anon_sym_NULL] = ACTIONS(1320), + [anon_sym_nullptr] = ACTIONS(1320), + [sym_comment] = ACTIONS(3), + }, + [315] = { + [sym_identifier] = ACTIONS(1312), + [aux_sym_preproc_include_token1] = ACTIONS(1312), + [aux_sym_preproc_def_token1] = ACTIONS(1312), + [aux_sym_preproc_if_token1] = ACTIONS(1312), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1312), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1312), + [sym_preproc_directive] = ACTIONS(1312), + [anon_sym_LPAREN2] = ACTIONS(1314), + [anon_sym_BANG] = ACTIONS(1314), + [anon_sym_TILDE] = ACTIONS(1314), + [anon_sym_DASH] = ACTIONS(1312), + [anon_sym_PLUS] = ACTIONS(1312), + [anon_sym_STAR] = ACTIONS(1314), + [anon_sym_AMP] = ACTIONS(1314), + [anon_sym_SEMI] = ACTIONS(1314), + [anon_sym___extension__] = ACTIONS(1312), + [anon_sym_typedef] = ACTIONS(1312), + [anon_sym_extern] = ACTIONS(1312), + [anon_sym___attribute__] = ACTIONS(1312), + [anon_sym___attribute] = ACTIONS(1312), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1314), + [anon_sym___declspec] = ACTIONS(1312), + [anon_sym___cdecl] = ACTIONS(1312), + [anon_sym___clrcall] = ACTIONS(1312), + [anon_sym___stdcall] = ACTIONS(1312), + [anon_sym___fastcall] = ACTIONS(1312), + [anon_sym___thiscall] = ACTIONS(1312), + [anon_sym___vectorcall] = ACTIONS(1312), + [anon_sym_LBRACE] = ACTIONS(1314), + [anon_sym_RBRACE] = ACTIONS(1314), + [anon_sym_signed] = ACTIONS(1312), + [anon_sym_unsigned] = ACTIONS(1312), + [anon_sym_long] = ACTIONS(1312), + [anon_sym_short] = ACTIONS(1312), + [anon_sym_static] = ACTIONS(1312), + [anon_sym_auto] = ACTIONS(1312), + [anon_sym_register] = ACTIONS(1312), + [anon_sym_inline] = ACTIONS(1312), + [anon_sym___inline] = ACTIONS(1312), + [anon_sym___inline__] = ACTIONS(1312), + [anon_sym___forceinline] = ACTIONS(1312), + [anon_sym_thread_local] = ACTIONS(1312), + [anon_sym___thread] = ACTIONS(1312), + [anon_sym_const] = ACTIONS(1312), + [anon_sym_constexpr] = ACTIONS(1312), + [anon_sym_volatile] = ACTIONS(1312), + [anon_sym_restrict] = ACTIONS(1312), + [anon_sym___restrict__] = ACTIONS(1312), + [anon_sym__Atomic] = ACTIONS(1312), + [anon_sym__Noreturn] = ACTIONS(1312), + [anon_sym_noreturn] = ACTIONS(1312), + [anon_sym__Nonnull] = ACTIONS(1312), + [anon_sym_alignas] = ACTIONS(1312), + [anon_sym__Alignas] = ACTIONS(1312), + [sym_primitive_type] = ACTIONS(1312), + [anon_sym_enum] = ACTIONS(1312), + [anon_sym_struct] = ACTIONS(1312), + [anon_sym_union] = ACTIONS(1312), + [anon_sym_if] = ACTIONS(1312), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1312), + [anon_sym_default] = ACTIONS(1312), + [anon_sym_while] = ACTIONS(1312), + [anon_sym_do] = ACTIONS(1312), + [anon_sym_for] = ACTIONS(1312), + [anon_sym_return] = ACTIONS(1312), + [anon_sym_break] = ACTIONS(1312), + [anon_sym_continue] = ACTIONS(1312), + [anon_sym_goto] = ACTIONS(1312), + [anon_sym___try] = ACTIONS(1312), + [anon_sym___leave] = ACTIONS(1312), + [anon_sym_DASH_DASH] = ACTIONS(1314), + [anon_sym_PLUS_PLUS] = ACTIONS(1314), + [anon_sym_sizeof] = ACTIONS(1312), + [anon_sym___alignof__] = ACTIONS(1312), + [anon_sym___alignof] = ACTIONS(1312), + [anon_sym__alignof] = ACTIONS(1312), + [anon_sym_alignof] = ACTIONS(1312), + [anon_sym__Alignof] = ACTIONS(1312), + [anon_sym_offsetof] = ACTIONS(1312), + [anon_sym__Generic] = ACTIONS(1312), + [anon_sym_asm] = ACTIONS(1312), + [anon_sym___asm__] = ACTIONS(1312), + [anon_sym___asm] = ACTIONS(1312), + [sym_number_literal] = ACTIONS(1314), + [anon_sym_L_SQUOTE] = ACTIONS(1314), + [anon_sym_u_SQUOTE] = ACTIONS(1314), + [anon_sym_U_SQUOTE] = ACTIONS(1314), + [anon_sym_u8_SQUOTE] = ACTIONS(1314), + [anon_sym_SQUOTE] = ACTIONS(1314), + [anon_sym_L_DQUOTE] = ACTIONS(1314), + [anon_sym_u_DQUOTE] = ACTIONS(1314), + [anon_sym_U_DQUOTE] = ACTIONS(1314), + [anon_sym_u8_DQUOTE] = ACTIONS(1314), + [anon_sym_DQUOTE] = ACTIONS(1314), + [sym_true] = ACTIONS(1312), + [sym_false] = ACTIONS(1312), + [anon_sym_NULL] = ACTIONS(1312), + [anon_sym_nullptr] = ACTIONS(1312), + [sym_comment] = ACTIONS(3), + }, + [316] = { + [sym_identifier] = ACTIONS(1344), + [aux_sym_preproc_include_token1] = ACTIONS(1344), + [aux_sym_preproc_def_token1] = ACTIONS(1344), + [aux_sym_preproc_if_token1] = ACTIONS(1344), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1344), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1344), + [sym_preproc_directive] = ACTIONS(1344), + [anon_sym_LPAREN2] = ACTIONS(1346), + [anon_sym_BANG] = ACTIONS(1346), + [anon_sym_TILDE] = ACTIONS(1346), + [anon_sym_DASH] = ACTIONS(1344), + [anon_sym_PLUS] = ACTIONS(1344), + [anon_sym_STAR] = ACTIONS(1346), + [anon_sym_AMP] = ACTIONS(1346), + [anon_sym_SEMI] = ACTIONS(1346), + [anon_sym___extension__] = ACTIONS(1344), + [anon_sym_typedef] = ACTIONS(1344), + [anon_sym_extern] = ACTIONS(1344), + [anon_sym___attribute__] = ACTIONS(1344), + [anon_sym___attribute] = ACTIONS(1344), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1346), + [anon_sym___declspec] = ACTIONS(1344), + [anon_sym___cdecl] = ACTIONS(1344), + [anon_sym___clrcall] = ACTIONS(1344), + [anon_sym___stdcall] = ACTIONS(1344), + [anon_sym___fastcall] = ACTIONS(1344), + [anon_sym___thiscall] = ACTIONS(1344), + [anon_sym___vectorcall] = ACTIONS(1344), + [anon_sym_LBRACE] = ACTIONS(1346), + [anon_sym_RBRACE] = ACTIONS(1346), + [anon_sym_signed] = ACTIONS(1344), + [anon_sym_unsigned] = ACTIONS(1344), + [anon_sym_long] = ACTIONS(1344), + [anon_sym_short] = ACTIONS(1344), + [anon_sym_static] = ACTIONS(1344), + [anon_sym_auto] = ACTIONS(1344), + [anon_sym_register] = ACTIONS(1344), + [anon_sym_inline] = ACTIONS(1344), + [anon_sym___inline] = ACTIONS(1344), + [anon_sym___inline__] = ACTIONS(1344), + [anon_sym___forceinline] = ACTIONS(1344), + [anon_sym_thread_local] = ACTIONS(1344), + [anon_sym___thread] = ACTIONS(1344), + [anon_sym_const] = ACTIONS(1344), + [anon_sym_constexpr] = ACTIONS(1344), + [anon_sym_volatile] = ACTIONS(1344), + [anon_sym_restrict] = ACTIONS(1344), + [anon_sym___restrict__] = ACTIONS(1344), + [anon_sym__Atomic] = ACTIONS(1344), + [anon_sym__Noreturn] = ACTIONS(1344), + [anon_sym_noreturn] = ACTIONS(1344), + [anon_sym__Nonnull] = ACTIONS(1344), + [anon_sym_alignas] = ACTIONS(1344), + [anon_sym__Alignas] = ACTIONS(1344), + [sym_primitive_type] = ACTIONS(1344), + [anon_sym_enum] = ACTIONS(1344), + [anon_sym_struct] = ACTIONS(1344), + [anon_sym_union] = ACTIONS(1344), + [anon_sym_if] = ACTIONS(1344), + [anon_sym_switch] = ACTIONS(1344), + [anon_sym_case] = ACTIONS(1344), + [anon_sym_default] = ACTIONS(1344), + [anon_sym_while] = ACTIONS(1344), + [anon_sym_do] = ACTIONS(1344), + [anon_sym_for] = ACTIONS(1344), + [anon_sym_return] = ACTIONS(1344), + [anon_sym_break] = ACTIONS(1344), + [anon_sym_continue] = ACTIONS(1344), + [anon_sym_goto] = ACTIONS(1344), + [anon_sym___try] = ACTIONS(1344), + [anon_sym___leave] = ACTIONS(1344), + [anon_sym_DASH_DASH] = ACTIONS(1346), + [anon_sym_PLUS_PLUS] = ACTIONS(1346), + [anon_sym_sizeof] = ACTIONS(1344), + [anon_sym___alignof__] = ACTIONS(1344), + [anon_sym___alignof] = ACTIONS(1344), + [anon_sym__alignof] = ACTIONS(1344), + [anon_sym_alignof] = ACTIONS(1344), + [anon_sym__Alignof] = ACTIONS(1344), + [anon_sym_offsetof] = ACTIONS(1344), + [anon_sym__Generic] = ACTIONS(1344), + [anon_sym_asm] = ACTIONS(1344), + [anon_sym___asm__] = ACTIONS(1344), + [anon_sym___asm] = ACTIONS(1344), + [sym_number_literal] = ACTIONS(1346), + [anon_sym_L_SQUOTE] = ACTIONS(1346), + [anon_sym_u_SQUOTE] = ACTIONS(1346), + [anon_sym_U_SQUOTE] = ACTIONS(1346), + [anon_sym_u8_SQUOTE] = ACTIONS(1346), + [anon_sym_SQUOTE] = ACTIONS(1346), + [anon_sym_L_DQUOTE] = ACTIONS(1346), + [anon_sym_u_DQUOTE] = ACTIONS(1346), + [anon_sym_U_DQUOTE] = ACTIONS(1346), + [anon_sym_u8_DQUOTE] = ACTIONS(1346), + [anon_sym_DQUOTE] = ACTIONS(1346), + [sym_true] = ACTIONS(1344), + [sym_false] = ACTIONS(1344), + [anon_sym_NULL] = ACTIONS(1344), + [anon_sym_nullptr] = ACTIONS(1344), + [sym_comment] = ACTIONS(3), + }, + [317] = { + [sym_identifier] = ACTIONS(1288), + [aux_sym_preproc_include_token1] = ACTIONS(1288), + [aux_sym_preproc_def_token1] = ACTIONS(1288), + [aux_sym_preproc_if_token1] = ACTIONS(1288), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1288), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1288), + [sym_preproc_directive] = ACTIONS(1288), + [anon_sym_LPAREN2] = ACTIONS(1290), + [anon_sym_BANG] = ACTIONS(1290), + [anon_sym_TILDE] = ACTIONS(1290), + [anon_sym_DASH] = ACTIONS(1288), + [anon_sym_PLUS] = ACTIONS(1288), + [anon_sym_STAR] = ACTIONS(1290), + [anon_sym_AMP] = ACTIONS(1290), + [anon_sym_SEMI] = ACTIONS(1290), + [anon_sym___extension__] = ACTIONS(1288), + [anon_sym_typedef] = ACTIONS(1288), + [anon_sym_extern] = ACTIONS(1288), + [anon_sym___attribute__] = ACTIONS(1288), + [anon_sym___attribute] = ACTIONS(1288), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1290), + [anon_sym___declspec] = ACTIONS(1288), + [anon_sym___cdecl] = ACTIONS(1288), + [anon_sym___clrcall] = ACTIONS(1288), + [anon_sym___stdcall] = ACTIONS(1288), + [anon_sym___fastcall] = ACTIONS(1288), + [anon_sym___thiscall] = ACTIONS(1288), + [anon_sym___vectorcall] = ACTIONS(1288), + [anon_sym_LBRACE] = ACTIONS(1290), + [anon_sym_RBRACE] = ACTIONS(1290), + [anon_sym_signed] = ACTIONS(1288), + [anon_sym_unsigned] = ACTIONS(1288), + [anon_sym_long] = ACTIONS(1288), + [anon_sym_short] = ACTIONS(1288), + [anon_sym_static] = ACTIONS(1288), + [anon_sym_auto] = ACTIONS(1288), + [anon_sym_register] = ACTIONS(1288), + [anon_sym_inline] = ACTIONS(1288), + [anon_sym___inline] = ACTIONS(1288), + [anon_sym___inline__] = ACTIONS(1288), + [anon_sym___forceinline] = ACTIONS(1288), + [anon_sym_thread_local] = ACTIONS(1288), + [anon_sym___thread] = ACTIONS(1288), + [anon_sym_const] = ACTIONS(1288), + [anon_sym_constexpr] = ACTIONS(1288), + [anon_sym_volatile] = ACTIONS(1288), + [anon_sym_restrict] = ACTIONS(1288), + [anon_sym___restrict__] = ACTIONS(1288), + [anon_sym__Atomic] = ACTIONS(1288), + [anon_sym__Noreturn] = ACTIONS(1288), + [anon_sym_noreturn] = ACTIONS(1288), + [anon_sym__Nonnull] = ACTIONS(1288), + [anon_sym_alignas] = ACTIONS(1288), + [anon_sym__Alignas] = ACTIONS(1288), + [sym_primitive_type] = ACTIONS(1288), + [anon_sym_enum] = ACTIONS(1288), + [anon_sym_struct] = ACTIONS(1288), + [anon_sym_union] = ACTIONS(1288), + [anon_sym_if] = ACTIONS(1288), + [anon_sym_switch] = ACTIONS(1288), + [anon_sym_case] = ACTIONS(1288), + [anon_sym_default] = ACTIONS(1288), + [anon_sym_while] = ACTIONS(1288), + [anon_sym_do] = ACTIONS(1288), + [anon_sym_for] = ACTIONS(1288), + [anon_sym_return] = ACTIONS(1288), + [anon_sym_break] = ACTIONS(1288), + [anon_sym_continue] = ACTIONS(1288), + [anon_sym_goto] = ACTIONS(1288), + [anon_sym___try] = ACTIONS(1288), + [anon_sym___leave] = ACTIONS(1288), + [anon_sym_DASH_DASH] = ACTIONS(1290), + [anon_sym_PLUS_PLUS] = ACTIONS(1290), + [anon_sym_sizeof] = ACTIONS(1288), + [anon_sym___alignof__] = ACTIONS(1288), + [anon_sym___alignof] = ACTIONS(1288), + [anon_sym__alignof] = ACTIONS(1288), + [anon_sym_alignof] = ACTIONS(1288), + [anon_sym__Alignof] = ACTIONS(1288), + [anon_sym_offsetof] = ACTIONS(1288), + [anon_sym__Generic] = ACTIONS(1288), + [anon_sym_asm] = ACTIONS(1288), + [anon_sym___asm__] = ACTIONS(1288), + [anon_sym___asm] = ACTIONS(1288), + [sym_number_literal] = ACTIONS(1290), + [anon_sym_L_SQUOTE] = ACTIONS(1290), + [anon_sym_u_SQUOTE] = ACTIONS(1290), + [anon_sym_U_SQUOTE] = ACTIONS(1290), + [anon_sym_u8_SQUOTE] = ACTIONS(1290), + [anon_sym_SQUOTE] = ACTIONS(1290), + [anon_sym_L_DQUOTE] = ACTIONS(1290), + [anon_sym_u_DQUOTE] = ACTIONS(1290), + [anon_sym_U_DQUOTE] = ACTIONS(1290), + [anon_sym_u8_DQUOTE] = ACTIONS(1290), + [anon_sym_DQUOTE] = ACTIONS(1290), + [sym_true] = ACTIONS(1288), + [sym_false] = ACTIONS(1288), + [anon_sym_NULL] = ACTIONS(1288), + [anon_sym_nullptr] = ACTIONS(1288), + [sym_comment] = ACTIONS(3), + }, + [318] = { + [sym_expression] = STATE(700), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(682), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(682), + [sym_call_expression] = STATE(682), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(682), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(682), + [sym_initializer_list] = STATE(686), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(714), + [sym_null] = STATE(693), + [sym_identifier] = ACTIONS(1394), + [anon_sym_COMMA] = ACTIONS(1388), + [aux_sym_preproc_if_token2] = ACTIONS(1388), + [aux_sym_preproc_else_token1] = ACTIONS(1388), + [aux_sym_preproc_elif_token1] = ACTIONS(1394), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1388), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1388), + [anon_sym_LPAREN2] = ACTIONS(1388), + [anon_sym_BANG] = ACTIONS(1402), + [anon_sym_TILDE] = ACTIONS(1404), + [anon_sym_DASH] = ACTIONS(1394), + [anon_sym_PLUS] = ACTIONS(1394), + [anon_sym_STAR] = ACTIONS(1394), + [anon_sym_SLASH] = ACTIONS(1394), + [anon_sym_PERCENT] = ACTIONS(1394), + [anon_sym_PIPE_PIPE] = ACTIONS(1388), + [anon_sym_AMP_AMP] = ACTIONS(1388), + [anon_sym_PIPE] = ACTIONS(1394), + [anon_sym_CARET] = ACTIONS(1394), + [anon_sym_AMP] = ACTIONS(1394), + [anon_sym_EQ_EQ] = ACTIONS(1388), + [anon_sym_BANG_EQ] = ACTIONS(1388), + [anon_sym_GT] = ACTIONS(1394), + [anon_sym_GT_EQ] = ACTIONS(1388), + [anon_sym_LT_EQ] = ACTIONS(1388), + [anon_sym_LT] = ACTIONS(1394), + [anon_sym_LT_LT] = ACTIONS(1394), + [anon_sym_GT_GT] = ACTIONS(1394), + [anon_sym___extension__] = ACTIONS(1406), + [anon_sym_LBRACE] = ACTIONS(1398), + [anon_sym_LBRACK] = ACTIONS(1388), + [anon_sym_EQ] = ACTIONS(1394), + [anon_sym_QMARK] = ACTIONS(1388), + [anon_sym_STAR_EQ] = ACTIONS(1388), + [anon_sym_SLASH_EQ] = ACTIONS(1388), + [anon_sym_PERCENT_EQ] = ACTIONS(1388), + [anon_sym_PLUS_EQ] = ACTIONS(1388), + [anon_sym_DASH_EQ] = ACTIONS(1388), + [anon_sym_LT_LT_EQ] = ACTIONS(1388), + [anon_sym_GT_GT_EQ] = ACTIONS(1388), + [anon_sym_AMP_EQ] = ACTIONS(1388), + [anon_sym_CARET_EQ] = ACTIONS(1388), + [anon_sym_PIPE_EQ] = ACTIONS(1388), + [anon_sym_DASH_DASH] = ACTIONS(1388), + [anon_sym_PLUS_PLUS] = ACTIONS(1388), + [anon_sym_sizeof] = ACTIONS(1408), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [anon_sym_DOT] = ACTIONS(1394), + [anon_sym_DASH_GT] = ACTIONS(1388), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [319] = { + [ts_builtin_sym_end] = ACTIONS(1410), + [sym_identifier] = ACTIONS(1412), + [aux_sym_preproc_include_token1] = ACTIONS(1412), + [aux_sym_preproc_def_token1] = ACTIONS(1412), + [aux_sym_preproc_if_token1] = ACTIONS(1412), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1412), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1412), + [sym_preproc_directive] = ACTIONS(1412), + [anon_sym_LPAREN2] = ACTIONS(1410), + [anon_sym_BANG] = ACTIONS(1410), + [anon_sym_TILDE] = ACTIONS(1410), + [anon_sym_DASH] = ACTIONS(1412), + [anon_sym_PLUS] = ACTIONS(1412), + [anon_sym_STAR] = ACTIONS(1410), + [anon_sym_AMP] = ACTIONS(1410), + [anon_sym_SEMI] = ACTIONS(1410), + [anon_sym___extension__] = ACTIONS(1412), + [anon_sym_typedef] = ACTIONS(1412), + [anon_sym_extern] = ACTIONS(1412), + [anon_sym___attribute__] = ACTIONS(1412), + [anon_sym___attribute] = ACTIONS(1412), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1410), + [anon_sym___declspec] = ACTIONS(1412), + [anon_sym___cdecl] = ACTIONS(1412), + [anon_sym___clrcall] = ACTIONS(1412), + [anon_sym___stdcall] = ACTIONS(1412), + [anon_sym___fastcall] = ACTIONS(1412), + [anon_sym___thiscall] = ACTIONS(1412), + [anon_sym___vectorcall] = ACTIONS(1412), + [anon_sym_LBRACE] = ACTIONS(1410), + [anon_sym_signed] = ACTIONS(1412), + [anon_sym_unsigned] = ACTIONS(1412), + [anon_sym_long] = ACTIONS(1412), + [anon_sym_short] = ACTIONS(1412), + [anon_sym_static] = ACTIONS(1412), + [anon_sym_auto] = ACTIONS(1412), + [anon_sym_register] = ACTIONS(1412), + [anon_sym_inline] = ACTIONS(1412), + [anon_sym___inline] = ACTIONS(1412), + [anon_sym___inline__] = ACTIONS(1412), + [anon_sym___forceinline] = ACTIONS(1412), + [anon_sym_thread_local] = ACTIONS(1412), + [anon_sym___thread] = ACTIONS(1412), + [anon_sym_const] = ACTIONS(1412), + [anon_sym_constexpr] = ACTIONS(1412), + [anon_sym_volatile] = ACTIONS(1412), + [anon_sym_restrict] = ACTIONS(1412), + [anon_sym___restrict__] = ACTIONS(1412), + [anon_sym__Atomic] = ACTIONS(1412), + [anon_sym__Noreturn] = ACTIONS(1412), + [anon_sym_noreturn] = ACTIONS(1412), + [anon_sym__Nonnull] = ACTIONS(1412), + [anon_sym_alignas] = ACTIONS(1412), + [anon_sym__Alignas] = ACTIONS(1412), + [sym_primitive_type] = ACTIONS(1412), + [anon_sym_enum] = ACTIONS(1412), + [anon_sym_struct] = ACTIONS(1412), + [anon_sym_union] = ACTIONS(1412), + [anon_sym_if] = ACTIONS(1412), + [anon_sym_switch] = ACTIONS(1412), + [anon_sym_case] = ACTIONS(1412), + [anon_sym_default] = ACTIONS(1412), + [anon_sym_while] = ACTIONS(1412), + [anon_sym_do] = ACTIONS(1412), + [anon_sym_for] = ACTIONS(1412), + [anon_sym_return] = ACTIONS(1412), + [anon_sym_break] = ACTIONS(1412), + [anon_sym_continue] = ACTIONS(1412), + [anon_sym_goto] = ACTIONS(1412), + [anon_sym_DASH_DASH] = ACTIONS(1410), + [anon_sym_PLUS_PLUS] = ACTIONS(1410), + [anon_sym_sizeof] = ACTIONS(1412), + [anon_sym___alignof__] = ACTIONS(1412), + [anon_sym___alignof] = ACTIONS(1412), + [anon_sym__alignof] = ACTIONS(1412), + [anon_sym_alignof] = ACTIONS(1412), + [anon_sym__Alignof] = ACTIONS(1412), + [anon_sym_offsetof] = ACTIONS(1412), + [anon_sym__Generic] = ACTIONS(1412), + [anon_sym_asm] = ACTIONS(1412), + [anon_sym___asm__] = ACTIONS(1412), + [anon_sym___asm] = ACTIONS(1412), + [sym_number_literal] = ACTIONS(1410), + [anon_sym_L_SQUOTE] = ACTIONS(1410), + [anon_sym_u_SQUOTE] = ACTIONS(1410), + [anon_sym_U_SQUOTE] = ACTIONS(1410), + [anon_sym_u8_SQUOTE] = ACTIONS(1410), + [anon_sym_SQUOTE] = ACTIONS(1410), + [anon_sym_L_DQUOTE] = ACTIONS(1410), + [anon_sym_u_DQUOTE] = ACTIONS(1410), + [anon_sym_U_DQUOTE] = ACTIONS(1410), + [anon_sym_u8_DQUOTE] = ACTIONS(1410), + [anon_sym_DQUOTE] = ACTIONS(1410), + [sym_true] = ACTIONS(1412), + [sym_false] = ACTIONS(1412), + [anon_sym_NULL] = ACTIONS(1412), + [anon_sym_nullptr] = ACTIONS(1412), + [sym_comment] = ACTIONS(3), + }, + [320] = { + [ts_builtin_sym_end] = ACTIONS(1374), + [sym_identifier] = ACTIONS(1372), + [aux_sym_preproc_include_token1] = ACTIONS(1372), + [aux_sym_preproc_def_token1] = ACTIONS(1372), + [aux_sym_preproc_if_token1] = ACTIONS(1372), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1372), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1372), + [sym_preproc_directive] = ACTIONS(1372), + [anon_sym_LPAREN2] = ACTIONS(1374), + [anon_sym_BANG] = ACTIONS(1374), + [anon_sym_TILDE] = ACTIONS(1374), + [anon_sym_DASH] = ACTIONS(1372), + [anon_sym_PLUS] = ACTIONS(1372), + [anon_sym_STAR] = ACTIONS(1374), + [anon_sym_AMP] = ACTIONS(1374), + [anon_sym_SEMI] = ACTIONS(1374), + [anon_sym___extension__] = ACTIONS(1372), + [anon_sym_typedef] = ACTIONS(1372), + [anon_sym_extern] = ACTIONS(1372), + [anon_sym___attribute__] = ACTIONS(1372), + [anon_sym___attribute] = ACTIONS(1372), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1374), + [anon_sym___declspec] = ACTIONS(1372), + [anon_sym___cdecl] = ACTIONS(1372), + [anon_sym___clrcall] = ACTIONS(1372), + [anon_sym___stdcall] = ACTIONS(1372), + [anon_sym___fastcall] = ACTIONS(1372), + [anon_sym___thiscall] = ACTIONS(1372), + [anon_sym___vectorcall] = ACTIONS(1372), + [anon_sym_LBRACE] = ACTIONS(1374), + [anon_sym_signed] = ACTIONS(1372), + [anon_sym_unsigned] = ACTIONS(1372), + [anon_sym_long] = ACTIONS(1372), + [anon_sym_short] = ACTIONS(1372), + [anon_sym_static] = ACTIONS(1372), + [anon_sym_auto] = ACTIONS(1372), + [anon_sym_register] = ACTIONS(1372), + [anon_sym_inline] = ACTIONS(1372), + [anon_sym___inline] = ACTIONS(1372), + [anon_sym___inline__] = ACTIONS(1372), + [anon_sym___forceinline] = ACTIONS(1372), + [anon_sym_thread_local] = ACTIONS(1372), + [anon_sym___thread] = ACTIONS(1372), + [anon_sym_const] = ACTIONS(1372), + [anon_sym_constexpr] = ACTIONS(1372), + [anon_sym_volatile] = ACTIONS(1372), + [anon_sym_restrict] = ACTIONS(1372), + [anon_sym___restrict__] = ACTIONS(1372), + [anon_sym__Atomic] = ACTIONS(1372), + [anon_sym__Noreturn] = ACTIONS(1372), + [anon_sym_noreturn] = ACTIONS(1372), + [anon_sym__Nonnull] = ACTIONS(1372), + [anon_sym_alignas] = ACTIONS(1372), + [anon_sym__Alignas] = ACTIONS(1372), + [sym_primitive_type] = ACTIONS(1372), + [anon_sym_enum] = ACTIONS(1372), + [anon_sym_struct] = ACTIONS(1372), + [anon_sym_union] = ACTIONS(1372), + [anon_sym_if] = ACTIONS(1372), + [anon_sym_switch] = ACTIONS(1372), + [anon_sym_case] = ACTIONS(1372), + [anon_sym_default] = ACTIONS(1372), + [anon_sym_while] = ACTIONS(1372), + [anon_sym_do] = ACTIONS(1372), + [anon_sym_for] = ACTIONS(1372), + [anon_sym_return] = ACTIONS(1372), + [anon_sym_break] = ACTIONS(1372), + [anon_sym_continue] = ACTIONS(1372), + [anon_sym_goto] = ACTIONS(1372), + [anon_sym_DASH_DASH] = ACTIONS(1374), + [anon_sym_PLUS_PLUS] = ACTIONS(1374), + [anon_sym_sizeof] = ACTIONS(1372), + [anon_sym___alignof__] = ACTIONS(1372), + [anon_sym___alignof] = ACTIONS(1372), + [anon_sym__alignof] = ACTIONS(1372), + [anon_sym_alignof] = ACTIONS(1372), + [anon_sym__Alignof] = ACTIONS(1372), + [anon_sym_offsetof] = ACTIONS(1372), + [anon_sym__Generic] = ACTIONS(1372), + [anon_sym_asm] = ACTIONS(1372), + [anon_sym___asm__] = ACTIONS(1372), + [anon_sym___asm] = ACTIONS(1372), + [sym_number_literal] = ACTIONS(1374), + [anon_sym_L_SQUOTE] = ACTIONS(1374), + [anon_sym_u_SQUOTE] = ACTIONS(1374), + [anon_sym_U_SQUOTE] = ACTIONS(1374), + [anon_sym_u8_SQUOTE] = ACTIONS(1374), + [anon_sym_SQUOTE] = ACTIONS(1374), + [anon_sym_L_DQUOTE] = ACTIONS(1374), + [anon_sym_u_DQUOTE] = ACTIONS(1374), + [anon_sym_U_DQUOTE] = ACTIONS(1374), + [anon_sym_u8_DQUOTE] = ACTIONS(1374), + [anon_sym_DQUOTE] = ACTIONS(1374), + [sym_true] = ACTIONS(1372), + [sym_false] = ACTIONS(1372), + [anon_sym_NULL] = ACTIONS(1372), + [anon_sym_nullptr] = ACTIONS(1372), + [sym_comment] = ACTIONS(3), + }, + [321] = { + [ts_builtin_sym_end] = ACTIONS(1338), + [sym_identifier] = ACTIONS(1336), + [aux_sym_preproc_include_token1] = ACTIONS(1336), + [aux_sym_preproc_def_token1] = ACTIONS(1336), + [aux_sym_preproc_if_token1] = ACTIONS(1336), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1336), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1336), + [sym_preproc_directive] = ACTIONS(1336), + [anon_sym_LPAREN2] = ACTIONS(1338), + [anon_sym_BANG] = ACTIONS(1338), + [anon_sym_TILDE] = ACTIONS(1338), + [anon_sym_DASH] = ACTIONS(1336), + [anon_sym_PLUS] = ACTIONS(1336), + [anon_sym_STAR] = ACTIONS(1338), + [anon_sym_AMP] = ACTIONS(1338), + [anon_sym_SEMI] = ACTIONS(1338), + [anon_sym___extension__] = ACTIONS(1336), + [anon_sym_typedef] = ACTIONS(1336), + [anon_sym_extern] = ACTIONS(1336), + [anon_sym___attribute__] = ACTIONS(1336), + [anon_sym___attribute] = ACTIONS(1336), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1338), + [anon_sym___declspec] = ACTIONS(1336), + [anon_sym___cdecl] = ACTIONS(1336), + [anon_sym___clrcall] = ACTIONS(1336), + [anon_sym___stdcall] = ACTIONS(1336), + [anon_sym___fastcall] = ACTIONS(1336), + [anon_sym___thiscall] = ACTIONS(1336), + [anon_sym___vectorcall] = ACTIONS(1336), + [anon_sym_LBRACE] = ACTIONS(1338), + [anon_sym_signed] = ACTIONS(1336), + [anon_sym_unsigned] = ACTIONS(1336), + [anon_sym_long] = ACTIONS(1336), + [anon_sym_short] = ACTIONS(1336), + [anon_sym_static] = ACTIONS(1336), + [anon_sym_auto] = ACTIONS(1336), + [anon_sym_register] = ACTIONS(1336), + [anon_sym_inline] = ACTIONS(1336), + [anon_sym___inline] = ACTIONS(1336), + [anon_sym___inline__] = ACTIONS(1336), + [anon_sym___forceinline] = ACTIONS(1336), + [anon_sym_thread_local] = ACTIONS(1336), + [anon_sym___thread] = ACTIONS(1336), + [anon_sym_const] = ACTIONS(1336), + [anon_sym_constexpr] = ACTIONS(1336), + [anon_sym_volatile] = ACTIONS(1336), + [anon_sym_restrict] = ACTIONS(1336), + [anon_sym___restrict__] = ACTIONS(1336), + [anon_sym__Atomic] = ACTIONS(1336), + [anon_sym__Noreturn] = ACTIONS(1336), + [anon_sym_noreturn] = ACTIONS(1336), + [anon_sym__Nonnull] = ACTIONS(1336), + [anon_sym_alignas] = ACTIONS(1336), + [anon_sym__Alignas] = ACTIONS(1336), + [sym_primitive_type] = ACTIONS(1336), + [anon_sym_enum] = ACTIONS(1336), + [anon_sym_struct] = ACTIONS(1336), + [anon_sym_union] = ACTIONS(1336), + [anon_sym_if] = ACTIONS(1336), + [anon_sym_switch] = ACTIONS(1336), + [anon_sym_case] = ACTIONS(1336), + [anon_sym_default] = ACTIONS(1336), + [anon_sym_while] = ACTIONS(1336), + [anon_sym_do] = ACTIONS(1336), + [anon_sym_for] = ACTIONS(1336), + [anon_sym_return] = ACTIONS(1336), + [anon_sym_break] = ACTIONS(1336), + [anon_sym_continue] = ACTIONS(1336), + [anon_sym_goto] = ACTIONS(1336), + [anon_sym_DASH_DASH] = ACTIONS(1338), + [anon_sym_PLUS_PLUS] = ACTIONS(1338), + [anon_sym_sizeof] = ACTIONS(1336), + [anon_sym___alignof__] = ACTIONS(1336), + [anon_sym___alignof] = ACTIONS(1336), + [anon_sym__alignof] = ACTIONS(1336), + [anon_sym_alignof] = ACTIONS(1336), + [anon_sym__Alignof] = ACTIONS(1336), + [anon_sym_offsetof] = ACTIONS(1336), + [anon_sym__Generic] = ACTIONS(1336), + [anon_sym_asm] = ACTIONS(1336), + [anon_sym___asm__] = ACTIONS(1336), + [anon_sym___asm] = ACTIONS(1336), + [sym_number_literal] = ACTIONS(1338), + [anon_sym_L_SQUOTE] = ACTIONS(1338), + [anon_sym_u_SQUOTE] = ACTIONS(1338), + [anon_sym_U_SQUOTE] = ACTIONS(1338), + [anon_sym_u8_SQUOTE] = ACTIONS(1338), + [anon_sym_SQUOTE] = ACTIONS(1338), + [anon_sym_L_DQUOTE] = ACTIONS(1338), + [anon_sym_u_DQUOTE] = ACTIONS(1338), + [anon_sym_U_DQUOTE] = ACTIONS(1338), + [anon_sym_u8_DQUOTE] = ACTIONS(1338), + [anon_sym_DQUOTE] = ACTIONS(1338), + [sym_true] = ACTIONS(1336), + [sym_false] = ACTIONS(1336), + [anon_sym_NULL] = ACTIONS(1336), + [anon_sym_nullptr] = ACTIONS(1336), + [sym_comment] = ACTIONS(3), + }, + [322] = { + [sym_attribute_declaration] = STATE(349), + [sym_compound_statement] = STATE(250), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(253), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [sym_identifier] = ACTIONS(1414), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [323] = { + [ts_builtin_sym_end] = ACTIONS(1282), + [sym_identifier] = ACTIONS(1280), + [aux_sym_preproc_include_token1] = ACTIONS(1280), + [aux_sym_preproc_def_token1] = ACTIONS(1280), + [aux_sym_preproc_if_token1] = ACTIONS(1280), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1280), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1280), + [sym_preproc_directive] = ACTIONS(1280), + [anon_sym_LPAREN2] = ACTIONS(1282), + [anon_sym_BANG] = ACTIONS(1282), + [anon_sym_TILDE] = ACTIONS(1282), + [anon_sym_DASH] = ACTIONS(1280), + [anon_sym_PLUS] = ACTIONS(1280), + [anon_sym_STAR] = ACTIONS(1282), + [anon_sym_AMP] = ACTIONS(1282), + [anon_sym_SEMI] = ACTIONS(1282), + [anon_sym___extension__] = ACTIONS(1280), + [anon_sym_typedef] = ACTIONS(1280), + [anon_sym_extern] = ACTIONS(1280), + [anon_sym___attribute__] = ACTIONS(1280), + [anon_sym___attribute] = ACTIONS(1280), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1282), + [anon_sym___declspec] = ACTIONS(1280), + [anon_sym___cdecl] = ACTIONS(1280), + [anon_sym___clrcall] = ACTIONS(1280), + [anon_sym___stdcall] = ACTIONS(1280), + [anon_sym___fastcall] = ACTIONS(1280), + [anon_sym___thiscall] = ACTIONS(1280), + [anon_sym___vectorcall] = ACTIONS(1280), + [anon_sym_LBRACE] = ACTIONS(1282), + [anon_sym_signed] = ACTIONS(1280), + [anon_sym_unsigned] = ACTIONS(1280), + [anon_sym_long] = ACTIONS(1280), + [anon_sym_short] = ACTIONS(1280), + [anon_sym_static] = ACTIONS(1280), + [anon_sym_auto] = ACTIONS(1280), + [anon_sym_register] = ACTIONS(1280), + [anon_sym_inline] = ACTIONS(1280), + [anon_sym___inline] = ACTIONS(1280), + [anon_sym___inline__] = ACTIONS(1280), + [anon_sym___forceinline] = ACTIONS(1280), + [anon_sym_thread_local] = ACTIONS(1280), + [anon_sym___thread] = ACTIONS(1280), + [anon_sym_const] = ACTIONS(1280), + [anon_sym_constexpr] = ACTIONS(1280), + [anon_sym_volatile] = ACTIONS(1280), + [anon_sym_restrict] = ACTIONS(1280), + [anon_sym___restrict__] = ACTIONS(1280), + [anon_sym__Atomic] = ACTIONS(1280), + [anon_sym__Noreturn] = ACTIONS(1280), + [anon_sym_noreturn] = ACTIONS(1280), + [anon_sym__Nonnull] = ACTIONS(1280), + [anon_sym_alignas] = ACTIONS(1280), + [anon_sym__Alignas] = ACTIONS(1280), + [sym_primitive_type] = ACTIONS(1280), + [anon_sym_enum] = ACTIONS(1280), + [anon_sym_struct] = ACTIONS(1280), + [anon_sym_union] = ACTIONS(1280), + [anon_sym_if] = ACTIONS(1280), + [anon_sym_switch] = ACTIONS(1280), + [anon_sym_case] = ACTIONS(1280), + [anon_sym_default] = ACTIONS(1280), + [anon_sym_while] = ACTIONS(1280), + [anon_sym_do] = ACTIONS(1280), + [anon_sym_for] = ACTIONS(1280), + [anon_sym_return] = ACTIONS(1280), + [anon_sym_break] = ACTIONS(1280), + [anon_sym_continue] = ACTIONS(1280), + [anon_sym_goto] = ACTIONS(1280), + [anon_sym_DASH_DASH] = ACTIONS(1282), + [anon_sym_PLUS_PLUS] = ACTIONS(1282), + [anon_sym_sizeof] = ACTIONS(1280), + [anon_sym___alignof__] = ACTIONS(1280), + [anon_sym___alignof] = ACTIONS(1280), + [anon_sym__alignof] = ACTIONS(1280), + [anon_sym_alignof] = ACTIONS(1280), + [anon_sym__Alignof] = ACTIONS(1280), + [anon_sym_offsetof] = ACTIONS(1280), + [anon_sym__Generic] = ACTIONS(1280), + [anon_sym_asm] = ACTIONS(1280), + [anon_sym___asm__] = ACTIONS(1280), + [anon_sym___asm] = ACTIONS(1280), + [sym_number_literal] = ACTIONS(1282), + [anon_sym_L_SQUOTE] = ACTIONS(1282), + [anon_sym_u_SQUOTE] = ACTIONS(1282), + [anon_sym_U_SQUOTE] = ACTIONS(1282), + [anon_sym_u8_SQUOTE] = ACTIONS(1282), + [anon_sym_SQUOTE] = ACTIONS(1282), + [anon_sym_L_DQUOTE] = ACTIONS(1282), + [anon_sym_u_DQUOTE] = ACTIONS(1282), + [anon_sym_U_DQUOTE] = ACTIONS(1282), + [anon_sym_u8_DQUOTE] = ACTIONS(1282), + [anon_sym_DQUOTE] = ACTIONS(1282), + [sym_true] = ACTIONS(1280), + [sym_false] = ACTIONS(1280), + [anon_sym_NULL] = ACTIONS(1280), + [anon_sym_nullptr] = ACTIONS(1280), + [sym_comment] = ACTIONS(3), + }, + [324] = { + [ts_builtin_sym_end] = ACTIONS(1286), + [sym_identifier] = ACTIONS(1284), + [aux_sym_preproc_include_token1] = ACTIONS(1284), + [aux_sym_preproc_def_token1] = ACTIONS(1284), + [aux_sym_preproc_if_token1] = ACTIONS(1284), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1284), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1284), + [sym_preproc_directive] = ACTIONS(1284), + [anon_sym_LPAREN2] = ACTIONS(1286), + [anon_sym_BANG] = ACTIONS(1286), + [anon_sym_TILDE] = ACTIONS(1286), + [anon_sym_DASH] = ACTIONS(1284), + [anon_sym_PLUS] = ACTIONS(1284), + [anon_sym_STAR] = ACTIONS(1286), + [anon_sym_AMP] = ACTIONS(1286), + [anon_sym_SEMI] = ACTIONS(1286), + [anon_sym___extension__] = ACTIONS(1284), + [anon_sym_typedef] = ACTIONS(1284), + [anon_sym_extern] = ACTIONS(1284), + [anon_sym___attribute__] = ACTIONS(1284), + [anon_sym___attribute] = ACTIONS(1284), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1286), + [anon_sym___declspec] = ACTIONS(1284), + [anon_sym___cdecl] = ACTIONS(1284), + [anon_sym___clrcall] = ACTIONS(1284), + [anon_sym___stdcall] = ACTIONS(1284), + [anon_sym___fastcall] = ACTIONS(1284), + [anon_sym___thiscall] = ACTIONS(1284), + [anon_sym___vectorcall] = ACTIONS(1284), + [anon_sym_LBRACE] = ACTIONS(1286), + [anon_sym_signed] = ACTIONS(1284), + [anon_sym_unsigned] = ACTIONS(1284), + [anon_sym_long] = ACTIONS(1284), + [anon_sym_short] = ACTIONS(1284), + [anon_sym_static] = ACTIONS(1284), + [anon_sym_auto] = ACTIONS(1284), + [anon_sym_register] = ACTIONS(1284), + [anon_sym_inline] = ACTIONS(1284), + [anon_sym___inline] = ACTIONS(1284), + [anon_sym___inline__] = ACTIONS(1284), + [anon_sym___forceinline] = ACTIONS(1284), + [anon_sym_thread_local] = ACTIONS(1284), + [anon_sym___thread] = ACTIONS(1284), + [anon_sym_const] = ACTIONS(1284), + [anon_sym_constexpr] = ACTIONS(1284), + [anon_sym_volatile] = ACTIONS(1284), + [anon_sym_restrict] = ACTIONS(1284), + [anon_sym___restrict__] = ACTIONS(1284), + [anon_sym__Atomic] = ACTIONS(1284), + [anon_sym__Noreturn] = ACTIONS(1284), + [anon_sym_noreturn] = ACTIONS(1284), + [anon_sym__Nonnull] = ACTIONS(1284), + [anon_sym_alignas] = ACTIONS(1284), + [anon_sym__Alignas] = ACTIONS(1284), + [sym_primitive_type] = ACTIONS(1284), + [anon_sym_enum] = ACTIONS(1284), + [anon_sym_struct] = ACTIONS(1284), + [anon_sym_union] = ACTIONS(1284), + [anon_sym_if] = ACTIONS(1284), + [anon_sym_switch] = ACTIONS(1284), + [anon_sym_case] = ACTIONS(1284), + [anon_sym_default] = ACTIONS(1284), + [anon_sym_while] = ACTIONS(1284), + [anon_sym_do] = ACTIONS(1284), + [anon_sym_for] = ACTIONS(1284), + [anon_sym_return] = ACTIONS(1284), + [anon_sym_break] = ACTIONS(1284), + [anon_sym_continue] = ACTIONS(1284), + [anon_sym_goto] = ACTIONS(1284), + [anon_sym_DASH_DASH] = ACTIONS(1286), + [anon_sym_PLUS_PLUS] = ACTIONS(1286), + [anon_sym_sizeof] = ACTIONS(1284), + [anon_sym___alignof__] = ACTIONS(1284), + [anon_sym___alignof] = ACTIONS(1284), + [anon_sym__alignof] = ACTIONS(1284), + [anon_sym_alignof] = ACTIONS(1284), + [anon_sym__Alignof] = ACTIONS(1284), + [anon_sym_offsetof] = ACTIONS(1284), + [anon_sym__Generic] = ACTIONS(1284), + [anon_sym_asm] = ACTIONS(1284), + [anon_sym___asm__] = ACTIONS(1284), + [anon_sym___asm] = ACTIONS(1284), + [sym_number_literal] = ACTIONS(1286), + [anon_sym_L_SQUOTE] = ACTIONS(1286), + [anon_sym_u_SQUOTE] = ACTIONS(1286), + [anon_sym_U_SQUOTE] = ACTIONS(1286), + [anon_sym_u8_SQUOTE] = ACTIONS(1286), + [anon_sym_SQUOTE] = ACTIONS(1286), + [anon_sym_L_DQUOTE] = ACTIONS(1286), + [anon_sym_u_DQUOTE] = ACTIONS(1286), + [anon_sym_U_DQUOTE] = ACTIONS(1286), + [anon_sym_u8_DQUOTE] = ACTIONS(1286), + [anon_sym_DQUOTE] = ACTIONS(1286), + [sym_true] = ACTIONS(1284), + [sym_false] = ACTIONS(1284), + [anon_sym_NULL] = ACTIONS(1284), + [anon_sym_nullptr] = ACTIONS(1284), + [sym_comment] = ACTIONS(3), + }, + [325] = { + [ts_builtin_sym_end] = ACTIONS(1290), + [sym_identifier] = ACTIONS(1288), + [aux_sym_preproc_include_token1] = ACTIONS(1288), + [aux_sym_preproc_def_token1] = ACTIONS(1288), + [aux_sym_preproc_if_token1] = ACTIONS(1288), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1288), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1288), + [sym_preproc_directive] = ACTIONS(1288), + [anon_sym_LPAREN2] = ACTIONS(1290), + [anon_sym_BANG] = ACTIONS(1290), + [anon_sym_TILDE] = ACTIONS(1290), + [anon_sym_DASH] = ACTIONS(1288), + [anon_sym_PLUS] = ACTIONS(1288), + [anon_sym_STAR] = ACTIONS(1290), + [anon_sym_AMP] = ACTIONS(1290), + [anon_sym_SEMI] = ACTIONS(1290), + [anon_sym___extension__] = ACTIONS(1288), + [anon_sym_typedef] = ACTIONS(1288), + [anon_sym_extern] = ACTIONS(1288), + [anon_sym___attribute__] = ACTIONS(1288), + [anon_sym___attribute] = ACTIONS(1288), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1290), + [anon_sym___declspec] = ACTIONS(1288), + [anon_sym___cdecl] = ACTIONS(1288), + [anon_sym___clrcall] = ACTIONS(1288), + [anon_sym___stdcall] = ACTIONS(1288), + [anon_sym___fastcall] = ACTIONS(1288), + [anon_sym___thiscall] = ACTIONS(1288), + [anon_sym___vectorcall] = ACTIONS(1288), + [anon_sym_LBRACE] = ACTIONS(1290), + [anon_sym_signed] = ACTIONS(1288), + [anon_sym_unsigned] = ACTIONS(1288), + [anon_sym_long] = ACTIONS(1288), + [anon_sym_short] = ACTIONS(1288), + [anon_sym_static] = ACTIONS(1288), + [anon_sym_auto] = ACTIONS(1288), + [anon_sym_register] = ACTIONS(1288), + [anon_sym_inline] = ACTIONS(1288), + [anon_sym___inline] = ACTIONS(1288), + [anon_sym___inline__] = ACTIONS(1288), + [anon_sym___forceinline] = ACTIONS(1288), + [anon_sym_thread_local] = ACTIONS(1288), + [anon_sym___thread] = ACTIONS(1288), + [anon_sym_const] = ACTIONS(1288), + [anon_sym_constexpr] = ACTIONS(1288), + [anon_sym_volatile] = ACTIONS(1288), + [anon_sym_restrict] = ACTIONS(1288), + [anon_sym___restrict__] = ACTIONS(1288), + [anon_sym__Atomic] = ACTIONS(1288), + [anon_sym__Noreturn] = ACTIONS(1288), + [anon_sym_noreturn] = ACTIONS(1288), + [anon_sym__Nonnull] = ACTIONS(1288), + [anon_sym_alignas] = ACTIONS(1288), + [anon_sym__Alignas] = ACTIONS(1288), + [sym_primitive_type] = ACTIONS(1288), + [anon_sym_enum] = ACTIONS(1288), + [anon_sym_struct] = ACTIONS(1288), + [anon_sym_union] = ACTIONS(1288), + [anon_sym_if] = ACTIONS(1288), + [anon_sym_switch] = ACTIONS(1288), + [anon_sym_case] = ACTIONS(1288), + [anon_sym_default] = ACTIONS(1288), + [anon_sym_while] = ACTIONS(1288), + [anon_sym_do] = ACTIONS(1288), + [anon_sym_for] = ACTIONS(1288), + [anon_sym_return] = ACTIONS(1288), + [anon_sym_break] = ACTIONS(1288), + [anon_sym_continue] = ACTIONS(1288), + [anon_sym_goto] = ACTIONS(1288), + [anon_sym_DASH_DASH] = ACTIONS(1290), + [anon_sym_PLUS_PLUS] = ACTIONS(1290), + [anon_sym_sizeof] = ACTIONS(1288), + [anon_sym___alignof__] = ACTIONS(1288), + [anon_sym___alignof] = ACTIONS(1288), + [anon_sym__alignof] = ACTIONS(1288), + [anon_sym_alignof] = ACTIONS(1288), + [anon_sym__Alignof] = ACTIONS(1288), + [anon_sym_offsetof] = ACTIONS(1288), + [anon_sym__Generic] = ACTIONS(1288), + [anon_sym_asm] = ACTIONS(1288), + [anon_sym___asm__] = ACTIONS(1288), + [anon_sym___asm] = ACTIONS(1288), + [sym_number_literal] = ACTIONS(1290), + [anon_sym_L_SQUOTE] = ACTIONS(1290), + [anon_sym_u_SQUOTE] = ACTIONS(1290), + [anon_sym_U_SQUOTE] = ACTIONS(1290), + [anon_sym_u8_SQUOTE] = ACTIONS(1290), + [anon_sym_SQUOTE] = ACTIONS(1290), + [anon_sym_L_DQUOTE] = ACTIONS(1290), + [anon_sym_u_DQUOTE] = ACTIONS(1290), + [anon_sym_U_DQUOTE] = ACTIONS(1290), + [anon_sym_u8_DQUOTE] = ACTIONS(1290), + [anon_sym_DQUOTE] = ACTIONS(1290), + [sym_true] = ACTIONS(1288), + [sym_false] = ACTIONS(1288), + [anon_sym_NULL] = ACTIONS(1288), + [anon_sym_nullptr] = ACTIONS(1288), + [sym_comment] = ACTIONS(3), + }, + [326] = { + [ts_builtin_sym_end] = ACTIONS(1362), + [sym_identifier] = ACTIONS(1360), + [aux_sym_preproc_include_token1] = ACTIONS(1360), + [aux_sym_preproc_def_token1] = ACTIONS(1360), + [aux_sym_preproc_if_token1] = ACTIONS(1360), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1360), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1360), + [sym_preproc_directive] = ACTIONS(1360), + [anon_sym_LPAREN2] = ACTIONS(1362), + [anon_sym_BANG] = ACTIONS(1362), + [anon_sym_TILDE] = ACTIONS(1362), + [anon_sym_DASH] = ACTIONS(1360), + [anon_sym_PLUS] = ACTIONS(1360), + [anon_sym_STAR] = ACTIONS(1362), + [anon_sym_AMP] = ACTIONS(1362), + [anon_sym_SEMI] = ACTIONS(1362), + [anon_sym___extension__] = ACTIONS(1360), + [anon_sym_typedef] = ACTIONS(1360), + [anon_sym_extern] = ACTIONS(1360), + [anon_sym___attribute__] = ACTIONS(1360), + [anon_sym___attribute] = ACTIONS(1360), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1362), + [anon_sym___declspec] = ACTIONS(1360), + [anon_sym___cdecl] = ACTIONS(1360), + [anon_sym___clrcall] = ACTIONS(1360), + [anon_sym___stdcall] = ACTIONS(1360), + [anon_sym___fastcall] = ACTIONS(1360), + [anon_sym___thiscall] = ACTIONS(1360), + [anon_sym___vectorcall] = ACTIONS(1360), + [anon_sym_LBRACE] = ACTIONS(1362), + [anon_sym_signed] = ACTIONS(1360), + [anon_sym_unsigned] = ACTIONS(1360), + [anon_sym_long] = ACTIONS(1360), + [anon_sym_short] = ACTIONS(1360), + [anon_sym_static] = ACTIONS(1360), + [anon_sym_auto] = ACTIONS(1360), + [anon_sym_register] = ACTIONS(1360), + [anon_sym_inline] = ACTIONS(1360), + [anon_sym___inline] = ACTIONS(1360), + [anon_sym___inline__] = ACTIONS(1360), + [anon_sym___forceinline] = ACTIONS(1360), + [anon_sym_thread_local] = ACTIONS(1360), + [anon_sym___thread] = ACTIONS(1360), + [anon_sym_const] = ACTIONS(1360), + [anon_sym_constexpr] = ACTIONS(1360), + [anon_sym_volatile] = ACTIONS(1360), + [anon_sym_restrict] = ACTIONS(1360), + [anon_sym___restrict__] = ACTIONS(1360), + [anon_sym__Atomic] = ACTIONS(1360), + [anon_sym__Noreturn] = ACTIONS(1360), + [anon_sym_noreturn] = ACTIONS(1360), + [anon_sym__Nonnull] = ACTIONS(1360), + [anon_sym_alignas] = ACTIONS(1360), + [anon_sym__Alignas] = ACTIONS(1360), + [sym_primitive_type] = ACTIONS(1360), + [anon_sym_enum] = ACTIONS(1360), + [anon_sym_struct] = ACTIONS(1360), + [anon_sym_union] = ACTIONS(1360), + [anon_sym_if] = ACTIONS(1360), + [anon_sym_switch] = ACTIONS(1360), + [anon_sym_case] = ACTIONS(1360), + [anon_sym_default] = ACTIONS(1360), + [anon_sym_while] = ACTIONS(1360), + [anon_sym_do] = ACTIONS(1360), + [anon_sym_for] = ACTIONS(1360), + [anon_sym_return] = ACTIONS(1360), + [anon_sym_break] = ACTIONS(1360), + [anon_sym_continue] = ACTIONS(1360), + [anon_sym_goto] = ACTIONS(1360), + [anon_sym_DASH_DASH] = ACTIONS(1362), + [anon_sym_PLUS_PLUS] = ACTIONS(1362), + [anon_sym_sizeof] = ACTIONS(1360), + [anon_sym___alignof__] = ACTIONS(1360), + [anon_sym___alignof] = ACTIONS(1360), + [anon_sym__alignof] = ACTIONS(1360), + [anon_sym_alignof] = ACTIONS(1360), + [anon_sym__Alignof] = ACTIONS(1360), + [anon_sym_offsetof] = ACTIONS(1360), + [anon_sym__Generic] = ACTIONS(1360), + [anon_sym_asm] = ACTIONS(1360), + [anon_sym___asm__] = ACTIONS(1360), + [anon_sym___asm] = ACTIONS(1360), + [sym_number_literal] = ACTIONS(1362), + [anon_sym_L_SQUOTE] = ACTIONS(1362), + [anon_sym_u_SQUOTE] = ACTIONS(1362), + [anon_sym_U_SQUOTE] = ACTIONS(1362), + [anon_sym_u8_SQUOTE] = ACTIONS(1362), + [anon_sym_SQUOTE] = ACTIONS(1362), + [anon_sym_L_DQUOTE] = ACTIONS(1362), + [anon_sym_u_DQUOTE] = ACTIONS(1362), + [anon_sym_U_DQUOTE] = ACTIONS(1362), + [anon_sym_u8_DQUOTE] = ACTIONS(1362), + [anon_sym_DQUOTE] = ACTIONS(1362), + [sym_true] = ACTIONS(1360), + [sym_false] = ACTIONS(1360), + [anon_sym_NULL] = ACTIONS(1360), + [anon_sym_nullptr] = ACTIONS(1360), + [sym_comment] = ACTIONS(3), + }, + [327] = { + [sym_attribute_declaration] = STATE(349), + [sym_compound_statement] = STATE(250), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(244), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [sym_identifier] = ACTIONS(1414), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [328] = { + [sym_attribute_declaration] = STATE(375), + [sym_compound_statement] = STATE(159), + [sym_attributed_statement] = STATE(159), + [sym_statement] = STATE(149), + [sym_labeled_statement] = STATE(159), + [sym_expression_statement] = STATE(159), + [sym_if_statement] = STATE(159), + [sym_switch_statement] = STATE(159), + [sym_case_statement] = STATE(159), + [sym_while_statement] = STATE(159), + [sym_do_statement] = STATE(159), + [sym_for_statement] = STATE(159), + [sym_return_statement] = STATE(159), + [sym_break_statement] = STATE(159), + [sym_continue_statement] = STATE(159), + [sym_goto_statement] = STATE(159), + [sym_seh_try_statement] = STATE(159), + [sym_seh_leave_statement] = STATE(159), + [sym_expression] = STATE(1074), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1913), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(375), + [sym_identifier] = ACTIONS(1420), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(929), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_if] = ACTIONS(61), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(65), + [anon_sym_default] = ACTIONS(67), + [anon_sym_while] = ACTIONS(69), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(931), + [anon_sym___leave] = ACTIONS(933), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [329] = { + [ts_builtin_sym_end] = ACTIONS(1378), + [sym_identifier] = ACTIONS(1376), + [aux_sym_preproc_include_token1] = ACTIONS(1376), + [aux_sym_preproc_def_token1] = ACTIONS(1376), + [aux_sym_preproc_if_token1] = ACTIONS(1376), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1376), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1376), + [sym_preproc_directive] = ACTIONS(1376), + [anon_sym_LPAREN2] = ACTIONS(1378), + [anon_sym_BANG] = ACTIONS(1378), + [anon_sym_TILDE] = ACTIONS(1378), + [anon_sym_DASH] = ACTIONS(1376), + [anon_sym_PLUS] = ACTIONS(1376), + [anon_sym_STAR] = ACTIONS(1378), + [anon_sym_AMP] = ACTIONS(1378), + [anon_sym_SEMI] = ACTIONS(1378), + [anon_sym___extension__] = ACTIONS(1376), + [anon_sym_typedef] = ACTIONS(1376), + [anon_sym_extern] = ACTIONS(1376), + [anon_sym___attribute__] = ACTIONS(1376), + [anon_sym___attribute] = ACTIONS(1376), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1378), + [anon_sym___declspec] = ACTIONS(1376), + [anon_sym___cdecl] = ACTIONS(1376), + [anon_sym___clrcall] = ACTIONS(1376), + [anon_sym___stdcall] = ACTIONS(1376), + [anon_sym___fastcall] = ACTIONS(1376), + [anon_sym___thiscall] = ACTIONS(1376), + [anon_sym___vectorcall] = ACTIONS(1376), + [anon_sym_LBRACE] = ACTIONS(1378), + [anon_sym_signed] = ACTIONS(1376), + [anon_sym_unsigned] = ACTIONS(1376), + [anon_sym_long] = ACTIONS(1376), + [anon_sym_short] = ACTIONS(1376), + [anon_sym_static] = ACTIONS(1376), + [anon_sym_auto] = ACTIONS(1376), + [anon_sym_register] = ACTIONS(1376), + [anon_sym_inline] = ACTIONS(1376), + [anon_sym___inline] = ACTIONS(1376), + [anon_sym___inline__] = ACTIONS(1376), + [anon_sym___forceinline] = ACTIONS(1376), + [anon_sym_thread_local] = ACTIONS(1376), + [anon_sym___thread] = ACTIONS(1376), + [anon_sym_const] = ACTIONS(1376), + [anon_sym_constexpr] = ACTIONS(1376), + [anon_sym_volatile] = ACTIONS(1376), + [anon_sym_restrict] = ACTIONS(1376), + [anon_sym___restrict__] = ACTIONS(1376), + [anon_sym__Atomic] = ACTIONS(1376), + [anon_sym__Noreturn] = ACTIONS(1376), + [anon_sym_noreturn] = ACTIONS(1376), + [anon_sym__Nonnull] = ACTIONS(1376), + [anon_sym_alignas] = ACTIONS(1376), + [anon_sym__Alignas] = ACTIONS(1376), + [sym_primitive_type] = ACTIONS(1376), + [anon_sym_enum] = ACTIONS(1376), + [anon_sym_struct] = ACTIONS(1376), + [anon_sym_union] = ACTIONS(1376), + [anon_sym_if] = ACTIONS(1376), + [anon_sym_switch] = ACTIONS(1376), + [anon_sym_case] = ACTIONS(1376), + [anon_sym_default] = ACTIONS(1376), + [anon_sym_while] = ACTIONS(1376), + [anon_sym_do] = ACTIONS(1376), + [anon_sym_for] = ACTIONS(1376), + [anon_sym_return] = ACTIONS(1376), + [anon_sym_break] = ACTIONS(1376), + [anon_sym_continue] = ACTIONS(1376), + [anon_sym_goto] = ACTIONS(1376), + [anon_sym_DASH_DASH] = ACTIONS(1378), + [anon_sym_PLUS_PLUS] = ACTIONS(1378), + [anon_sym_sizeof] = ACTIONS(1376), + [anon_sym___alignof__] = ACTIONS(1376), + [anon_sym___alignof] = ACTIONS(1376), + [anon_sym__alignof] = ACTIONS(1376), + [anon_sym_alignof] = ACTIONS(1376), + [anon_sym__Alignof] = ACTIONS(1376), + [anon_sym_offsetof] = ACTIONS(1376), + [anon_sym__Generic] = ACTIONS(1376), + [anon_sym_asm] = ACTIONS(1376), + [anon_sym___asm__] = ACTIONS(1376), + [anon_sym___asm] = ACTIONS(1376), + [sym_number_literal] = ACTIONS(1378), + [anon_sym_L_SQUOTE] = ACTIONS(1378), + [anon_sym_u_SQUOTE] = ACTIONS(1378), + [anon_sym_U_SQUOTE] = ACTIONS(1378), + [anon_sym_u8_SQUOTE] = ACTIONS(1378), + [anon_sym_SQUOTE] = ACTIONS(1378), + [anon_sym_L_DQUOTE] = ACTIONS(1378), + [anon_sym_u_DQUOTE] = ACTIONS(1378), + [anon_sym_U_DQUOTE] = ACTIONS(1378), + [anon_sym_u8_DQUOTE] = ACTIONS(1378), + [anon_sym_DQUOTE] = ACTIONS(1378), + [sym_true] = ACTIONS(1376), + [sym_false] = ACTIONS(1376), + [anon_sym_NULL] = ACTIONS(1376), + [anon_sym_nullptr] = ACTIONS(1376), + [sym_comment] = ACTIONS(3), + }, + [330] = { + [ts_builtin_sym_end] = ACTIONS(1274), + [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(1274), + [anon_sym_BANG] = ACTIONS(1274), + [anon_sym_TILDE] = ACTIONS(1274), + [anon_sym_DASH] = ACTIONS(1272), + [anon_sym_PLUS] = ACTIONS(1272), + [anon_sym_STAR] = ACTIONS(1274), + [anon_sym_AMP] = ACTIONS(1274), + [anon_sym_SEMI] = ACTIONS(1274), + [anon_sym___extension__] = ACTIONS(1272), + [anon_sym_typedef] = ACTIONS(1272), + [anon_sym_extern] = ACTIONS(1272), + [anon_sym___attribute__] = ACTIONS(1272), + [anon_sym___attribute] = ACTIONS(1272), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1274), + [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(1274), + [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__Nonnull] = 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_DASH_DASH] = ACTIONS(1274), + [anon_sym_PLUS_PLUS] = ACTIONS(1274), + [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), + [anon_sym___asm] = ACTIONS(1272), + [sym_number_literal] = ACTIONS(1274), + [anon_sym_L_SQUOTE] = ACTIONS(1274), + [anon_sym_u_SQUOTE] = ACTIONS(1274), + [anon_sym_U_SQUOTE] = ACTIONS(1274), + [anon_sym_u8_SQUOTE] = ACTIONS(1274), + [anon_sym_SQUOTE] = ACTIONS(1274), + [anon_sym_L_DQUOTE] = ACTIONS(1274), + [anon_sym_u_DQUOTE] = ACTIONS(1274), + [anon_sym_U_DQUOTE] = ACTIONS(1274), + [anon_sym_u8_DQUOTE] = ACTIONS(1274), + [anon_sym_DQUOTE] = ACTIONS(1274), + [sym_true] = ACTIONS(1272), + [sym_false] = ACTIONS(1272), + [anon_sym_NULL] = ACTIONS(1272), + [anon_sym_nullptr] = ACTIONS(1272), + [sym_comment] = ACTIONS(3), + }, + [331] = { + [sym_attribute_declaration] = STATE(361), + [sym_compound_statement] = STATE(250), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(1842), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(361), + [sym_identifier] = ACTIONS(1422), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_if] = ACTIONS(1095), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(1103), + [anon_sym_default] = ACTIONS(1105), + [anon_sym_while] = ACTIONS(1097), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(1099), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(1101), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [332] = { + [ts_builtin_sym_end] = ACTIONS(1278), + [sym_identifier] = ACTIONS(1276), + [aux_sym_preproc_include_token1] = ACTIONS(1276), + [aux_sym_preproc_def_token1] = ACTIONS(1276), + [aux_sym_preproc_if_token1] = ACTIONS(1276), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1276), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1276), + [sym_preproc_directive] = ACTIONS(1276), + [anon_sym_LPAREN2] = ACTIONS(1278), + [anon_sym_BANG] = ACTIONS(1278), + [anon_sym_TILDE] = ACTIONS(1278), + [anon_sym_DASH] = ACTIONS(1276), + [anon_sym_PLUS] = ACTIONS(1276), + [anon_sym_STAR] = ACTIONS(1278), + [anon_sym_AMP] = ACTIONS(1278), + [anon_sym_SEMI] = ACTIONS(1278), + [anon_sym___extension__] = ACTIONS(1276), + [anon_sym_typedef] = ACTIONS(1276), + [anon_sym_extern] = ACTIONS(1276), + [anon_sym___attribute__] = ACTIONS(1276), + [anon_sym___attribute] = ACTIONS(1276), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1278), + [anon_sym___declspec] = ACTIONS(1276), + [anon_sym___cdecl] = ACTIONS(1276), + [anon_sym___clrcall] = ACTIONS(1276), + [anon_sym___stdcall] = ACTIONS(1276), + [anon_sym___fastcall] = ACTIONS(1276), + [anon_sym___thiscall] = ACTIONS(1276), + [anon_sym___vectorcall] = ACTIONS(1276), + [anon_sym_LBRACE] = ACTIONS(1278), + [anon_sym_signed] = ACTIONS(1276), + [anon_sym_unsigned] = ACTIONS(1276), + [anon_sym_long] = ACTIONS(1276), + [anon_sym_short] = ACTIONS(1276), + [anon_sym_static] = ACTIONS(1276), + [anon_sym_auto] = ACTIONS(1276), + [anon_sym_register] = ACTIONS(1276), + [anon_sym_inline] = ACTIONS(1276), + [anon_sym___inline] = ACTIONS(1276), + [anon_sym___inline__] = ACTIONS(1276), + [anon_sym___forceinline] = ACTIONS(1276), + [anon_sym_thread_local] = ACTIONS(1276), + [anon_sym___thread] = ACTIONS(1276), + [anon_sym_const] = ACTIONS(1276), + [anon_sym_constexpr] = ACTIONS(1276), + [anon_sym_volatile] = ACTIONS(1276), + [anon_sym_restrict] = ACTIONS(1276), + [anon_sym___restrict__] = ACTIONS(1276), + [anon_sym__Atomic] = ACTIONS(1276), + [anon_sym__Noreturn] = ACTIONS(1276), + [anon_sym_noreturn] = ACTIONS(1276), + [anon_sym__Nonnull] = ACTIONS(1276), + [anon_sym_alignas] = ACTIONS(1276), + [anon_sym__Alignas] = ACTIONS(1276), + [sym_primitive_type] = ACTIONS(1276), + [anon_sym_enum] = ACTIONS(1276), + [anon_sym_struct] = ACTIONS(1276), + [anon_sym_union] = ACTIONS(1276), + [anon_sym_if] = ACTIONS(1276), + [anon_sym_switch] = ACTIONS(1276), + [anon_sym_case] = ACTIONS(1276), + [anon_sym_default] = ACTIONS(1276), + [anon_sym_while] = ACTIONS(1276), + [anon_sym_do] = ACTIONS(1276), + [anon_sym_for] = ACTIONS(1276), + [anon_sym_return] = ACTIONS(1276), + [anon_sym_break] = ACTIONS(1276), + [anon_sym_continue] = ACTIONS(1276), + [anon_sym_goto] = ACTIONS(1276), + [anon_sym_DASH_DASH] = ACTIONS(1278), + [anon_sym_PLUS_PLUS] = ACTIONS(1278), + [anon_sym_sizeof] = ACTIONS(1276), + [anon_sym___alignof__] = ACTIONS(1276), + [anon_sym___alignof] = ACTIONS(1276), + [anon_sym__alignof] = ACTIONS(1276), + [anon_sym_alignof] = ACTIONS(1276), + [anon_sym__Alignof] = ACTIONS(1276), + [anon_sym_offsetof] = ACTIONS(1276), + [anon_sym__Generic] = ACTIONS(1276), + [anon_sym_asm] = ACTIONS(1276), + [anon_sym___asm__] = ACTIONS(1276), + [anon_sym___asm] = ACTIONS(1276), + [sym_number_literal] = ACTIONS(1278), + [anon_sym_L_SQUOTE] = ACTIONS(1278), + [anon_sym_u_SQUOTE] = ACTIONS(1278), + [anon_sym_U_SQUOTE] = ACTIONS(1278), + [anon_sym_u8_SQUOTE] = ACTIONS(1278), + [anon_sym_SQUOTE] = ACTIONS(1278), + [anon_sym_L_DQUOTE] = ACTIONS(1278), + [anon_sym_u_DQUOTE] = ACTIONS(1278), + [anon_sym_U_DQUOTE] = ACTIONS(1278), + [anon_sym_u8_DQUOTE] = ACTIONS(1278), + [anon_sym_DQUOTE] = ACTIONS(1278), + [sym_true] = ACTIONS(1276), + [sym_false] = ACTIONS(1276), + [anon_sym_NULL] = ACTIONS(1276), + [anon_sym_nullptr] = ACTIONS(1276), + [sym_comment] = ACTIONS(3), + }, + [333] = { + [sym_attribute_declaration] = STATE(333), + [sym_compound_statement] = STATE(250), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(167), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(333), + [sym_identifier] = ACTIONS(1424), + [anon_sym_LPAREN2] = ACTIONS(1427), + [anon_sym_BANG] = ACTIONS(1430), + [anon_sym_TILDE] = ACTIONS(1430), + [anon_sym_DASH] = ACTIONS(1433), + [anon_sym_PLUS] = ACTIONS(1433), + [anon_sym_STAR] = ACTIONS(1436), + [anon_sym_AMP] = ACTIONS(1436), + [anon_sym_SEMI] = ACTIONS(1439), + [anon_sym___extension__] = ACTIONS(1442), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1445), + [anon_sym_LBRACE] = ACTIONS(1448), + [anon_sym_if] = ACTIONS(1451), + [anon_sym_switch] = ACTIONS(1454), + [anon_sym_case] = ACTIONS(1457), + [anon_sym_default] = ACTIONS(1460), + [anon_sym_while] = ACTIONS(1463), + [anon_sym_do] = ACTIONS(1466), + [anon_sym_for] = ACTIONS(1469), + [anon_sym_return] = ACTIONS(1472), + [anon_sym_break] = ACTIONS(1475), + [anon_sym_continue] = ACTIONS(1478), + [anon_sym_goto] = ACTIONS(1481), + [anon_sym___try] = ACTIONS(1484), + [anon_sym___leave] = ACTIONS(1487), + [anon_sym_DASH_DASH] = ACTIONS(1490), + [anon_sym_PLUS_PLUS] = ACTIONS(1490), + [anon_sym_sizeof] = ACTIONS(1493), + [anon_sym___alignof__] = ACTIONS(1496), + [anon_sym___alignof] = ACTIONS(1496), + [anon_sym__alignof] = ACTIONS(1496), + [anon_sym_alignof] = ACTIONS(1496), + [anon_sym__Alignof] = ACTIONS(1496), + [anon_sym_offsetof] = ACTIONS(1499), + [anon_sym__Generic] = ACTIONS(1502), + [anon_sym_asm] = ACTIONS(1505), + [anon_sym___asm__] = ACTIONS(1505), + [anon_sym___asm] = ACTIONS(1505), + [sym_number_literal] = ACTIONS(1508), + [anon_sym_L_SQUOTE] = ACTIONS(1511), + [anon_sym_u_SQUOTE] = ACTIONS(1511), + [anon_sym_U_SQUOTE] = ACTIONS(1511), + [anon_sym_u8_SQUOTE] = ACTIONS(1511), + [anon_sym_SQUOTE] = ACTIONS(1511), + [anon_sym_L_DQUOTE] = ACTIONS(1514), + [anon_sym_u_DQUOTE] = ACTIONS(1514), + [anon_sym_U_DQUOTE] = ACTIONS(1514), + [anon_sym_u8_DQUOTE] = ACTIONS(1514), + [anon_sym_DQUOTE] = ACTIONS(1514), + [sym_true] = ACTIONS(1517), + [sym_false] = ACTIONS(1517), + [anon_sym_NULL] = ACTIONS(1520), + [anon_sym_nullptr] = ACTIONS(1520), + [sym_comment] = ACTIONS(3), + }, + [334] = { + [sym_attribute_declaration] = STATE(375), + [sym_compound_statement] = STATE(159), + [sym_attributed_statement] = STATE(159), + [sym_statement] = STATE(224), + [sym_labeled_statement] = STATE(159), + [sym_expression_statement] = STATE(159), + [sym_if_statement] = STATE(159), + [sym_switch_statement] = STATE(159), + [sym_case_statement] = STATE(159), + [sym_while_statement] = STATE(159), + [sym_do_statement] = STATE(159), + [sym_for_statement] = STATE(159), + [sym_return_statement] = STATE(159), + [sym_break_statement] = STATE(159), + [sym_continue_statement] = STATE(159), + [sym_goto_statement] = STATE(159), + [sym_seh_try_statement] = STATE(159), + [sym_seh_leave_statement] = STATE(159), + [sym_expression] = STATE(1074), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1913), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(375), + [sym_identifier] = ACTIONS(1420), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(929), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_if] = ACTIONS(61), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(65), + [anon_sym_default] = ACTIONS(67), + [anon_sym_while] = ACTIONS(69), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(931), + [anon_sym___leave] = ACTIONS(933), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [335] = { + [ts_builtin_sym_end] = ACTIONS(1294), + [sym_identifier] = ACTIONS(1292), + [aux_sym_preproc_include_token1] = ACTIONS(1292), + [aux_sym_preproc_def_token1] = ACTIONS(1292), + [aux_sym_preproc_if_token1] = ACTIONS(1292), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1292), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1292), + [sym_preproc_directive] = ACTIONS(1292), + [anon_sym_LPAREN2] = ACTIONS(1294), + [anon_sym_BANG] = ACTIONS(1294), + [anon_sym_TILDE] = ACTIONS(1294), + [anon_sym_DASH] = ACTIONS(1292), + [anon_sym_PLUS] = ACTIONS(1292), + [anon_sym_STAR] = ACTIONS(1294), + [anon_sym_AMP] = ACTIONS(1294), + [anon_sym_SEMI] = ACTIONS(1294), + [anon_sym___extension__] = ACTIONS(1292), + [anon_sym_typedef] = ACTIONS(1292), + [anon_sym_extern] = ACTIONS(1292), + [anon_sym___attribute__] = ACTIONS(1292), + [anon_sym___attribute] = ACTIONS(1292), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1294), + [anon_sym___declspec] = ACTIONS(1292), + [anon_sym___cdecl] = ACTIONS(1292), + [anon_sym___clrcall] = ACTIONS(1292), + [anon_sym___stdcall] = ACTIONS(1292), + [anon_sym___fastcall] = ACTIONS(1292), + [anon_sym___thiscall] = ACTIONS(1292), + [anon_sym___vectorcall] = ACTIONS(1292), + [anon_sym_LBRACE] = ACTIONS(1294), + [anon_sym_signed] = ACTIONS(1292), + [anon_sym_unsigned] = ACTIONS(1292), + [anon_sym_long] = ACTIONS(1292), + [anon_sym_short] = ACTIONS(1292), + [anon_sym_static] = ACTIONS(1292), + [anon_sym_auto] = ACTIONS(1292), + [anon_sym_register] = ACTIONS(1292), + [anon_sym_inline] = ACTIONS(1292), + [anon_sym___inline] = ACTIONS(1292), + [anon_sym___inline__] = ACTIONS(1292), + [anon_sym___forceinline] = ACTIONS(1292), + [anon_sym_thread_local] = ACTIONS(1292), + [anon_sym___thread] = ACTIONS(1292), + [anon_sym_const] = ACTIONS(1292), + [anon_sym_constexpr] = ACTIONS(1292), + [anon_sym_volatile] = ACTIONS(1292), + [anon_sym_restrict] = ACTIONS(1292), + [anon_sym___restrict__] = ACTIONS(1292), + [anon_sym__Atomic] = ACTIONS(1292), + [anon_sym__Noreturn] = ACTIONS(1292), + [anon_sym_noreturn] = ACTIONS(1292), + [anon_sym__Nonnull] = ACTIONS(1292), + [anon_sym_alignas] = ACTIONS(1292), + [anon_sym__Alignas] = ACTIONS(1292), + [sym_primitive_type] = ACTIONS(1292), + [anon_sym_enum] = ACTIONS(1292), + [anon_sym_struct] = ACTIONS(1292), + [anon_sym_union] = ACTIONS(1292), + [anon_sym_if] = ACTIONS(1292), + [anon_sym_switch] = ACTIONS(1292), + [anon_sym_case] = ACTIONS(1292), + [anon_sym_default] = ACTIONS(1292), + [anon_sym_while] = ACTIONS(1292), + [anon_sym_do] = ACTIONS(1292), + [anon_sym_for] = ACTIONS(1292), + [anon_sym_return] = ACTIONS(1292), + [anon_sym_break] = ACTIONS(1292), + [anon_sym_continue] = ACTIONS(1292), + [anon_sym_goto] = ACTIONS(1292), + [anon_sym_DASH_DASH] = ACTIONS(1294), + [anon_sym_PLUS_PLUS] = ACTIONS(1294), + [anon_sym_sizeof] = ACTIONS(1292), + [anon_sym___alignof__] = ACTIONS(1292), + [anon_sym___alignof] = ACTIONS(1292), + [anon_sym__alignof] = ACTIONS(1292), + [anon_sym_alignof] = ACTIONS(1292), + [anon_sym__Alignof] = ACTIONS(1292), + [anon_sym_offsetof] = ACTIONS(1292), + [anon_sym__Generic] = ACTIONS(1292), + [anon_sym_asm] = ACTIONS(1292), + [anon_sym___asm__] = ACTIONS(1292), + [anon_sym___asm] = ACTIONS(1292), + [sym_number_literal] = ACTIONS(1294), + [anon_sym_L_SQUOTE] = ACTIONS(1294), + [anon_sym_u_SQUOTE] = ACTIONS(1294), + [anon_sym_U_SQUOTE] = ACTIONS(1294), + [anon_sym_u8_SQUOTE] = ACTIONS(1294), + [anon_sym_SQUOTE] = ACTIONS(1294), + [anon_sym_L_DQUOTE] = ACTIONS(1294), + [anon_sym_u_DQUOTE] = ACTIONS(1294), + [anon_sym_U_DQUOTE] = ACTIONS(1294), + [anon_sym_u8_DQUOTE] = ACTIONS(1294), + [anon_sym_DQUOTE] = ACTIONS(1294), + [sym_true] = ACTIONS(1292), + [sym_false] = ACTIONS(1292), + [anon_sym_NULL] = ACTIONS(1292), + [anon_sym_nullptr] = ACTIONS(1292), + [sym_comment] = ACTIONS(3), + }, + [336] = { + [ts_builtin_sym_end] = ACTIONS(1302), + [sym_identifier] = ACTIONS(1300), + [aux_sym_preproc_include_token1] = ACTIONS(1300), + [aux_sym_preproc_def_token1] = ACTIONS(1300), + [aux_sym_preproc_if_token1] = ACTIONS(1300), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1300), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1300), + [sym_preproc_directive] = ACTIONS(1300), + [anon_sym_LPAREN2] = ACTIONS(1302), + [anon_sym_BANG] = ACTIONS(1302), + [anon_sym_TILDE] = ACTIONS(1302), + [anon_sym_DASH] = ACTIONS(1300), + [anon_sym_PLUS] = ACTIONS(1300), + [anon_sym_STAR] = ACTIONS(1302), + [anon_sym_AMP] = ACTIONS(1302), + [anon_sym_SEMI] = ACTIONS(1302), + [anon_sym___extension__] = ACTIONS(1300), + [anon_sym_typedef] = ACTIONS(1300), + [anon_sym_extern] = ACTIONS(1300), + [anon_sym___attribute__] = ACTIONS(1300), + [anon_sym___attribute] = ACTIONS(1300), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1302), + [anon_sym___declspec] = ACTIONS(1300), + [anon_sym___cdecl] = ACTIONS(1300), + [anon_sym___clrcall] = ACTIONS(1300), + [anon_sym___stdcall] = ACTIONS(1300), + [anon_sym___fastcall] = ACTIONS(1300), + [anon_sym___thiscall] = ACTIONS(1300), + [anon_sym___vectorcall] = ACTIONS(1300), + [anon_sym_LBRACE] = ACTIONS(1302), + [anon_sym_signed] = ACTIONS(1300), + [anon_sym_unsigned] = ACTIONS(1300), + [anon_sym_long] = ACTIONS(1300), + [anon_sym_short] = ACTIONS(1300), + [anon_sym_static] = ACTIONS(1300), + [anon_sym_auto] = ACTIONS(1300), + [anon_sym_register] = ACTIONS(1300), + [anon_sym_inline] = ACTIONS(1300), + [anon_sym___inline] = ACTIONS(1300), + [anon_sym___inline__] = ACTIONS(1300), + [anon_sym___forceinline] = ACTIONS(1300), + [anon_sym_thread_local] = ACTIONS(1300), + [anon_sym___thread] = ACTIONS(1300), + [anon_sym_const] = ACTIONS(1300), + [anon_sym_constexpr] = ACTIONS(1300), + [anon_sym_volatile] = ACTIONS(1300), + [anon_sym_restrict] = ACTIONS(1300), + [anon_sym___restrict__] = ACTIONS(1300), + [anon_sym__Atomic] = ACTIONS(1300), + [anon_sym__Noreturn] = ACTIONS(1300), + [anon_sym_noreturn] = ACTIONS(1300), + [anon_sym__Nonnull] = ACTIONS(1300), + [anon_sym_alignas] = ACTIONS(1300), + [anon_sym__Alignas] = ACTIONS(1300), + [sym_primitive_type] = ACTIONS(1300), + [anon_sym_enum] = ACTIONS(1300), + [anon_sym_struct] = ACTIONS(1300), + [anon_sym_union] = ACTIONS(1300), + [anon_sym_if] = ACTIONS(1300), + [anon_sym_switch] = ACTIONS(1300), + [anon_sym_case] = ACTIONS(1300), + [anon_sym_default] = ACTIONS(1300), + [anon_sym_while] = ACTIONS(1300), + [anon_sym_do] = ACTIONS(1300), + [anon_sym_for] = ACTIONS(1300), + [anon_sym_return] = ACTIONS(1300), + [anon_sym_break] = ACTIONS(1300), + [anon_sym_continue] = ACTIONS(1300), + [anon_sym_goto] = ACTIONS(1300), + [anon_sym_DASH_DASH] = ACTIONS(1302), + [anon_sym_PLUS_PLUS] = ACTIONS(1302), + [anon_sym_sizeof] = ACTIONS(1300), + [anon_sym___alignof__] = ACTIONS(1300), + [anon_sym___alignof] = ACTIONS(1300), + [anon_sym__alignof] = ACTIONS(1300), + [anon_sym_alignof] = ACTIONS(1300), + [anon_sym__Alignof] = ACTIONS(1300), + [anon_sym_offsetof] = ACTIONS(1300), + [anon_sym__Generic] = ACTIONS(1300), + [anon_sym_asm] = ACTIONS(1300), + [anon_sym___asm__] = ACTIONS(1300), + [anon_sym___asm] = ACTIONS(1300), + [sym_number_literal] = ACTIONS(1302), + [anon_sym_L_SQUOTE] = ACTIONS(1302), + [anon_sym_u_SQUOTE] = ACTIONS(1302), + [anon_sym_U_SQUOTE] = ACTIONS(1302), + [anon_sym_u8_SQUOTE] = ACTIONS(1302), + [anon_sym_SQUOTE] = ACTIONS(1302), + [anon_sym_L_DQUOTE] = ACTIONS(1302), + [anon_sym_u_DQUOTE] = ACTIONS(1302), + [anon_sym_U_DQUOTE] = ACTIONS(1302), + [anon_sym_u8_DQUOTE] = ACTIONS(1302), + [anon_sym_DQUOTE] = ACTIONS(1302), + [sym_true] = ACTIONS(1300), + [sym_false] = ACTIONS(1300), + [anon_sym_NULL] = ACTIONS(1300), + [anon_sym_nullptr] = ACTIONS(1300), + [sym_comment] = ACTIONS(3), + }, + [337] = { + [ts_builtin_sym_end] = ACTIONS(1342), + [sym_identifier] = ACTIONS(1340), + [aux_sym_preproc_include_token1] = ACTIONS(1340), + [aux_sym_preproc_def_token1] = ACTIONS(1340), + [aux_sym_preproc_if_token1] = ACTIONS(1340), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1340), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1340), + [sym_preproc_directive] = ACTIONS(1340), + [anon_sym_LPAREN2] = ACTIONS(1342), + [anon_sym_BANG] = ACTIONS(1342), + [anon_sym_TILDE] = ACTIONS(1342), + [anon_sym_DASH] = ACTIONS(1340), + [anon_sym_PLUS] = ACTIONS(1340), + [anon_sym_STAR] = ACTIONS(1342), + [anon_sym_AMP] = ACTIONS(1342), + [anon_sym_SEMI] = ACTIONS(1342), + [anon_sym___extension__] = ACTIONS(1340), + [anon_sym_typedef] = ACTIONS(1340), + [anon_sym_extern] = ACTIONS(1340), + [anon_sym___attribute__] = ACTIONS(1340), + [anon_sym___attribute] = ACTIONS(1340), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1342), + [anon_sym___declspec] = ACTIONS(1340), + [anon_sym___cdecl] = ACTIONS(1340), + [anon_sym___clrcall] = ACTIONS(1340), + [anon_sym___stdcall] = ACTIONS(1340), + [anon_sym___fastcall] = ACTIONS(1340), + [anon_sym___thiscall] = ACTIONS(1340), + [anon_sym___vectorcall] = ACTIONS(1340), + [anon_sym_LBRACE] = ACTIONS(1342), + [anon_sym_signed] = ACTIONS(1340), + [anon_sym_unsigned] = ACTIONS(1340), + [anon_sym_long] = ACTIONS(1340), + [anon_sym_short] = ACTIONS(1340), + [anon_sym_static] = ACTIONS(1340), + [anon_sym_auto] = ACTIONS(1340), + [anon_sym_register] = ACTIONS(1340), + [anon_sym_inline] = ACTIONS(1340), + [anon_sym___inline] = ACTIONS(1340), + [anon_sym___inline__] = ACTIONS(1340), + [anon_sym___forceinline] = ACTIONS(1340), + [anon_sym_thread_local] = ACTIONS(1340), + [anon_sym___thread] = ACTIONS(1340), + [anon_sym_const] = ACTIONS(1340), + [anon_sym_constexpr] = ACTIONS(1340), + [anon_sym_volatile] = ACTIONS(1340), + [anon_sym_restrict] = ACTIONS(1340), + [anon_sym___restrict__] = ACTIONS(1340), + [anon_sym__Atomic] = ACTIONS(1340), + [anon_sym__Noreturn] = ACTIONS(1340), + [anon_sym_noreturn] = ACTIONS(1340), + [anon_sym__Nonnull] = ACTIONS(1340), + [anon_sym_alignas] = ACTIONS(1340), + [anon_sym__Alignas] = ACTIONS(1340), + [sym_primitive_type] = ACTIONS(1340), + [anon_sym_enum] = ACTIONS(1340), + [anon_sym_struct] = ACTIONS(1340), + [anon_sym_union] = ACTIONS(1340), + [anon_sym_if] = ACTIONS(1340), + [anon_sym_switch] = ACTIONS(1340), + [anon_sym_case] = ACTIONS(1340), + [anon_sym_default] = ACTIONS(1340), + [anon_sym_while] = ACTIONS(1340), + [anon_sym_do] = ACTIONS(1340), + [anon_sym_for] = ACTIONS(1340), + [anon_sym_return] = ACTIONS(1340), + [anon_sym_break] = ACTIONS(1340), + [anon_sym_continue] = ACTIONS(1340), + [anon_sym_goto] = ACTIONS(1340), + [anon_sym_DASH_DASH] = ACTIONS(1342), + [anon_sym_PLUS_PLUS] = ACTIONS(1342), + [anon_sym_sizeof] = ACTIONS(1340), + [anon_sym___alignof__] = ACTIONS(1340), + [anon_sym___alignof] = ACTIONS(1340), + [anon_sym__alignof] = ACTIONS(1340), + [anon_sym_alignof] = ACTIONS(1340), + [anon_sym__Alignof] = ACTIONS(1340), + [anon_sym_offsetof] = ACTIONS(1340), + [anon_sym__Generic] = ACTIONS(1340), + [anon_sym_asm] = ACTIONS(1340), + [anon_sym___asm__] = ACTIONS(1340), + [anon_sym___asm] = ACTIONS(1340), + [sym_number_literal] = ACTIONS(1342), + [anon_sym_L_SQUOTE] = ACTIONS(1342), + [anon_sym_u_SQUOTE] = ACTIONS(1342), + [anon_sym_U_SQUOTE] = ACTIONS(1342), + [anon_sym_u8_SQUOTE] = ACTIONS(1342), + [anon_sym_SQUOTE] = ACTIONS(1342), + [anon_sym_L_DQUOTE] = ACTIONS(1342), + [anon_sym_u_DQUOTE] = ACTIONS(1342), + [anon_sym_U_DQUOTE] = ACTIONS(1342), + [anon_sym_u8_DQUOTE] = ACTIONS(1342), + [anon_sym_DQUOTE] = ACTIONS(1342), + [sym_true] = ACTIONS(1340), + [sym_false] = ACTIONS(1340), + [anon_sym_NULL] = ACTIONS(1340), + [anon_sym_nullptr] = ACTIONS(1340), + [sym_comment] = ACTIONS(3), + }, + [338] = { + [ts_builtin_sym_end] = ACTIONS(1523), + [sym_identifier] = ACTIONS(1525), + [aux_sym_preproc_include_token1] = ACTIONS(1525), + [aux_sym_preproc_def_token1] = ACTIONS(1525), + [aux_sym_preproc_if_token1] = ACTIONS(1525), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1525), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1525), + [sym_preproc_directive] = ACTIONS(1525), + [anon_sym_LPAREN2] = ACTIONS(1523), + [anon_sym_BANG] = ACTIONS(1523), + [anon_sym_TILDE] = ACTIONS(1523), + [anon_sym_DASH] = ACTIONS(1525), + [anon_sym_PLUS] = ACTIONS(1525), + [anon_sym_STAR] = ACTIONS(1523), + [anon_sym_AMP] = ACTIONS(1523), + [anon_sym_SEMI] = ACTIONS(1523), + [anon_sym___extension__] = ACTIONS(1525), + [anon_sym_typedef] = ACTIONS(1525), + [anon_sym_extern] = ACTIONS(1525), + [anon_sym___attribute__] = ACTIONS(1525), + [anon_sym___attribute] = ACTIONS(1525), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1523), + [anon_sym___declspec] = ACTIONS(1525), + [anon_sym___cdecl] = ACTIONS(1525), + [anon_sym___clrcall] = ACTIONS(1525), + [anon_sym___stdcall] = ACTIONS(1525), + [anon_sym___fastcall] = ACTIONS(1525), + [anon_sym___thiscall] = ACTIONS(1525), + [anon_sym___vectorcall] = ACTIONS(1525), + [anon_sym_LBRACE] = ACTIONS(1523), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [anon_sym_static] = ACTIONS(1525), + [anon_sym_auto] = ACTIONS(1525), + [anon_sym_register] = ACTIONS(1525), + [anon_sym_inline] = ACTIONS(1525), + [anon_sym___inline] = ACTIONS(1525), + [anon_sym___inline__] = ACTIONS(1525), + [anon_sym___forceinline] = ACTIONS(1525), + [anon_sym_thread_local] = ACTIONS(1525), + [anon_sym___thread] = ACTIONS(1525), + [anon_sym_const] = ACTIONS(1525), + [anon_sym_constexpr] = ACTIONS(1525), + [anon_sym_volatile] = ACTIONS(1525), + [anon_sym_restrict] = ACTIONS(1525), + [anon_sym___restrict__] = ACTIONS(1525), + [anon_sym__Atomic] = ACTIONS(1525), + [anon_sym__Noreturn] = ACTIONS(1525), + [anon_sym_noreturn] = ACTIONS(1525), + [anon_sym__Nonnull] = ACTIONS(1525), + [anon_sym_alignas] = ACTIONS(1525), + [anon_sym__Alignas] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1525), + [anon_sym_enum] = ACTIONS(1525), + [anon_sym_struct] = ACTIONS(1525), + [anon_sym_union] = ACTIONS(1525), + [anon_sym_if] = ACTIONS(1525), + [anon_sym_switch] = ACTIONS(1525), + [anon_sym_case] = ACTIONS(1525), + [anon_sym_default] = ACTIONS(1525), + [anon_sym_while] = ACTIONS(1525), + [anon_sym_do] = ACTIONS(1525), + [anon_sym_for] = ACTIONS(1525), + [anon_sym_return] = ACTIONS(1525), + [anon_sym_break] = ACTIONS(1525), + [anon_sym_continue] = ACTIONS(1525), + [anon_sym_goto] = ACTIONS(1525), + [anon_sym_DASH_DASH] = ACTIONS(1523), + [anon_sym_PLUS_PLUS] = ACTIONS(1523), + [anon_sym_sizeof] = ACTIONS(1525), + [anon_sym___alignof__] = ACTIONS(1525), + [anon_sym___alignof] = ACTIONS(1525), + [anon_sym__alignof] = ACTIONS(1525), + [anon_sym_alignof] = ACTIONS(1525), + [anon_sym__Alignof] = ACTIONS(1525), + [anon_sym_offsetof] = ACTIONS(1525), + [anon_sym__Generic] = ACTIONS(1525), + [anon_sym_asm] = ACTIONS(1525), + [anon_sym___asm__] = ACTIONS(1525), + [anon_sym___asm] = ACTIONS(1525), + [sym_number_literal] = ACTIONS(1523), + [anon_sym_L_SQUOTE] = ACTIONS(1523), + [anon_sym_u_SQUOTE] = ACTIONS(1523), + [anon_sym_U_SQUOTE] = ACTIONS(1523), + [anon_sym_u8_SQUOTE] = ACTIONS(1523), + [anon_sym_SQUOTE] = ACTIONS(1523), + [anon_sym_L_DQUOTE] = ACTIONS(1523), + [anon_sym_u_DQUOTE] = ACTIONS(1523), + [anon_sym_U_DQUOTE] = ACTIONS(1523), + [anon_sym_u8_DQUOTE] = ACTIONS(1523), + [anon_sym_DQUOTE] = ACTIONS(1523), + [sym_true] = ACTIONS(1525), + [sym_false] = ACTIONS(1525), + [anon_sym_NULL] = ACTIONS(1525), + [anon_sym_nullptr] = ACTIONS(1525), + [sym_comment] = ACTIONS(3), + }, + [339] = { + [sym_attribute_declaration] = STATE(375), + [sym_compound_statement] = STATE(159), + [sym_attributed_statement] = STATE(159), + [sym_statement] = STATE(172), + [sym_labeled_statement] = STATE(159), + [sym_expression_statement] = STATE(159), + [sym_if_statement] = STATE(159), + [sym_switch_statement] = STATE(159), + [sym_case_statement] = STATE(159), + [sym_while_statement] = STATE(159), + [sym_do_statement] = STATE(159), + [sym_for_statement] = STATE(159), + [sym_return_statement] = STATE(159), + [sym_break_statement] = STATE(159), + [sym_continue_statement] = STATE(159), + [sym_goto_statement] = STATE(159), + [sym_seh_try_statement] = STATE(159), + [sym_seh_leave_statement] = STATE(159), + [sym_expression] = STATE(1074), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1913), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(375), + [sym_identifier] = ACTIONS(1420), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(929), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_if] = ACTIONS(61), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(65), + [anon_sym_default] = ACTIONS(67), + [anon_sym_while] = ACTIONS(69), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(931), + [anon_sym___leave] = ACTIONS(933), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [340] = { + [ts_builtin_sym_end] = ACTIONS(1527), + [sym_identifier] = ACTIONS(1529), + [aux_sym_preproc_include_token1] = ACTIONS(1529), + [aux_sym_preproc_def_token1] = ACTIONS(1529), + [aux_sym_preproc_if_token1] = ACTIONS(1529), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1529), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1529), + [sym_preproc_directive] = ACTIONS(1529), + [anon_sym_LPAREN2] = ACTIONS(1527), + [anon_sym_BANG] = ACTIONS(1527), + [anon_sym_TILDE] = ACTIONS(1527), + [anon_sym_DASH] = ACTIONS(1529), + [anon_sym_PLUS] = ACTIONS(1529), + [anon_sym_STAR] = ACTIONS(1527), + [anon_sym_AMP] = ACTIONS(1527), + [anon_sym_SEMI] = ACTIONS(1527), + [anon_sym___extension__] = ACTIONS(1529), + [anon_sym_typedef] = ACTIONS(1529), + [anon_sym_extern] = ACTIONS(1529), + [anon_sym___attribute__] = ACTIONS(1529), + [anon_sym___attribute] = ACTIONS(1529), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1527), + [anon_sym___declspec] = ACTIONS(1529), + [anon_sym___cdecl] = ACTIONS(1529), + [anon_sym___clrcall] = ACTIONS(1529), + [anon_sym___stdcall] = ACTIONS(1529), + [anon_sym___fastcall] = ACTIONS(1529), + [anon_sym___thiscall] = ACTIONS(1529), + [anon_sym___vectorcall] = ACTIONS(1529), + [anon_sym_LBRACE] = ACTIONS(1527), + [anon_sym_signed] = ACTIONS(1529), + [anon_sym_unsigned] = ACTIONS(1529), + [anon_sym_long] = ACTIONS(1529), + [anon_sym_short] = ACTIONS(1529), + [anon_sym_static] = ACTIONS(1529), + [anon_sym_auto] = ACTIONS(1529), + [anon_sym_register] = ACTIONS(1529), + [anon_sym_inline] = ACTIONS(1529), + [anon_sym___inline] = ACTIONS(1529), + [anon_sym___inline__] = ACTIONS(1529), + [anon_sym___forceinline] = ACTIONS(1529), + [anon_sym_thread_local] = ACTIONS(1529), + [anon_sym___thread] = ACTIONS(1529), + [anon_sym_const] = ACTIONS(1529), + [anon_sym_constexpr] = ACTIONS(1529), + [anon_sym_volatile] = ACTIONS(1529), + [anon_sym_restrict] = ACTIONS(1529), + [anon_sym___restrict__] = ACTIONS(1529), + [anon_sym__Atomic] = ACTIONS(1529), + [anon_sym__Noreturn] = ACTIONS(1529), + [anon_sym_noreturn] = ACTIONS(1529), + [anon_sym__Nonnull] = ACTIONS(1529), + [anon_sym_alignas] = ACTIONS(1529), + [anon_sym__Alignas] = ACTIONS(1529), + [sym_primitive_type] = ACTIONS(1529), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_struct] = ACTIONS(1529), + [anon_sym_union] = ACTIONS(1529), + [anon_sym_if] = ACTIONS(1529), + [anon_sym_switch] = ACTIONS(1529), + [anon_sym_case] = ACTIONS(1529), + [anon_sym_default] = ACTIONS(1529), + [anon_sym_while] = ACTIONS(1529), + [anon_sym_do] = ACTIONS(1529), + [anon_sym_for] = ACTIONS(1529), + [anon_sym_return] = ACTIONS(1529), + [anon_sym_break] = ACTIONS(1529), + [anon_sym_continue] = ACTIONS(1529), + [anon_sym_goto] = ACTIONS(1529), + [anon_sym_DASH_DASH] = ACTIONS(1527), + [anon_sym_PLUS_PLUS] = ACTIONS(1527), + [anon_sym_sizeof] = ACTIONS(1529), + [anon_sym___alignof__] = ACTIONS(1529), + [anon_sym___alignof] = ACTIONS(1529), + [anon_sym__alignof] = ACTIONS(1529), + [anon_sym_alignof] = ACTIONS(1529), + [anon_sym__Alignof] = ACTIONS(1529), + [anon_sym_offsetof] = ACTIONS(1529), + [anon_sym__Generic] = ACTIONS(1529), + [anon_sym_asm] = ACTIONS(1529), + [anon_sym___asm__] = ACTIONS(1529), + [anon_sym___asm] = ACTIONS(1529), + [sym_number_literal] = ACTIONS(1527), + [anon_sym_L_SQUOTE] = ACTIONS(1527), + [anon_sym_u_SQUOTE] = ACTIONS(1527), + [anon_sym_U_SQUOTE] = ACTIONS(1527), + [anon_sym_u8_SQUOTE] = ACTIONS(1527), + [anon_sym_SQUOTE] = ACTIONS(1527), + [anon_sym_L_DQUOTE] = ACTIONS(1527), + [anon_sym_u_DQUOTE] = ACTIONS(1527), + [anon_sym_U_DQUOTE] = ACTIONS(1527), + [anon_sym_u8_DQUOTE] = ACTIONS(1527), + [anon_sym_DQUOTE] = ACTIONS(1527), + [sym_true] = ACTIONS(1529), + [sym_false] = ACTIONS(1529), + [anon_sym_NULL] = ACTIONS(1529), + [anon_sym_nullptr] = ACTIONS(1529), + [sym_comment] = ACTIONS(3), + }, + [341] = { + [sym_attribute_declaration] = STATE(375), + [sym_compound_statement] = STATE(159), + [sym_attributed_statement] = STATE(159), + [sym_statement] = STATE(160), + [sym_labeled_statement] = STATE(159), + [sym_expression_statement] = STATE(159), + [sym_if_statement] = STATE(159), + [sym_switch_statement] = STATE(159), + [sym_case_statement] = STATE(159), + [sym_while_statement] = STATE(159), + [sym_do_statement] = STATE(159), + [sym_for_statement] = STATE(159), + [sym_return_statement] = STATE(159), + [sym_break_statement] = STATE(159), + [sym_continue_statement] = STATE(159), + [sym_goto_statement] = STATE(159), + [sym_seh_try_statement] = STATE(159), + [sym_seh_leave_statement] = STATE(159), + [sym_expression] = STATE(1074), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1913), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(375), + [sym_identifier] = ACTIONS(1420), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(929), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_if] = ACTIONS(61), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(65), + [anon_sym_default] = ACTIONS(67), + [anon_sym_while] = ACTIONS(69), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(931), + [anon_sym___leave] = ACTIONS(933), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [342] = { + [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_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___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__Nonnull] = 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), + [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), + }, + [343] = { + [ts_builtin_sym_end] = ACTIONS(1298), + [sym_identifier] = ACTIONS(1296), + [aux_sym_preproc_include_token1] = ACTIONS(1296), + [aux_sym_preproc_def_token1] = ACTIONS(1296), + [aux_sym_preproc_if_token1] = ACTIONS(1296), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1296), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1296), + [sym_preproc_directive] = ACTIONS(1296), + [anon_sym_LPAREN2] = ACTIONS(1298), + [anon_sym_BANG] = ACTIONS(1298), + [anon_sym_TILDE] = ACTIONS(1298), + [anon_sym_DASH] = ACTIONS(1296), + [anon_sym_PLUS] = ACTIONS(1296), + [anon_sym_STAR] = ACTIONS(1298), + [anon_sym_AMP] = ACTIONS(1298), + [anon_sym_SEMI] = ACTIONS(1298), + [anon_sym___extension__] = ACTIONS(1296), + [anon_sym_typedef] = ACTIONS(1296), + [anon_sym_extern] = ACTIONS(1296), + [anon_sym___attribute__] = ACTIONS(1296), + [anon_sym___attribute] = ACTIONS(1296), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1298), + [anon_sym___declspec] = ACTIONS(1296), + [anon_sym___cdecl] = ACTIONS(1296), + [anon_sym___clrcall] = ACTIONS(1296), + [anon_sym___stdcall] = ACTIONS(1296), + [anon_sym___fastcall] = ACTIONS(1296), + [anon_sym___thiscall] = ACTIONS(1296), + [anon_sym___vectorcall] = ACTIONS(1296), + [anon_sym_LBRACE] = ACTIONS(1298), + [anon_sym_signed] = ACTIONS(1296), + [anon_sym_unsigned] = ACTIONS(1296), + [anon_sym_long] = ACTIONS(1296), + [anon_sym_short] = ACTIONS(1296), + [anon_sym_static] = ACTIONS(1296), + [anon_sym_auto] = ACTIONS(1296), + [anon_sym_register] = ACTIONS(1296), + [anon_sym_inline] = ACTIONS(1296), + [anon_sym___inline] = ACTIONS(1296), + [anon_sym___inline__] = ACTIONS(1296), + [anon_sym___forceinline] = ACTIONS(1296), + [anon_sym_thread_local] = ACTIONS(1296), + [anon_sym___thread] = ACTIONS(1296), + [anon_sym_const] = ACTIONS(1296), + [anon_sym_constexpr] = ACTIONS(1296), + [anon_sym_volatile] = ACTIONS(1296), + [anon_sym_restrict] = ACTIONS(1296), + [anon_sym___restrict__] = ACTIONS(1296), + [anon_sym__Atomic] = ACTIONS(1296), + [anon_sym__Noreturn] = ACTIONS(1296), + [anon_sym_noreturn] = ACTIONS(1296), + [anon_sym__Nonnull] = ACTIONS(1296), + [anon_sym_alignas] = ACTIONS(1296), + [anon_sym__Alignas] = ACTIONS(1296), + [sym_primitive_type] = ACTIONS(1296), + [anon_sym_enum] = ACTIONS(1296), + [anon_sym_struct] = ACTIONS(1296), + [anon_sym_union] = ACTIONS(1296), + [anon_sym_if] = ACTIONS(1296), + [anon_sym_switch] = ACTIONS(1296), + [anon_sym_case] = ACTIONS(1296), + [anon_sym_default] = ACTIONS(1296), + [anon_sym_while] = ACTIONS(1296), + [anon_sym_do] = ACTIONS(1296), + [anon_sym_for] = ACTIONS(1296), + [anon_sym_return] = ACTIONS(1296), + [anon_sym_break] = ACTIONS(1296), + [anon_sym_continue] = ACTIONS(1296), + [anon_sym_goto] = ACTIONS(1296), + [anon_sym_DASH_DASH] = ACTIONS(1298), + [anon_sym_PLUS_PLUS] = ACTIONS(1298), + [anon_sym_sizeof] = ACTIONS(1296), + [anon_sym___alignof__] = ACTIONS(1296), + [anon_sym___alignof] = ACTIONS(1296), + [anon_sym__alignof] = ACTIONS(1296), + [anon_sym_alignof] = ACTIONS(1296), + [anon_sym__Alignof] = ACTIONS(1296), + [anon_sym_offsetof] = ACTIONS(1296), + [anon_sym__Generic] = ACTIONS(1296), + [anon_sym_asm] = ACTIONS(1296), + [anon_sym___asm__] = ACTIONS(1296), + [anon_sym___asm] = ACTIONS(1296), + [sym_number_literal] = ACTIONS(1298), + [anon_sym_L_SQUOTE] = ACTIONS(1298), + [anon_sym_u_SQUOTE] = ACTIONS(1298), + [anon_sym_U_SQUOTE] = ACTIONS(1298), + [anon_sym_u8_SQUOTE] = ACTIONS(1298), + [anon_sym_SQUOTE] = ACTIONS(1298), + [anon_sym_L_DQUOTE] = ACTIONS(1298), + [anon_sym_u_DQUOTE] = ACTIONS(1298), + [anon_sym_U_DQUOTE] = ACTIONS(1298), + [anon_sym_u8_DQUOTE] = ACTIONS(1298), + [anon_sym_DQUOTE] = ACTIONS(1298), + [sym_true] = ACTIONS(1296), + [sym_false] = ACTIONS(1296), + [anon_sym_NULL] = ACTIONS(1296), + [anon_sym_nullptr] = ACTIONS(1296), + [sym_comment] = ACTIONS(3), + }, + [344] = { + [ts_builtin_sym_end] = ACTIONS(1310), + [sym_identifier] = ACTIONS(1308), + [aux_sym_preproc_include_token1] = ACTIONS(1308), + [aux_sym_preproc_def_token1] = ACTIONS(1308), + [aux_sym_preproc_if_token1] = ACTIONS(1308), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1308), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1308), + [sym_preproc_directive] = ACTIONS(1308), + [anon_sym_LPAREN2] = ACTIONS(1310), + [anon_sym_BANG] = ACTIONS(1310), + [anon_sym_TILDE] = ACTIONS(1310), + [anon_sym_DASH] = ACTIONS(1308), + [anon_sym_PLUS] = ACTIONS(1308), + [anon_sym_STAR] = ACTIONS(1310), + [anon_sym_AMP] = ACTIONS(1310), + [anon_sym_SEMI] = ACTIONS(1310), + [anon_sym___extension__] = ACTIONS(1308), + [anon_sym_typedef] = ACTIONS(1308), + [anon_sym_extern] = ACTIONS(1308), + [anon_sym___attribute__] = ACTIONS(1308), + [anon_sym___attribute] = ACTIONS(1308), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1310), + [anon_sym___declspec] = ACTIONS(1308), + [anon_sym___cdecl] = ACTIONS(1308), + [anon_sym___clrcall] = ACTIONS(1308), + [anon_sym___stdcall] = ACTIONS(1308), + [anon_sym___fastcall] = ACTIONS(1308), + [anon_sym___thiscall] = ACTIONS(1308), + [anon_sym___vectorcall] = ACTIONS(1308), + [anon_sym_LBRACE] = ACTIONS(1310), + [anon_sym_signed] = ACTIONS(1308), + [anon_sym_unsigned] = ACTIONS(1308), + [anon_sym_long] = ACTIONS(1308), + [anon_sym_short] = ACTIONS(1308), + [anon_sym_static] = ACTIONS(1308), + [anon_sym_auto] = ACTIONS(1308), + [anon_sym_register] = ACTIONS(1308), + [anon_sym_inline] = ACTIONS(1308), + [anon_sym___inline] = ACTIONS(1308), + [anon_sym___inline__] = ACTIONS(1308), + [anon_sym___forceinline] = ACTIONS(1308), + [anon_sym_thread_local] = ACTIONS(1308), + [anon_sym___thread] = ACTIONS(1308), + [anon_sym_const] = ACTIONS(1308), + [anon_sym_constexpr] = ACTIONS(1308), + [anon_sym_volatile] = ACTIONS(1308), + [anon_sym_restrict] = ACTIONS(1308), + [anon_sym___restrict__] = ACTIONS(1308), + [anon_sym__Atomic] = ACTIONS(1308), + [anon_sym__Noreturn] = ACTIONS(1308), + [anon_sym_noreturn] = ACTIONS(1308), + [anon_sym__Nonnull] = ACTIONS(1308), + [anon_sym_alignas] = ACTIONS(1308), + [anon_sym__Alignas] = ACTIONS(1308), + [sym_primitive_type] = ACTIONS(1308), + [anon_sym_enum] = ACTIONS(1308), + [anon_sym_struct] = ACTIONS(1308), + [anon_sym_union] = ACTIONS(1308), + [anon_sym_if] = ACTIONS(1308), + [anon_sym_switch] = ACTIONS(1308), + [anon_sym_case] = ACTIONS(1308), + [anon_sym_default] = ACTIONS(1308), + [anon_sym_while] = ACTIONS(1308), + [anon_sym_do] = ACTIONS(1308), + [anon_sym_for] = ACTIONS(1308), + [anon_sym_return] = ACTIONS(1308), + [anon_sym_break] = ACTIONS(1308), + [anon_sym_continue] = ACTIONS(1308), + [anon_sym_goto] = ACTIONS(1308), + [anon_sym_DASH_DASH] = ACTIONS(1310), + [anon_sym_PLUS_PLUS] = ACTIONS(1310), + [anon_sym_sizeof] = ACTIONS(1308), + [anon_sym___alignof__] = ACTIONS(1308), + [anon_sym___alignof] = ACTIONS(1308), + [anon_sym__alignof] = ACTIONS(1308), + [anon_sym_alignof] = ACTIONS(1308), + [anon_sym__Alignof] = ACTIONS(1308), + [anon_sym_offsetof] = ACTIONS(1308), + [anon_sym__Generic] = ACTIONS(1308), + [anon_sym_asm] = ACTIONS(1308), + [anon_sym___asm__] = ACTIONS(1308), + [anon_sym___asm] = ACTIONS(1308), + [sym_number_literal] = ACTIONS(1310), + [anon_sym_L_SQUOTE] = ACTIONS(1310), + [anon_sym_u_SQUOTE] = ACTIONS(1310), + [anon_sym_U_SQUOTE] = ACTIONS(1310), + [anon_sym_u8_SQUOTE] = ACTIONS(1310), + [anon_sym_SQUOTE] = ACTIONS(1310), + [anon_sym_L_DQUOTE] = ACTIONS(1310), + [anon_sym_u_DQUOTE] = ACTIONS(1310), + [anon_sym_U_DQUOTE] = ACTIONS(1310), + [anon_sym_u8_DQUOTE] = ACTIONS(1310), + [anon_sym_DQUOTE] = ACTIONS(1310), + [sym_true] = ACTIONS(1308), + [sym_false] = ACTIONS(1308), + [anon_sym_NULL] = ACTIONS(1308), + [anon_sym_nullptr] = ACTIONS(1308), + [sym_comment] = ACTIONS(3), + }, + [345] = { + [ts_builtin_sym_end] = ACTIONS(1318), + [sym_identifier] = ACTIONS(1316), + [aux_sym_preproc_include_token1] = ACTIONS(1316), + [aux_sym_preproc_def_token1] = ACTIONS(1316), + [aux_sym_preproc_if_token1] = ACTIONS(1316), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1316), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1316), + [sym_preproc_directive] = ACTIONS(1316), + [anon_sym_LPAREN2] = ACTIONS(1318), + [anon_sym_BANG] = ACTIONS(1318), + [anon_sym_TILDE] = ACTIONS(1318), + [anon_sym_DASH] = ACTIONS(1316), + [anon_sym_PLUS] = ACTIONS(1316), + [anon_sym_STAR] = ACTIONS(1318), + [anon_sym_AMP] = ACTIONS(1318), + [anon_sym_SEMI] = ACTIONS(1318), + [anon_sym___extension__] = ACTIONS(1316), + [anon_sym_typedef] = ACTIONS(1316), + [anon_sym_extern] = ACTIONS(1316), + [anon_sym___attribute__] = ACTIONS(1316), + [anon_sym___attribute] = ACTIONS(1316), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1318), + [anon_sym___declspec] = ACTIONS(1316), + [anon_sym___cdecl] = ACTIONS(1316), + [anon_sym___clrcall] = ACTIONS(1316), + [anon_sym___stdcall] = ACTIONS(1316), + [anon_sym___fastcall] = ACTIONS(1316), + [anon_sym___thiscall] = ACTIONS(1316), + [anon_sym___vectorcall] = ACTIONS(1316), + [anon_sym_LBRACE] = ACTIONS(1318), + [anon_sym_signed] = ACTIONS(1316), + [anon_sym_unsigned] = ACTIONS(1316), + [anon_sym_long] = ACTIONS(1316), + [anon_sym_short] = ACTIONS(1316), + [anon_sym_static] = ACTIONS(1316), + [anon_sym_auto] = ACTIONS(1316), + [anon_sym_register] = ACTIONS(1316), + [anon_sym_inline] = ACTIONS(1316), + [anon_sym___inline] = ACTIONS(1316), + [anon_sym___inline__] = ACTIONS(1316), + [anon_sym___forceinline] = ACTIONS(1316), + [anon_sym_thread_local] = ACTIONS(1316), + [anon_sym___thread] = ACTIONS(1316), + [anon_sym_const] = ACTIONS(1316), + [anon_sym_constexpr] = ACTIONS(1316), + [anon_sym_volatile] = ACTIONS(1316), + [anon_sym_restrict] = ACTIONS(1316), + [anon_sym___restrict__] = ACTIONS(1316), + [anon_sym__Atomic] = ACTIONS(1316), + [anon_sym__Noreturn] = ACTIONS(1316), + [anon_sym_noreturn] = ACTIONS(1316), + [anon_sym__Nonnull] = ACTIONS(1316), + [anon_sym_alignas] = ACTIONS(1316), + [anon_sym__Alignas] = ACTIONS(1316), + [sym_primitive_type] = ACTIONS(1316), + [anon_sym_enum] = ACTIONS(1316), + [anon_sym_struct] = ACTIONS(1316), + [anon_sym_union] = ACTIONS(1316), + [anon_sym_if] = ACTIONS(1316), + [anon_sym_switch] = ACTIONS(1316), + [anon_sym_case] = ACTIONS(1316), + [anon_sym_default] = ACTIONS(1316), + [anon_sym_while] = ACTIONS(1316), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1316), + [anon_sym_return] = ACTIONS(1316), + [anon_sym_break] = ACTIONS(1316), + [anon_sym_continue] = ACTIONS(1316), + [anon_sym_goto] = ACTIONS(1316), + [anon_sym_DASH_DASH] = ACTIONS(1318), + [anon_sym_PLUS_PLUS] = ACTIONS(1318), + [anon_sym_sizeof] = ACTIONS(1316), + [anon_sym___alignof__] = ACTIONS(1316), + [anon_sym___alignof] = ACTIONS(1316), + [anon_sym__alignof] = ACTIONS(1316), + [anon_sym_alignof] = ACTIONS(1316), + [anon_sym__Alignof] = ACTIONS(1316), + [anon_sym_offsetof] = ACTIONS(1316), + [anon_sym__Generic] = ACTIONS(1316), + [anon_sym_asm] = ACTIONS(1316), + [anon_sym___asm__] = ACTIONS(1316), + [anon_sym___asm] = ACTIONS(1316), + [sym_number_literal] = ACTIONS(1318), + [anon_sym_L_SQUOTE] = ACTIONS(1318), + [anon_sym_u_SQUOTE] = ACTIONS(1318), + [anon_sym_U_SQUOTE] = ACTIONS(1318), + [anon_sym_u8_SQUOTE] = ACTIONS(1318), + [anon_sym_SQUOTE] = ACTIONS(1318), + [anon_sym_L_DQUOTE] = ACTIONS(1318), + [anon_sym_u_DQUOTE] = ACTIONS(1318), + [anon_sym_U_DQUOTE] = ACTIONS(1318), + [anon_sym_u8_DQUOTE] = ACTIONS(1318), + [anon_sym_DQUOTE] = ACTIONS(1318), + [sym_true] = ACTIONS(1316), + [sym_false] = ACTIONS(1316), + [anon_sym_NULL] = ACTIONS(1316), + [anon_sym_nullptr] = ACTIONS(1316), + [sym_comment] = ACTIONS(3), + }, + [346] = { + [ts_builtin_sym_end] = ACTIONS(1322), + [sym_identifier] = ACTIONS(1320), + [aux_sym_preproc_include_token1] = ACTIONS(1320), + [aux_sym_preproc_def_token1] = ACTIONS(1320), + [aux_sym_preproc_if_token1] = ACTIONS(1320), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1320), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1320), + [sym_preproc_directive] = ACTIONS(1320), + [anon_sym_LPAREN2] = ACTIONS(1322), + [anon_sym_BANG] = ACTIONS(1322), + [anon_sym_TILDE] = ACTIONS(1322), + [anon_sym_DASH] = ACTIONS(1320), + [anon_sym_PLUS] = ACTIONS(1320), + [anon_sym_STAR] = ACTIONS(1322), + [anon_sym_AMP] = ACTIONS(1322), + [anon_sym_SEMI] = ACTIONS(1322), + [anon_sym___extension__] = ACTIONS(1320), + [anon_sym_typedef] = ACTIONS(1320), + [anon_sym_extern] = ACTIONS(1320), + [anon_sym___attribute__] = ACTIONS(1320), + [anon_sym___attribute] = ACTIONS(1320), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1322), + [anon_sym___declspec] = ACTIONS(1320), + [anon_sym___cdecl] = ACTIONS(1320), + [anon_sym___clrcall] = ACTIONS(1320), + [anon_sym___stdcall] = ACTIONS(1320), + [anon_sym___fastcall] = ACTIONS(1320), + [anon_sym___thiscall] = ACTIONS(1320), + [anon_sym___vectorcall] = ACTIONS(1320), + [anon_sym_LBRACE] = ACTIONS(1322), + [anon_sym_signed] = ACTIONS(1320), + [anon_sym_unsigned] = ACTIONS(1320), + [anon_sym_long] = ACTIONS(1320), + [anon_sym_short] = ACTIONS(1320), + [anon_sym_static] = ACTIONS(1320), + [anon_sym_auto] = ACTIONS(1320), + [anon_sym_register] = ACTIONS(1320), + [anon_sym_inline] = ACTIONS(1320), + [anon_sym___inline] = ACTIONS(1320), + [anon_sym___inline__] = ACTIONS(1320), + [anon_sym___forceinline] = ACTIONS(1320), + [anon_sym_thread_local] = ACTIONS(1320), + [anon_sym___thread] = ACTIONS(1320), + [anon_sym_const] = ACTIONS(1320), + [anon_sym_constexpr] = ACTIONS(1320), + [anon_sym_volatile] = ACTIONS(1320), + [anon_sym_restrict] = ACTIONS(1320), + [anon_sym___restrict__] = ACTIONS(1320), + [anon_sym__Atomic] = ACTIONS(1320), + [anon_sym__Noreturn] = ACTIONS(1320), + [anon_sym_noreturn] = ACTIONS(1320), + [anon_sym__Nonnull] = ACTIONS(1320), + [anon_sym_alignas] = ACTIONS(1320), + [anon_sym__Alignas] = ACTIONS(1320), + [sym_primitive_type] = ACTIONS(1320), + [anon_sym_enum] = ACTIONS(1320), + [anon_sym_struct] = ACTIONS(1320), + [anon_sym_union] = ACTIONS(1320), + [anon_sym_if] = ACTIONS(1320), + [anon_sym_switch] = ACTIONS(1320), + [anon_sym_case] = ACTIONS(1320), + [anon_sym_default] = ACTIONS(1320), + [anon_sym_while] = ACTIONS(1320), + [anon_sym_do] = ACTIONS(1320), + [anon_sym_for] = ACTIONS(1320), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1320), + [anon_sym_continue] = ACTIONS(1320), + [anon_sym_goto] = ACTIONS(1320), + [anon_sym_DASH_DASH] = ACTIONS(1322), + [anon_sym_PLUS_PLUS] = ACTIONS(1322), + [anon_sym_sizeof] = ACTIONS(1320), + [anon_sym___alignof__] = ACTIONS(1320), + [anon_sym___alignof] = ACTIONS(1320), + [anon_sym__alignof] = ACTIONS(1320), + [anon_sym_alignof] = ACTIONS(1320), + [anon_sym__Alignof] = ACTIONS(1320), + [anon_sym_offsetof] = ACTIONS(1320), + [anon_sym__Generic] = ACTIONS(1320), + [anon_sym_asm] = ACTIONS(1320), + [anon_sym___asm__] = ACTIONS(1320), + [anon_sym___asm] = ACTIONS(1320), + [sym_number_literal] = ACTIONS(1322), + [anon_sym_L_SQUOTE] = ACTIONS(1322), + [anon_sym_u_SQUOTE] = ACTIONS(1322), + [anon_sym_U_SQUOTE] = ACTIONS(1322), + [anon_sym_u8_SQUOTE] = ACTIONS(1322), + [anon_sym_SQUOTE] = ACTIONS(1322), + [anon_sym_L_DQUOTE] = ACTIONS(1322), + [anon_sym_u_DQUOTE] = ACTIONS(1322), + [anon_sym_U_DQUOTE] = ACTIONS(1322), + [anon_sym_u8_DQUOTE] = ACTIONS(1322), + [anon_sym_DQUOTE] = ACTIONS(1322), + [sym_true] = ACTIONS(1320), + [sym_false] = ACTIONS(1320), + [anon_sym_NULL] = ACTIONS(1320), + [anon_sym_nullptr] = ACTIONS(1320), + [sym_comment] = ACTIONS(3), + }, + [347] = { + [ts_builtin_sym_end] = ACTIONS(1326), + [sym_identifier] = ACTIONS(1324), + [aux_sym_preproc_include_token1] = ACTIONS(1324), + [aux_sym_preproc_def_token1] = ACTIONS(1324), + [aux_sym_preproc_if_token1] = ACTIONS(1324), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1324), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1324), + [sym_preproc_directive] = ACTIONS(1324), + [anon_sym_LPAREN2] = ACTIONS(1326), + [anon_sym_BANG] = ACTIONS(1326), + [anon_sym_TILDE] = ACTIONS(1326), + [anon_sym_DASH] = ACTIONS(1324), + [anon_sym_PLUS] = ACTIONS(1324), + [anon_sym_STAR] = ACTIONS(1326), + [anon_sym_AMP] = ACTIONS(1326), + [anon_sym_SEMI] = ACTIONS(1326), + [anon_sym___extension__] = ACTIONS(1324), + [anon_sym_typedef] = ACTIONS(1324), + [anon_sym_extern] = ACTIONS(1324), + [anon_sym___attribute__] = ACTIONS(1324), + [anon_sym___attribute] = ACTIONS(1324), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1326), + [anon_sym___declspec] = ACTIONS(1324), + [anon_sym___cdecl] = ACTIONS(1324), + [anon_sym___clrcall] = ACTIONS(1324), + [anon_sym___stdcall] = ACTIONS(1324), + [anon_sym___fastcall] = ACTIONS(1324), + [anon_sym___thiscall] = ACTIONS(1324), + [anon_sym___vectorcall] = ACTIONS(1324), + [anon_sym_LBRACE] = ACTIONS(1326), + [anon_sym_signed] = ACTIONS(1324), + [anon_sym_unsigned] = ACTIONS(1324), + [anon_sym_long] = ACTIONS(1324), + [anon_sym_short] = ACTIONS(1324), + [anon_sym_static] = ACTIONS(1324), + [anon_sym_auto] = ACTIONS(1324), + [anon_sym_register] = ACTIONS(1324), + [anon_sym_inline] = ACTIONS(1324), + [anon_sym___inline] = ACTIONS(1324), + [anon_sym___inline__] = ACTIONS(1324), + [anon_sym___forceinline] = ACTIONS(1324), + [anon_sym_thread_local] = ACTIONS(1324), + [anon_sym___thread] = ACTIONS(1324), + [anon_sym_const] = ACTIONS(1324), + [anon_sym_constexpr] = ACTIONS(1324), + [anon_sym_volatile] = ACTIONS(1324), + [anon_sym_restrict] = ACTIONS(1324), + [anon_sym___restrict__] = ACTIONS(1324), + [anon_sym__Atomic] = ACTIONS(1324), + [anon_sym__Noreturn] = ACTIONS(1324), + [anon_sym_noreturn] = ACTIONS(1324), + [anon_sym__Nonnull] = ACTIONS(1324), + [anon_sym_alignas] = ACTIONS(1324), + [anon_sym__Alignas] = ACTIONS(1324), + [sym_primitive_type] = ACTIONS(1324), + [anon_sym_enum] = ACTIONS(1324), + [anon_sym_struct] = ACTIONS(1324), + [anon_sym_union] = ACTIONS(1324), + [anon_sym_if] = ACTIONS(1324), + [anon_sym_switch] = ACTIONS(1324), + [anon_sym_case] = ACTIONS(1324), + [anon_sym_default] = ACTIONS(1324), + [anon_sym_while] = ACTIONS(1324), + [anon_sym_do] = ACTIONS(1324), + [anon_sym_for] = ACTIONS(1324), + [anon_sym_return] = ACTIONS(1324), + [anon_sym_break] = ACTIONS(1324), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1324), + [anon_sym_DASH_DASH] = ACTIONS(1326), + [anon_sym_PLUS_PLUS] = ACTIONS(1326), + [anon_sym_sizeof] = ACTIONS(1324), + [anon_sym___alignof__] = ACTIONS(1324), + [anon_sym___alignof] = ACTIONS(1324), + [anon_sym__alignof] = ACTIONS(1324), + [anon_sym_alignof] = ACTIONS(1324), + [anon_sym__Alignof] = ACTIONS(1324), + [anon_sym_offsetof] = ACTIONS(1324), + [anon_sym__Generic] = ACTIONS(1324), + [anon_sym_asm] = ACTIONS(1324), + [anon_sym___asm__] = ACTIONS(1324), + [anon_sym___asm] = ACTIONS(1324), + [sym_number_literal] = ACTIONS(1326), + [anon_sym_L_SQUOTE] = ACTIONS(1326), + [anon_sym_u_SQUOTE] = ACTIONS(1326), + [anon_sym_U_SQUOTE] = ACTIONS(1326), + [anon_sym_u8_SQUOTE] = ACTIONS(1326), + [anon_sym_SQUOTE] = ACTIONS(1326), + [anon_sym_L_DQUOTE] = ACTIONS(1326), + [anon_sym_u_DQUOTE] = ACTIONS(1326), + [anon_sym_U_DQUOTE] = ACTIONS(1326), + [anon_sym_u8_DQUOTE] = ACTIONS(1326), + [anon_sym_DQUOTE] = ACTIONS(1326), + [sym_true] = ACTIONS(1324), + [sym_false] = ACTIONS(1324), + [anon_sym_NULL] = ACTIONS(1324), + [anon_sym_nullptr] = ACTIONS(1324), + [sym_comment] = ACTIONS(3), + }, + [348] = { + [ts_builtin_sym_end] = ACTIONS(1330), + [sym_identifier] = ACTIONS(1328), + [aux_sym_preproc_include_token1] = ACTIONS(1328), + [aux_sym_preproc_def_token1] = ACTIONS(1328), + [aux_sym_preproc_if_token1] = ACTIONS(1328), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1328), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1328), + [sym_preproc_directive] = ACTIONS(1328), + [anon_sym_LPAREN2] = ACTIONS(1330), + [anon_sym_BANG] = ACTIONS(1330), + [anon_sym_TILDE] = ACTIONS(1330), + [anon_sym_DASH] = ACTIONS(1328), + [anon_sym_PLUS] = ACTIONS(1328), + [anon_sym_STAR] = ACTIONS(1330), + [anon_sym_AMP] = ACTIONS(1330), + [anon_sym_SEMI] = ACTIONS(1330), + [anon_sym___extension__] = ACTIONS(1328), + [anon_sym_typedef] = ACTIONS(1328), + [anon_sym_extern] = ACTIONS(1328), + [anon_sym___attribute__] = ACTIONS(1328), + [anon_sym___attribute] = ACTIONS(1328), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1330), + [anon_sym___declspec] = ACTIONS(1328), + [anon_sym___cdecl] = ACTIONS(1328), + [anon_sym___clrcall] = ACTIONS(1328), + [anon_sym___stdcall] = ACTIONS(1328), + [anon_sym___fastcall] = ACTIONS(1328), + [anon_sym___thiscall] = ACTIONS(1328), + [anon_sym___vectorcall] = ACTIONS(1328), + [anon_sym_LBRACE] = ACTIONS(1330), + [anon_sym_signed] = ACTIONS(1328), + [anon_sym_unsigned] = ACTIONS(1328), + [anon_sym_long] = ACTIONS(1328), + [anon_sym_short] = ACTIONS(1328), + [anon_sym_static] = ACTIONS(1328), + [anon_sym_auto] = ACTIONS(1328), + [anon_sym_register] = ACTIONS(1328), + [anon_sym_inline] = ACTIONS(1328), + [anon_sym___inline] = ACTIONS(1328), + [anon_sym___inline__] = ACTIONS(1328), + [anon_sym___forceinline] = ACTIONS(1328), + [anon_sym_thread_local] = ACTIONS(1328), + [anon_sym___thread] = ACTIONS(1328), + [anon_sym_const] = ACTIONS(1328), + [anon_sym_constexpr] = ACTIONS(1328), + [anon_sym_volatile] = ACTIONS(1328), + [anon_sym_restrict] = ACTIONS(1328), + [anon_sym___restrict__] = ACTIONS(1328), + [anon_sym__Atomic] = ACTIONS(1328), + [anon_sym__Noreturn] = ACTIONS(1328), + [anon_sym_noreturn] = ACTIONS(1328), + [anon_sym__Nonnull] = ACTIONS(1328), + [anon_sym_alignas] = ACTIONS(1328), + [anon_sym__Alignas] = ACTIONS(1328), + [sym_primitive_type] = ACTIONS(1328), + [anon_sym_enum] = ACTIONS(1328), + [anon_sym_struct] = ACTIONS(1328), + [anon_sym_union] = ACTIONS(1328), + [anon_sym_if] = ACTIONS(1328), + [anon_sym_switch] = ACTIONS(1328), + [anon_sym_case] = ACTIONS(1328), + [anon_sym_default] = ACTIONS(1328), + [anon_sym_while] = ACTIONS(1328), + [anon_sym_do] = ACTIONS(1328), + [anon_sym_for] = ACTIONS(1328), + [anon_sym_return] = ACTIONS(1328), + [anon_sym_break] = ACTIONS(1328), + [anon_sym_continue] = ACTIONS(1328), + [anon_sym_goto] = ACTIONS(1328), + [anon_sym_DASH_DASH] = ACTIONS(1330), + [anon_sym_PLUS_PLUS] = ACTIONS(1330), + [anon_sym_sizeof] = ACTIONS(1328), + [anon_sym___alignof__] = ACTIONS(1328), + [anon_sym___alignof] = ACTIONS(1328), + [anon_sym__alignof] = ACTIONS(1328), + [anon_sym_alignof] = ACTIONS(1328), + [anon_sym__Alignof] = ACTIONS(1328), + [anon_sym_offsetof] = ACTIONS(1328), + [anon_sym__Generic] = ACTIONS(1328), + [anon_sym_asm] = ACTIONS(1328), + [anon_sym___asm__] = ACTIONS(1328), + [anon_sym___asm] = ACTIONS(1328), + [sym_number_literal] = ACTIONS(1330), + [anon_sym_L_SQUOTE] = ACTIONS(1330), + [anon_sym_u_SQUOTE] = ACTIONS(1330), + [anon_sym_U_SQUOTE] = ACTIONS(1330), + [anon_sym_u8_SQUOTE] = ACTIONS(1330), + [anon_sym_SQUOTE] = ACTIONS(1330), + [anon_sym_L_DQUOTE] = ACTIONS(1330), + [anon_sym_u_DQUOTE] = ACTIONS(1330), + [anon_sym_U_DQUOTE] = ACTIONS(1330), + [anon_sym_u8_DQUOTE] = ACTIONS(1330), + [anon_sym_DQUOTE] = ACTIONS(1330), + [sym_true] = ACTIONS(1328), + [sym_false] = ACTIONS(1328), + [anon_sym_NULL] = ACTIONS(1328), + [anon_sym_nullptr] = ACTIONS(1328), + [sym_comment] = ACTIONS(3), + }, + [349] = { + [sym_attribute_declaration] = STATE(333), + [sym_compound_statement] = STATE(250), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(167), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(333), + [sym_identifier] = ACTIONS(1414), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [350] = { + [sym_attribute_declaration] = STATE(373), + [sym_compound_statement] = STATE(110), + [sym_attributed_statement] = STATE(110), + [sym_statement] = STATE(80), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [sym_identifier] = ACTIONS(1531), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [351] = { + [sym_attribute_declaration] = STATE(373), + [sym_compound_statement] = STATE(110), + [sym_attributed_statement] = STATE(110), + [sym_statement] = STATE(82), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [sym_identifier] = ACTIONS(1531), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [352] = { + [sym_attribute_declaration] = STATE(352), + [sym_compound_statement] = STATE(110), + [sym_attributed_statement] = STATE(110), + [sym_statement] = STATE(114), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(352), + [sym_identifier] = ACTIONS(1533), + [anon_sym_LPAREN2] = ACTIONS(1427), + [anon_sym_BANG] = ACTIONS(1430), + [anon_sym_TILDE] = ACTIONS(1430), + [anon_sym_DASH] = ACTIONS(1433), + [anon_sym_PLUS] = ACTIONS(1433), + [anon_sym_STAR] = ACTIONS(1436), + [anon_sym_AMP] = ACTIONS(1436), + [anon_sym_SEMI] = ACTIONS(1536), + [anon_sym___extension__] = ACTIONS(1442), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1445), + [anon_sym_LBRACE] = ACTIONS(1539), + [anon_sym_if] = ACTIONS(1542), + [anon_sym_switch] = ACTIONS(1545), + [anon_sym_case] = ACTIONS(1548), + [anon_sym_default] = ACTIONS(1551), + [anon_sym_while] = ACTIONS(1554), + [anon_sym_do] = ACTIONS(1557), + [anon_sym_for] = ACTIONS(1560), + [anon_sym_return] = ACTIONS(1563), + [anon_sym_break] = ACTIONS(1566), + [anon_sym_continue] = ACTIONS(1569), + [anon_sym_goto] = ACTIONS(1572), + [anon_sym___try] = ACTIONS(1575), + [anon_sym___leave] = ACTIONS(1578), + [anon_sym_DASH_DASH] = ACTIONS(1490), + [anon_sym_PLUS_PLUS] = ACTIONS(1490), + [anon_sym_sizeof] = ACTIONS(1493), + [anon_sym___alignof__] = ACTIONS(1496), + [anon_sym___alignof] = ACTIONS(1496), + [anon_sym__alignof] = ACTIONS(1496), + [anon_sym_alignof] = ACTIONS(1496), + [anon_sym__Alignof] = ACTIONS(1496), + [anon_sym_offsetof] = ACTIONS(1499), + [anon_sym__Generic] = ACTIONS(1502), + [anon_sym_asm] = ACTIONS(1505), + [anon_sym___asm__] = ACTIONS(1505), + [anon_sym___asm] = ACTIONS(1505), + [sym_number_literal] = ACTIONS(1508), + [anon_sym_L_SQUOTE] = ACTIONS(1511), + [anon_sym_u_SQUOTE] = ACTIONS(1511), + [anon_sym_U_SQUOTE] = ACTIONS(1511), + [anon_sym_u8_SQUOTE] = ACTIONS(1511), + [anon_sym_SQUOTE] = ACTIONS(1511), + [anon_sym_L_DQUOTE] = ACTIONS(1514), + [anon_sym_u_DQUOTE] = ACTIONS(1514), + [anon_sym_U_DQUOTE] = ACTIONS(1514), + [anon_sym_u8_DQUOTE] = ACTIONS(1514), + [anon_sym_DQUOTE] = ACTIONS(1514), + [sym_true] = ACTIONS(1517), + [sym_false] = ACTIONS(1517), + [anon_sym_NULL] = ACTIONS(1520), + [anon_sym_nullptr] = ACTIONS(1520), + [sym_comment] = ACTIONS(3), + }, + [353] = { + [sym_attribute_declaration] = STATE(373), + [sym_compound_statement] = STATE(110), + [sym_attributed_statement] = STATE(110), + [sym_statement] = STATE(97), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [sym_identifier] = ACTIONS(1531), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [354] = { + [sym_attribute_declaration] = STATE(373), + [sym_compound_statement] = STATE(110), + [sym_attributed_statement] = STATE(110), + [sym_statement] = STATE(99), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(373), + [sym_identifier] = ACTIONS(1531), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [355] = { + [sym_attribute_declaration] = STATE(361), + [sym_compound_statement] = STATE(250), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(224), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(361), + [sym_identifier] = ACTIONS(1422), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_if] = ACTIONS(1095), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(1103), + [anon_sym_default] = ACTIONS(1105), + [anon_sym_while] = ACTIONS(1097), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(1099), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(1101), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [356] = { + [sym_attribute_declaration] = STATE(356), + [sym_compound_statement] = STATE(250), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(241), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(356), + [sym_identifier] = ACTIONS(1581), + [anon_sym_LPAREN2] = ACTIONS(1427), + [anon_sym_BANG] = ACTIONS(1430), + [anon_sym_TILDE] = ACTIONS(1430), + [anon_sym_DASH] = ACTIONS(1433), + [anon_sym_PLUS] = ACTIONS(1433), + [anon_sym_STAR] = ACTIONS(1436), + [anon_sym_AMP] = ACTIONS(1436), + [anon_sym_SEMI] = ACTIONS(1439), + [anon_sym___extension__] = ACTIONS(1442), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1445), + [anon_sym_LBRACE] = ACTIONS(1584), + [anon_sym_if] = ACTIONS(1587), + [anon_sym_switch] = ACTIONS(1590), + [anon_sym_case] = ACTIONS(1593), + [anon_sym_default] = ACTIONS(1596), + [anon_sym_while] = ACTIONS(1599), + [anon_sym_do] = ACTIONS(1602), + [anon_sym_for] = ACTIONS(1605), + [anon_sym_return] = ACTIONS(1608), + [anon_sym_break] = ACTIONS(1611), + [anon_sym_continue] = ACTIONS(1614), + [anon_sym_goto] = ACTIONS(1617), + [anon_sym___try] = ACTIONS(1620), + [anon_sym___leave] = ACTIONS(1487), + [anon_sym_DASH_DASH] = ACTIONS(1490), + [anon_sym_PLUS_PLUS] = ACTIONS(1490), + [anon_sym_sizeof] = ACTIONS(1493), + [anon_sym___alignof__] = ACTIONS(1496), + [anon_sym___alignof] = ACTIONS(1496), + [anon_sym__alignof] = ACTIONS(1496), + [anon_sym_alignof] = ACTIONS(1496), + [anon_sym__Alignof] = ACTIONS(1496), + [anon_sym_offsetof] = ACTIONS(1499), + [anon_sym__Generic] = ACTIONS(1502), + [anon_sym_asm] = ACTIONS(1505), + [anon_sym___asm__] = ACTIONS(1505), + [anon_sym___asm] = ACTIONS(1505), + [sym_number_literal] = ACTIONS(1508), + [anon_sym_L_SQUOTE] = ACTIONS(1511), + [anon_sym_u_SQUOTE] = ACTIONS(1511), + [anon_sym_U_SQUOTE] = ACTIONS(1511), + [anon_sym_u8_SQUOTE] = ACTIONS(1511), + [anon_sym_SQUOTE] = ACTIONS(1511), + [anon_sym_L_DQUOTE] = ACTIONS(1514), + [anon_sym_u_DQUOTE] = ACTIONS(1514), + [anon_sym_U_DQUOTE] = ACTIONS(1514), + [anon_sym_u8_DQUOTE] = ACTIONS(1514), + [anon_sym_DQUOTE] = ACTIONS(1514), + [sym_true] = ACTIONS(1517), + [sym_false] = ACTIONS(1517), + [anon_sym_NULL] = ACTIONS(1520), + [anon_sym_nullptr] = ACTIONS(1520), + [sym_comment] = ACTIONS(3), + }, + [357] = { + [ts_builtin_sym_end] = ACTIONS(1346), + [sym_identifier] = ACTIONS(1344), + [aux_sym_preproc_include_token1] = ACTIONS(1344), + [aux_sym_preproc_def_token1] = ACTIONS(1344), + [aux_sym_preproc_if_token1] = ACTIONS(1344), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1344), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1344), + [sym_preproc_directive] = ACTIONS(1344), + [anon_sym_LPAREN2] = ACTIONS(1346), + [anon_sym_BANG] = ACTIONS(1346), + [anon_sym_TILDE] = ACTIONS(1346), + [anon_sym_DASH] = ACTIONS(1344), + [anon_sym_PLUS] = ACTIONS(1344), + [anon_sym_STAR] = ACTIONS(1346), + [anon_sym_AMP] = ACTIONS(1346), + [anon_sym_SEMI] = ACTIONS(1346), + [anon_sym___extension__] = ACTIONS(1344), + [anon_sym_typedef] = ACTIONS(1344), + [anon_sym_extern] = ACTIONS(1344), + [anon_sym___attribute__] = ACTIONS(1344), + [anon_sym___attribute] = ACTIONS(1344), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1346), + [anon_sym___declspec] = ACTIONS(1344), + [anon_sym___cdecl] = ACTIONS(1344), + [anon_sym___clrcall] = ACTIONS(1344), + [anon_sym___stdcall] = ACTIONS(1344), + [anon_sym___fastcall] = ACTIONS(1344), + [anon_sym___thiscall] = ACTIONS(1344), + [anon_sym___vectorcall] = ACTIONS(1344), + [anon_sym_LBRACE] = ACTIONS(1346), + [anon_sym_signed] = ACTIONS(1344), + [anon_sym_unsigned] = ACTIONS(1344), + [anon_sym_long] = ACTIONS(1344), + [anon_sym_short] = ACTIONS(1344), + [anon_sym_static] = ACTIONS(1344), + [anon_sym_auto] = ACTIONS(1344), + [anon_sym_register] = ACTIONS(1344), + [anon_sym_inline] = ACTIONS(1344), + [anon_sym___inline] = ACTIONS(1344), + [anon_sym___inline__] = ACTIONS(1344), + [anon_sym___forceinline] = ACTIONS(1344), + [anon_sym_thread_local] = ACTIONS(1344), + [anon_sym___thread] = ACTIONS(1344), + [anon_sym_const] = ACTIONS(1344), + [anon_sym_constexpr] = ACTIONS(1344), + [anon_sym_volatile] = ACTIONS(1344), + [anon_sym_restrict] = ACTIONS(1344), + [anon_sym___restrict__] = ACTIONS(1344), + [anon_sym__Atomic] = ACTIONS(1344), + [anon_sym__Noreturn] = ACTIONS(1344), + [anon_sym_noreturn] = ACTIONS(1344), + [anon_sym__Nonnull] = ACTIONS(1344), + [anon_sym_alignas] = ACTIONS(1344), + [anon_sym__Alignas] = ACTIONS(1344), + [sym_primitive_type] = ACTIONS(1344), + [anon_sym_enum] = ACTIONS(1344), + [anon_sym_struct] = ACTIONS(1344), + [anon_sym_union] = ACTIONS(1344), + [anon_sym_if] = ACTIONS(1344), + [anon_sym_switch] = ACTIONS(1344), + [anon_sym_case] = ACTIONS(1344), + [anon_sym_default] = ACTIONS(1344), + [anon_sym_while] = ACTIONS(1344), + [anon_sym_do] = ACTIONS(1344), + [anon_sym_for] = ACTIONS(1344), + [anon_sym_return] = ACTIONS(1344), + [anon_sym_break] = ACTIONS(1344), + [anon_sym_continue] = ACTIONS(1344), + [anon_sym_goto] = ACTIONS(1344), + [anon_sym_DASH_DASH] = ACTIONS(1346), + [anon_sym_PLUS_PLUS] = ACTIONS(1346), + [anon_sym_sizeof] = ACTIONS(1344), + [anon_sym___alignof__] = ACTIONS(1344), + [anon_sym___alignof] = ACTIONS(1344), + [anon_sym__alignof] = ACTIONS(1344), + [anon_sym_alignof] = ACTIONS(1344), + [anon_sym__Alignof] = ACTIONS(1344), + [anon_sym_offsetof] = ACTIONS(1344), + [anon_sym__Generic] = ACTIONS(1344), + [anon_sym_asm] = ACTIONS(1344), + [anon_sym___asm__] = ACTIONS(1344), + [anon_sym___asm] = ACTIONS(1344), + [sym_number_literal] = ACTIONS(1346), + [anon_sym_L_SQUOTE] = ACTIONS(1346), + [anon_sym_u_SQUOTE] = ACTIONS(1346), + [anon_sym_U_SQUOTE] = ACTIONS(1346), + [anon_sym_u8_SQUOTE] = ACTIONS(1346), + [anon_sym_SQUOTE] = ACTIONS(1346), + [anon_sym_L_DQUOTE] = ACTIONS(1346), + [anon_sym_u_DQUOTE] = ACTIONS(1346), + [anon_sym_U_DQUOTE] = ACTIONS(1346), + [anon_sym_u8_DQUOTE] = ACTIONS(1346), + [anon_sym_DQUOTE] = ACTIONS(1346), + [sym_true] = ACTIONS(1344), + [sym_false] = ACTIONS(1344), + [anon_sym_NULL] = ACTIONS(1344), + [anon_sym_nullptr] = ACTIONS(1344), + [sym_comment] = ACTIONS(3), + }, + [358] = { + [sym_attribute_declaration] = STATE(361), + [sym_compound_statement] = STATE(250), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(172), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(361), + [sym_identifier] = ACTIONS(1422), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_if] = ACTIONS(1095), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(1103), + [anon_sym_default] = ACTIONS(1105), + [anon_sym_while] = ACTIONS(1097), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(1099), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(1101), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [359] = { + [sym_attribute_declaration] = STATE(361), + [sym_compound_statement] = STATE(250), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(160), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(361), + [sym_identifier] = ACTIONS(1422), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_if] = ACTIONS(1095), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(1103), + [anon_sym_default] = ACTIONS(1105), + [anon_sym_while] = ACTIONS(1097), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(1099), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(1101), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [360] = { + [ts_builtin_sym_end] = ACTIONS(1334), + [sym_identifier] = ACTIONS(1332), + [aux_sym_preproc_include_token1] = ACTIONS(1332), + [aux_sym_preproc_def_token1] = ACTIONS(1332), + [aux_sym_preproc_if_token1] = ACTIONS(1332), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1332), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1332), + [sym_preproc_directive] = ACTIONS(1332), + [anon_sym_LPAREN2] = ACTIONS(1334), + [anon_sym_BANG] = ACTIONS(1334), + [anon_sym_TILDE] = ACTIONS(1334), + [anon_sym_DASH] = ACTIONS(1332), + [anon_sym_PLUS] = ACTIONS(1332), + [anon_sym_STAR] = ACTIONS(1334), + [anon_sym_AMP] = ACTIONS(1334), + [anon_sym_SEMI] = ACTIONS(1334), + [anon_sym___extension__] = ACTIONS(1332), + [anon_sym_typedef] = ACTIONS(1332), + [anon_sym_extern] = ACTIONS(1332), + [anon_sym___attribute__] = ACTIONS(1332), + [anon_sym___attribute] = ACTIONS(1332), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1334), + [anon_sym___declspec] = ACTIONS(1332), + [anon_sym___cdecl] = ACTIONS(1332), + [anon_sym___clrcall] = ACTIONS(1332), + [anon_sym___stdcall] = ACTIONS(1332), + [anon_sym___fastcall] = ACTIONS(1332), + [anon_sym___thiscall] = ACTIONS(1332), + [anon_sym___vectorcall] = ACTIONS(1332), + [anon_sym_LBRACE] = ACTIONS(1334), + [anon_sym_signed] = ACTIONS(1332), + [anon_sym_unsigned] = ACTIONS(1332), + [anon_sym_long] = ACTIONS(1332), + [anon_sym_short] = ACTIONS(1332), + [anon_sym_static] = ACTIONS(1332), + [anon_sym_auto] = ACTIONS(1332), + [anon_sym_register] = ACTIONS(1332), + [anon_sym_inline] = ACTIONS(1332), + [anon_sym___inline] = ACTIONS(1332), + [anon_sym___inline__] = ACTIONS(1332), + [anon_sym___forceinline] = ACTIONS(1332), + [anon_sym_thread_local] = ACTIONS(1332), + [anon_sym___thread] = ACTIONS(1332), + [anon_sym_const] = ACTIONS(1332), + [anon_sym_constexpr] = ACTIONS(1332), + [anon_sym_volatile] = ACTIONS(1332), + [anon_sym_restrict] = ACTIONS(1332), + [anon_sym___restrict__] = ACTIONS(1332), + [anon_sym__Atomic] = ACTIONS(1332), + [anon_sym__Noreturn] = ACTIONS(1332), + [anon_sym_noreturn] = ACTIONS(1332), + [anon_sym__Nonnull] = ACTIONS(1332), + [anon_sym_alignas] = ACTIONS(1332), + [anon_sym__Alignas] = ACTIONS(1332), + [sym_primitive_type] = ACTIONS(1332), + [anon_sym_enum] = ACTIONS(1332), + [anon_sym_struct] = ACTIONS(1332), + [anon_sym_union] = ACTIONS(1332), + [anon_sym_if] = ACTIONS(1332), + [anon_sym_switch] = ACTIONS(1332), + [anon_sym_case] = ACTIONS(1332), + [anon_sym_default] = ACTIONS(1332), + [anon_sym_while] = ACTIONS(1332), + [anon_sym_do] = ACTIONS(1332), + [anon_sym_for] = ACTIONS(1332), + [anon_sym_return] = ACTIONS(1332), + [anon_sym_break] = ACTIONS(1332), + [anon_sym_continue] = ACTIONS(1332), + [anon_sym_goto] = ACTIONS(1332), + [anon_sym_DASH_DASH] = ACTIONS(1334), + [anon_sym_PLUS_PLUS] = ACTIONS(1334), + [anon_sym_sizeof] = ACTIONS(1332), + [anon_sym___alignof__] = ACTIONS(1332), + [anon_sym___alignof] = ACTIONS(1332), + [anon_sym__alignof] = ACTIONS(1332), + [anon_sym_alignof] = ACTIONS(1332), + [anon_sym__Alignof] = ACTIONS(1332), + [anon_sym_offsetof] = ACTIONS(1332), + [anon_sym__Generic] = ACTIONS(1332), + [anon_sym_asm] = ACTIONS(1332), + [anon_sym___asm__] = ACTIONS(1332), + [anon_sym___asm] = ACTIONS(1332), + [sym_number_literal] = ACTIONS(1334), + [anon_sym_L_SQUOTE] = ACTIONS(1334), + [anon_sym_u_SQUOTE] = ACTIONS(1334), + [anon_sym_U_SQUOTE] = ACTIONS(1334), + [anon_sym_u8_SQUOTE] = ACTIONS(1334), + [anon_sym_SQUOTE] = ACTIONS(1334), + [anon_sym_L_DQUOTE] = ACTIONS(1334), + [anon_sym_u_DQUOTE] = ACTIONS(1334), + [anon_sym_U_DQUOTE] = ACTIONS(1334), + [anon_sym_u8_DQUOTE] = ACTIONS(1334), + [anon_sym_DQUOTE] = ACTIONS(1334), + [sym_true] = ACTIONS(1332), + [sym_false] = ACTIONS(1332), + [anon_sym_NULL] = ACTIONS(1332), + [anon_sym_nullptr] = ACTIONS(1332), + [sym_comment] = ACTIONS(3), + }, + [361] = { + [sym_attribute_declaration] = STATE(356), + [sym_compound_statement] = STATE(250), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(241), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(356), + [sym_identifier] = ACTIONS(1422), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_if] = ACTIONS(1095), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(1103), + [anon_sym_default] = ACTIONS(1105), + [anon_sym_while] = ACTIONS(1097), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(1099), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(1101), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [362] = { + [ts_builtin_sym_end] = ACTIONS(1623), + [sym_identifier] = ACTIONS(1626), + [aux_sym_preproc_include_token1] = ACTIONS(1626), + [aux_sym_preproc_def_token1] = ACTIONS(1626), + [aux_sym_preproc_if_token1] = ACTIONS(1626), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1626), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1626), + [sym_preproc_directive] = ACTIONS(1626), + [anon_sym_LPAREN2] = ACTIONS(1623), + [anon_sym_BANG] = ACTIONS(1623), + [anon_sym_TILDE] = ACTIONS(1623), + [anon_sym_DASH] = ACTIONS(1626), + [anon_sym_PLUS] = ACTIONS(1626), + [anon_sym_STAR] = ACTIONS(1623), + [anon_sym_AMP] = ACTIONS(1623), + [anon_sym_SEMI] = ACTIONS(1623), + [anon_sym___extension__] = ACTIONS(1626), + [anon_sym_typedef] = ACTIONS(1626), + [anon_sym_extern] = ACTIONS(1626), + [anon_sym___attribute__] = ACTIONS(1626), + [anon_sym___attribute] = ACTIONS(1626), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1623), + [anon_sym___declspec] = ACTIONS(1626), + [anon_sym___cdecl] = ACTIONS(1626), + [anon_sym___clrcall] = ACTIONS(1626), + [anon_sym___stdcall] = ACTIONS(1626), + [anon_sym___fastcall] = ACTIONS(1626), + [anon_sym___thiscall] = ACTIONS(1626), + [anon_sym___vectorcall] = ACTIONS(1626), + [anon_sym_LBRACE] = ACTIONS(1623), + [anon_sym_signed] = ACTIONS(1626), + [anon_sym_unsigned] = ACTIONS(1626), + [anon_sym_long] = ACTIONS(1626), + [anon_sym_short] = ACTIONS(1626), + [anon_sym_static] = ACTIONS(1626), + [anon_sym_auto] = ACTIONS(1626), + [anon_sym_register] = ACTIONS(1626), + [anon_sym_inline] = ACTIONS(1626), + [anon_sym___inline] = ACTIONS(1626), + [anon_sym___inline__] = ACTIONS(1626), + [anon_sym___forceinline] = ACTIONS(1626), + [anon_sym_thread_local] = ACTIONS(1626), + [anon_sym___thread] = ACTIONS(1626), + [anon_sym_const] = ACTIONS(1626), + [anon_sym_constexpr] = ACTIONS(1626), + [anon_sym_volatile] = ACTIONS(1626), + [anon_sym_restrict] = ACTIONS(1626), + [anon_sym___restrict__] = ACTIONS(1626), + [anon_sym__Atomic] = ACTIONS(1626), + [anon_sym__Noreturn] = ACTIONS(1626), + [anon_sym_noreturn] = ACTIONS(1626), + [anon_sym__Nonnull] = ACTIONS(1626), + [anon_sym_alignas] = ACTIONS(1626), + [anon_sym__Alignas] = ACTIONS(1626), + [sym_primitive_type] = ACTIONS(1626), + [anon_sym_enum] = ACTIONS(1626), + [anon_sym_struct] = ACTIONS(1626), + [anon_sym_union] = ACTIONS(1626), + [anon_sym_if] = ACTIONS(1626), + [anon_sym_switch] = ACTIONS(1626), + [anon_sym_case] = ACTIONS(1626), + [anon_sym_default] = ACTIONS(1626), + [anon_sym_while] = ACTIONS(1626), + [anon_sym_do] = ACTIONS(1626), + [anon_sym_for] = ACTIONS(1626), + [anon_sym_return] = ACTIONS(1626), + [anon_sym_break] = ACTIONS(1626), + [anon_sym_continue] = ACTIONS(1626), + [anon_sym_goto] = ACTIONS(1626), + [anon_sym_DASH_DASH] = ACTIONS(1623), + [anon_sym_PLUS_PLUS] = ACTIONS(1623), + [anon_sym_sizeof] = ACTIONS(1626), + [anon_sym___alignof__] = ACTIONS(1626), + [anon_sym___alignof] = ACTIONS(1626), + [anon_sym__alignof] = ACTIONS(1626), + [anon_sym_alignof] = ACTIONS(1626), + [anon_sym__Alignof] = ACTIONS(1626), + [anon_sym_offsetof] = ACTIONS(1626), + [anon_sym__Generic] = ACTIONS(1626), + [anon_sym_asm] = ACTIONS(1626), + [anon_sym___asm__] = ACTIONS(1626), + [anon_sym___asm] = ACTIONS(1626), + [sym_number_literal] = ACTIONS(1623), + [anon_sym_L_SQUOTE] = ACTIONS(1623), + [anon_sym_u_SQUOTE] = ACTIONS(1623), + [anon_sym_U_SQUOTE] = ACTIONS(1623), + [anon_sym_u8_SQUOTE] = ACTIONS(1623), + [anon_sym_SQUOTE] = ACTIONS(1623), + [anon_sym_L_DQUOTE] = ACTIONS(1623), + [anon_sym_u_DQUOTE] = ACTIONS(1623), + [anon_sym_U_DQUOTE] = ACTIONS(1623), + [anon_sym_u8_DQUOTE] = ACTIONS(1623), + [anon_sym_DQUOTE] = ACTIONS(1623), + [sym_true] = ACTIONS(1626), + [sym_false] = ACTIONS(1626), + [anon_sym_NULL] = ACTIONS(1626), + [anon_sym_nullptr] = ACTIONS(1626), + [sym_comment] = ACTIONS(3), + }, + [363] = { + [sym_attribute_declaration] = STATE(378), + [sym_compound_statement] = STATE(180), + [sym_attributed_statement] = STATE(180), + [sym_statement] = STATE(148), + [sym_labeled_statement] = STATE(180), + [sym_expression_statement] = STATE(180), + [sym_if_statement] = STATE(180), + [sym_switch_statement] = STATE(180), + [sym_case_statement] = STATE(180), + [sym_while_statement] = STATE(180), + [sym_do_statement] = STATE(180), + [sym_for_statement] = STATE(180), + [sym_return_statement] = STATE(180), + [sym_break_statement] = STATE(180), + [sym_continue_statement] = STATE(180), + [sym_goto_statement] = STATE(180), + [sym_seh_try_statement] = STATE(180), + [sym_seh_leave_statement] = STATE(180), + [sym_expression] = STATE(1052), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1858), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(378), + [sym_identifier] = ACTIONS(1629), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(498), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(506), + [anon_sym_if] = ACTIONS(508), + [anon_sym_switch] = ACTIONS(510), + [anon_sym_case] = ACTIONS(512), + [anon_sym_default] = ACTIONS(514), + [anon_sym_while] = ACTIONS(516), + [anon_sym_do] = ACTIONS(518), + [anon_sym_for] = ACTIONS(520), + [anon_sym_return] = ACTIONS(522), + [anon_sym_break] = ACTIONS(524), + [anon_sym_continue] = ACTIONS(526), + [anon_sym_goto] = ACTIONS(528), + [anon_sym___try] = ACTIONS(530), + [anon_sym___leave] = ACTIONS(532), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [364] = { + [sym_attribute_declaration] = STATE(378), + [sym_compound_statement] = STATE(180), + [sym_attributed_statement] = STATE(180), + [sym_statement] = STATE(193), + [sym_labeled_statement] = STATE(180), + [sym_expression_statement] = STATE(180), + [sym_if_statement] = STATE(180), + [sym_switch_statement] = STATE(180), + [sym_case_statement] = STATE(180), + [sym_while_statement] = STATE(180), + [sym_do_statement] = STATE(180), + [sym_for_statement] = STATE(180), + [sym_return_statement] = STATE(180), + [sym_break_statement] = STATE(180), + [sym_continue_statement] = STATE(180), + [sym_goto_statement] = STATE(180), + [sym_seh_try_statement] = STATE(180), + [sym_seh_leave_statement] = STATE(180), + [sym_expression] = STATE(1052), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1858), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(378), + [sym_identifier] = ACTIONS(1629), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(498), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(506), + [anon_sym_if] = ACTIONS(508), + [anon_sym_switch] = ACTIONS(510), + [anon_sym_case] = ACTIONS(512), + [anon_sym_default] = ACTIONS(514), + [anon_sym_while] = ACTIONS(516), + [anon_sym_do] = ACTIONS(518), + [anon_sym_for] = ACTIONS(520), + [anon_sym_return] = ACTIONS(522), + [anon_sym_break] = ACTIONS(524), + [anon_sym_continue] = ACTIONS(526), + [anon_sym_goto] = ACTIONS(528), + [anon_sym___try] = ACTIONS(530), + [anon_sym___leave] = ACTIONS(532), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [365] = { + [sym_attribute_declaration] = STATE(365), + [sym_compound_statement] = STATE(180), + [sym_attributed_statement] = STATE(180), + [sym_statement] = STATE(185), + [sym_labeled_statement] = STATE(180), + [sym_expression_statement] = STATE(180), + [sym_if_statement] = STATE(180), + [sym_switch_statement] = STATE(180), + [sym_case_statement] = STATE(180), + [sym_while_statement] = STATE(180), + [sym_do_statement] = STATE(180), + [sym_for_statement] = STATE(180), + [sym_return_statement] = STATE(180), + [sym_break_statement] = STATE(180), + [sym_continue_statement] = STATE(180), + [sym_goto_statement] = STATE(180), + [sym_seh_try_statement] = STATE(180), + [sym_seh_leave_statement] = STATE(180), + [sym_expression] = STATE(1052), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1858), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(365), + [sym_identifier] = ACTIONS(1631), + [anon_sym_LPAREN2] = ACTIONS(1427), + [anon_sym_BANG] = ACTIONS(1430), + [anon_sym_TILDE] = ACTIONS(1430), + [anon_sym_DASH] = ACTIONS(1433), + [anon_sym_PLUS] = ACTIONS(1433), + [anon_sym_STAR] = ACTIONS(1436), + [anon_sym_AMP] = ACTIONS(1436), + [anon_sym_SEMI] = ACTIONS(1634), + [anon_sym___extension__] = ACTIONS(1442), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1445), + [anon_sym_LBRACE] = ACTIONS(1637), + [anon_sym_if] = ACTIONS(1640), + [anon_sym_switch] = ACTIONS(1643), + [anon_sym_case] = ACTIONS(1646), + [anon_sym_default] = ACTIONS(1649), + [anon_sym_while] = ACTIONS(1652), + [anon_sym_do] = ACTIONS(1655), + [anon_sym_for] = ACTIONS(1658), + [anon_sym_return] = ACTIONS(1661), + [anon_sym_break] = ACTIONS(1664), + [anon_sym_continue] = ACTIONS(1667), + [anon_sym_goto] = ACTIONS(1670), + [anon_sym___try] = ACTIONS(1673), + [anon_sym___leave] = ACTIONS(1676), + [anon_sym_DASH_DASH] = ACTIONS(1490), + [anon_sym_PLUS_PLUS] = ACTIONS(1490), + [anon_sym_sizeof] = ACTIONS(1493), + [anon_sym___alignof__] = ACTIONS(1496), + [anon_sym___alignof] = ACTIONS(1496), + [anon_sym__alignof] = ACTIONS(1496), + [anon_sym_alignof] = ACTIONS(1496), + [anon_sym__Alignof] = ACTIONS(1496), + [anon_sym_offsetof] = ACTIONS(1499), + [anon_sym__Generic] = ACTIONS(1502), + [anon_sym_asm] = ACTIONS(1505), + [anon_sym___asm__] = ACTIONS(1505), + [anon_sym___asm] = ACTIONS(1505), + [sym_number_literal] = ACTIONS(1508), + [anon_sym_L_SQUOTE] = ACTIONS(1511), + [anon_sym_u_SQUOTE] = ACTIONS(1511), + [anon_sym_U_SQUOTE] = ACTIONS(1511), + [anon_sym_u8_SQUOTE] = ACTIONS(1511), + [anon_sym_SQUOTE] = ACTIONS(1511), + [anon_sym_L_DQUOTE] = ACTIONS(1514), + [anon_sym_u_DQUOTE] = ACTIONS(1514), + [anon_sym_U_DQUOTE] = ACTIONS(1514), + [anon_sym_u8_DQUOTE] = ACTIONS(1514), + [anon_sym_DQUOTE] = ACTIONS(1514), + [sym_true] = ACTIONS(1517), + [sym_false] = ACTIONS(1517), + [anon_sym_NULL] = ACTIONS(1520), + [anon_sym_nullptr] = ACTIONS(1520), + [sym_comment] = ACTIONS(3), + }, + [366] = { + [sym_attribute_declaration] = STATE(366), + [sym_compound_statement] = STATE(159), + [sym_attributed_statement] = STATE(159), + [sym_statement] = STATE(241), + [sym_labeled_statement] = STATE(159), + [sym_expression_statement] = STATE(159), + [sym_if_statement] = STATE(159), + [sym_switch_statement] = STATE(159), + [sym_case_statement] = STATE(159), + [sym_while_statement] = STATE(159), + [sym_do_statement] = STATE(159), + [sym_for_statement] = STATE(159), + [sym_return_statement] = STATE(159), + [sym_break_statement] = STATE(159), + [sym_continue_statement] = STATE(159), + [sym_goto_statement] = STATE(159), + [sym_seh_try_statement] = STATE(159), + [sym_seh_leave_statement] = STATE(159), + [sym_expression] = STATE(1074), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1913), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(366), + [sym_identifier] = ACTIONS(1679), + [anon_sym_LPAREN2] = ACTIONS(1427), + [anon_sym_BANG] = ACTIONS(1430), + [anon_sym_TILDE] = ACTIONS(1430), + [anon_sym_DASH] = ACTIONS(1433), + [anon_sym_PLUS] = ACTIONS(1433), + [anon_sym_STAR] = ACTIONS(1436), + [anon_sym_AMP] = ACTIONS(1436), + [anon_sym_SEMI] = ACTIONS(1682), + [anon_sym___extension__] = ACTIONS(1442), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1445), + [anon_sym_LBRACE] = ACTIONS(1584), + [anon_sym_if] = ACTIONS(1685), + [anon_sym_switch] = ACTIONS(1590), + [anon_sym_case] = ACTIONS(1688), + [anon_sym_default] = ACTIONS(1691), + [anon_sym_while] = ACTIONS(1694), + [anon_sym_do] = ACTIONS(1602), + [anon_sym_for] = ACTIONS(1697), + [anon_sym_return] = ACTIONS(1608), + [anon_sym_break] = ACTIONS(1611), + [anon_sym_continue] = ACTIONS(1614), + [anon_sym_goto] = ACTIONS(1617), + [anon_sym___try] = ACTIONS(1700), + [anon_sym___leave] = ACTIONS(1703), + [anon_sym_DASH_DASH] = ACTIONS(1490), + [anon_sym_PLUS_PLUS] = ACTIONS(1490), + [anon_sym_sizeof] = ACTIONS(1493), + [anon_sym___alignof__] = ACTIONS(1496), + [anon_sym___alignof] = ACTIONS(1496), + [anon_sym__alignof] = ACTIONS(1496), + [anon_sym_alignof] = ACTIONS(1496), + [anon_sym__Alignof] = ACTIONS(1496), + [anon_sym_offsetof] = ACTIONS(1499), + [anon_sym__Generic] = ACTIONS(1502), + [anon_sym_asm] = ACTIONS(1505), + [anon_sym___asm__] = ACTIONS(1505), + [anon_sym___asm] = ACTIONS(1505), + [sym_number_literal] = ACTIONS(1508), + [anon_sym_L_SQUOTE] = ACTIONS(1511), + [anon_sym_u_SQUOTE] = ACTIONS(1511), + [anon_sym_U_SQUOTE] = ACTIONS(1511), + [anon_sym_u8_SQUOTE] = ACTIONS(1511), + [anon_sym_SQUOTE] = ACTIONS(1511), + [anon_sym_L_DQUOTE] = ACTIONS(1514), + [anon_sym_u_DQUOTE] = ACTIONS(1514), + [anon_sym_U_DQUOTE] = ACTIONS(1514), + [anon_sym_u8_DQUOTE] = ACTIONS(1514), + [anon_sym_DQUOTE] = ACTIONS(1514), + [sym_true] = ACTIONS(1517), + [sym_false] = ACTIONS(1517), + [anon_sym_NULL] = ACTIONS(1520), + [anon_sym_nullptr] = ACTIONS(1520), + [sym_comment] = ACTIONS(3), + }, + [367] = { + [ts_builtin_sym_end] = ACTIONS(1354), + [sym_identifier] = ACTIONS(1352), + [aux_sym_preproc_include_token1] = ACTIONS(1352), + [aux_sym_preproc_def_token1] = ACTIONS(1352), + [aux_sym_preproc_if_token1] = ACTIONS(1352), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1352), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1352), + [sym_preproc_directive] = ACTIONS(1352), + [anon_sym_LPAREN2] = ACTIONS(1354), + [anon_sym_BANG] = ACTIONS(1354), + [anon_sym_TILDE] = ACTIONS(1354), + [anon_sym_DASH] = ACTIONS(1352), + [anon_sym_PLUS] = ACTIONS(1352), + [anon_sym_STAR] = ACTIONS(1354), + [anon_sym_AMP] = ACTIONS(1354), + [anon_sym_SEMI] = ACTIONS(1354), + [anon_sym___extension__] = ACTIONS(1352), + [anon_sym_typedef] = ACTIONS(1352), + [anon_sym_extern] = ACTIONS(1352), + [anon_sym___attribute__] = ACTIONS(1352), + [anon_sym___attribute] = ACTIONS(1352), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1354), + [anon_sym___declspec] = ACTIONS(1352), + [anon_sym___cdecl] = ACTIONS(1352), + [anon_sym___clrcall] = ACTIONS(1352), + [anon_sym___stdcall] = ACTIONS(1352), + [anon_sym___fastcall] = ACTIONS(1352), + [anon_sym___thiscall] = ACTIONS(1352), + [anon_sym___vectorcall] = ACTIONS(1352), + [anon_sym_LBRACE] = ACTIONS(1354), + [anon_sym_signed] = ACTIONS(1352), + [anon_sym_unsigned] = ACTIONS(1352), + [anon_sym_long] = ACTIONS(1352), + [anon_sym_short] = ACTIONS(1352), + [anon_sym_static] = ACTIONS(1352), + [anon_sym_auto] = ACTIONS(1352), + [anon_sym_register] = ACTIONS(1352), + [anon_sym_inline] = ACTIONS(1352), + [anon_sym___inline] = ACTIONS(1352), + [anon_sym___inline__] = ACTIONS(1352), + [anon_sym___forceinline] = ACTIONS(1352), + [anon_sym_thread_local] = ACTIONS(1352), + [anon_sym___thread] = ACTIONS(1352), + [anon_sym_const] = ACTIONS(1352), + [anon_sym_constexpr] = ACTIONS(1352), + [anon_sym_volatile] = ACTIONS(1352), + [anon_sym_restrict] = ACTIONS(1352), + [anon_sym___restrict__] = ACTIONS(1352), + [anon_sym__Atomic] = ACTIONS(1352), + [anon_sym__Noreturn] = ACTIONS(1352), + [anon_sym_noreturn] = ACTIONS(1352), + [anon_sym__Nonnull] = ACTIONS(1352), + [anon_sym_alignas] = ACTIONS(1352), + [anon_sym__Alignas] = ACTIONS(1352), + [sym_primitive_type] = ACTIONS(1352), + [anon_sym_enum] = ACTIONS(1352), + [anon_sym_struct] = ACTIONS(1352), + [anon_sym_union] = ACTIONS(1352), + [anon_sym_if] = ACTIONS(1352), + [anon_sym_switch] = ACTIONS(1352), + [anon_sym_case] = ACTIONS(1352), + [anon_sym_default] = ACTIONS(1352), + [anon_sym_while] = ACTIONS(1352), + [anon_sym_do] = ACTIONS(1352), + [anon_sym_for] = ACTIONS(1352), + [anon_sym_return] = ACTIONS(1352), + [anon_sym_break] = ACTIONS(1352), + [anon_sym_continue] = ACTIONS(1352), + [anon_sym_goto] = ACTIONS(1352), + [anon_sym_DASH_DASH] = ACTIONS(1354), + [anon_sym_PLUS_PLUS] = ACTIONS(1354), + [anon_sym_sizeof] = ACTIONS(1352), + [anon_sym___alignof__] = ACTIONS(1352), + [anon_sym___alignof] = ACTIONS(1352), + [anon_sym__alignof] = ACTIONS(1352), + [anon_sym_alignof] = ACTIONS(1352), + [anon_sym__Alignof] = ACTIONS(1352), + [anon_sym_offsetof] = ACTIONS(1352), + [anon_sym__Generic] = ACTIONS(1352), + [anon_sym_asm] = ACTIONS(1352), + [anon_sym___asm__] = ACTIONS(1352), + [anon_sym___asm] = ACTIONS(1352), + [sym_number_literal] = ACTIONS(1354), + [anon_sym_L_SQUOTE] = ACTIONS(1354), + [anon_sym_u_SQUOTE] = ACTIONS(1354), + [anon_sym_U_SQUOTE] = ACTIONS(1354), + [anon_sym_u8_SQUOTE] = ACTIONS(1354), + [anon_sym_SQUOTE] = ACTIONS(1354), + [anon_sym_L_DQUOTE] = ACTIONS(1354), + [anon_sym_u_DQUOTE] = ACTIONS(1354), + [anon_sym_U_DQUOTE] = ACTIONS(1354), + [anon_sym_u8_DQUOTE] = ACTIONS(1354), + [anon_sym_DQUOTE] = ACTIONS(1354), + [sym_true] = ACTIONS(1352), + [sym_false] = ACTIONS(1352), + [anon_sym_NULL] = ACTIONS(1352), + [anon_sym_nullptr] = ACTIONS(1352), + [sym_comment] = ACTIONS(3), + }, + [368] = { + [sym_attribute_declaration] = STATE(349), + [sym_compound_statement] = STATE(250), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(150), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [sym_identifier] = ACTIONS(1414), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [369] = { + [ts_builtin_sym_end] = ACTIONS(1358), + [sym_identifier] = ACTIONS(1356), + [aux_sym_preproc_include_token1] = ACTIONS(1356), + [aux_sym_preproc_def_token1] = ACTIONS(1356), + [aux_sym_preproc_if_token1] = ACTIONS(1356), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1356), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1356), + [sym_preproc_directive] = ACTIONS(1356), + [anon_sym_LPAREN2] = ACTIONS(1358), + [anon_sym_BANG] = ACTIONS(1358), + [anon_sym_TILDE] = ACTIONS(1358), + [anon_sym_DASH] = ACTIONS(1356), + [anon_sym_PLUS] = ACTIONS(1356), + [anon_sym_STAR] = ACTIONS(1358), + [anon_sym_AMP] = ACTIONS(1358), + [anon_sym_SEMI] = ACTIONS(1358), + [anon_sym___extension__] = ACTIONS(1356), + [anon_sym_typedef] = ACTIONS(1356), + [anon_sym_extern] = ACTIONS(1356), + [anon_sym___attribute__] = ACTIONS(1356), + [anon_sym___attribute] = ACTIONS(1356), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1358), + [anon_sym___declspec] = ACTIONS(1356), + [anon_sym___cdecl] = ACTIONS(1356), + [anon_sym___clrcall] = ACTIONS(1356), + [anon_sym___stdcall] = ACTIONS(1356), + [anon_sym___fastcall] = ACTIONS(1356), + [anon_sym___thiscall] = ACTIONS(1356), + [anon_sym___vectorcall] = ACTIONS(1356), + [anon_sym_LBRACE] = ACTIONS(1358), + [anon_sym_signed] = ACTIONS(1356), + [anon_sym_unsigned] = ACTIONS(1356), + [anon_sym_long] = ACTIONS(1356), + [anon_sym_short] = ACTIONS(1356), + [anon_sym_static] = ACTIONS(1356), + [anon_sym_auto] = ACTIONS(1356), + [anon_sym_register] = ACTIONS(1356), + [anon_sym_inline] = ACTIONS(1356), + [anon_sym___inline] = ACTIONS(1356), + [anon_sym___inline__] = ACTIONS(1356), + [anon_sym___forceinline] = ACTIONS(1356), + [anon_sym_thread_local] = ACTIONS(1356), + [anon_sym___thread] = ACTIONS(1356), + [anon_sym_const] = ACTIONS(1356), + [anon_sym_constexpr] = ACTIONS(1356), + [anon_sym_volatile] = ACTIONS(1356), + [anon_sym_restrict] = ACTIONS(1356), + [anon_sym___restrict__] = ACTIONS(1356), + [anon_sym__Atomic] = ACTIONS(1356), + [anon_sym__Noreturn] = ACTIONS(1356), + [anon_sym_noreturn] = ACTIONS(1356), + [anon_sym__Nonnull] = ACTIONS(1356), + [anon_sym_alignas] = ACTIONS(1356), + [anon_sym__Alignas] = ACTIONS(1356), + [sym_primitive_type] = ACTIONS(1356), + [anon_sym_enum] = ACTIONS(1356), + [anon_sym_struct] = ACTIONS(1356), + [anon_sym_union] = ACTIONS(1356), + [anon_sym_if] = ACTIONS(1356), + [anon_sym_switch] = ACTIONS(1356), + [anon_sym_case] = ACTIONS(1356), + [anon_sym_default] = ACTIONS(1356), + [anon_sym_while] = ACTIONS(1356), + [anon_sym_do] = ACTIONS(1356), + [anon_sym_for] = ACTIONS(1356), + [anon_sym_return] = ACTIONS(1356), + [anon_sym_break] = ACTIONS(1356), + [anon_sym_continue] = ACTIONS(1356), + [anon_sym_goto] = ACTIONS(1356), + [anon_sym_DASH_DASH] = ACTIONS(1358), + [anon_sym_PLUS_PLUS] = ACTIONS(1358), + [anon_sym_sizeof] = ACTIONS(1356), + [anon_sym___alignof__] = ACTIONS(1356), + [anon_sym___alignof] = ACTIONS(1356), + [anon_sym__alignof] = ACTIONS(1356), + [anon_sym_alignof] = ACTIONS(1356), + [anon_sym__Alignof] = ACTIONS(1356), + [anon_sym_offsetof] = ACTIONS(1356), + [anon_sym__Generic] = ACTIONS(1356), + [anon_sym_asm] = ACTIONS(1356), + [anon_sym___asm__] = ACTIONS(1356), + [anon_sym___asm] = ACTIONS(1356), + [sym_number_literal] = ACTIONS(1358), + [anon_sym_L_SQUOTE] = ACTIONS(1358), + [anon_sym_u_SQUOTE] = ACTIONS(1358), + [anon_sym_U_SQUOTE] = ACTIONS(1358), + [anon_sym_u8_SQUOTE] = ACTIONS(1358), + [anon_sym_SQUOTE] = ACTIONS(1358), + [anon_sym_L_DQUOTE] = ACTIONS(1358), + [anon_sym_u_DQUOTE] = ACTIONS(1358), + [anon_sym_U_DQUOTE] = ACTIONS(1358), + [anon_sym_u8_DQUOTE] = ACTIONS(1358), + [anon_sym_DQUOTE] = ACTIONS(1358), + [sym_true] = ACTIONS(1356), + [sym_false] = ACTIONS(1356), + [anon_sym_NULL] = ACTIONS(1356), + [anon_sym_nullptr] = ACTIONS(1356), + [sym_comment] = ACTIONS(3), + }, + [370] = { + [sym_attribute_declaration] = STATE(378), + [sym_compound_statement] = STATE(180), + [sym_attributed_statement] = STATE(180), + [sym_statement] = STATE(205), + [sym_labeled_statement] = STATE(180), + [sym_expression_statement] = STATE(180), + [sym_if_statement] = STATE(180), + [sym_switch_statement] = STATE(180), + [sym_case_statement] = STATE(180), + [sym_while_statement] = STATE(180), + [sym_do_statement] = STATE(180), + [sym_for_statement] = STATE(180), + [sym_return_statement] = STATE(180), + [sym_break_statement] = STATE(180), + [sym_continue_statement] = STATE(180), + [sym_goto_statement] = STATE(180), + [sym_seh_try_statement] = STATE(180), + [sym_seh_leave_statement] = STATE(180), + [sym_expression] = STATE(1052), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1858), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(378), + [sym_identifier] = ACTIONS(1629), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(498), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(506), + [anon_sym_if] = ACTIONS(508), + [anon_sym_switch] = ACTIONS(510), + [anon_sym_case] = ACTIONS(512), + [anon_sym_default] = ACTIONS(514), + [anon_sym_while] = ACTIONS(516), + [anon_sym_do] = ACTIONS(518), + [anon_sym_for] = ACTIONS(520), + [anon_sym_return] = ACTIONS(522), + [anon_sym_break] = ACTIONS(524), + [anon_sym_continue] = ACTIONS(526), + [anon_sym_goto] = ACTIONS(528), + [anon_sym___try] = ACTIONS(530), + [anon_sym___leave] = ACTIONS(532), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [371] = { + [sym_attribute_declaration] = STATE(378), + [sym_compound_statement] = STATE(180), + [sym_attributed_statement] = STATE(180), + [sym_statement] = STATE(256), + [sym_labeled_statement] = STATE(180), + [sym_expression_statement] = STATE(180), + [sym_if_statement] = STATE(180), + [sym_switch_statement] = STATE(180), + [sym_case_statement] = STATE(180), + [sym_while_statement] = STATE(180), + [sym_do_statement] = STATE(180), + [sym_for_statement] = STATE(180), + [sym_return_statement] = STATE(180), + [sym_break_statement] = STATE(180), + [sym_continue_statement] = STATE(180), + [sym_goto_statement] = STATE(180), + [sym_seh_try_statement] = STATE(180), + [sym_seh_leave_statement] = STATE(180), + [sym_expression] = STATE(1052), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1858), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(378), + [sym_identifier] = ACTIONS(1629), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(498), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(506), + [anon_sym_if] = ACTIONS(508), + [anon_sym_switch] = ACTIONS(510), + [anon_sym_case] = ACTIONS(512), + [anon_sym_default] = ACTIONS(514), + [anon_sym_while] = ACTIONS(516), + [anon_sym_do] = ACTIONS(518), + [anon_sym_for] = ACTIONS(520), + [anon_sym_return] = ACTIONS(522), + [anon_sym_break] = ACTIONS(524), + [anon_sym_continue] = ACTIONS(526), + [anon_sym_goto] = ACTIONS(528), + [anon_sym___try] = ACTIONS(530), + [anon_sym___leave] = ACTIONS(532), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [372] = { + [sym_attribute_declaration] = STATE(349), + [sym_compound_statement] = STATE(250), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(177), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(349), + [sym_identifier] = ACTIONS(1414), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(378), + [anon_sym_if] = ACTIONS(382), + [anon_sym_switch] = ACTIONS(384), + [anon_sym_case] = ACTIONS(386), + [anon_sym_default] = ACTIONS(388), + [anon_sym_while] = ACTIONS(390), + [anon_sym_do] = ACTIONS(392), + [anon_sym_for] = ACTIONS(394), + [anon_sym_return] = ACTIONS(396), + [anon_sym_break] = ACTIONS(398), + [anon_sym_continue] = ACTIONS(400), + [anon_sym_goto] = ACTIONS(402), + [anon_sym___try] = ACTIONS(404), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [373] = { + [sym_attribute_declaration] = STATE(352), + [sym_compound_statement] = STATE(110), + [sym_attributed_statement] = STATE(110), + [sym_statement] = STATE(114), + [sym_labeled_statement] = STATE(110), + [sym_expression_statement] = STATE(110), + [sym_if_statement] = STATE(110), + [sym_switch_statement] = STATE(110), + [sym_case_statement] = STATE(110), + [sym_while_statement] = STATE(110), + [sym_do_statement] = STATE(110), + [sym_for_statement] = STATE(110), + [sym_return_statement] = STATE(110), + [sym_break_statement] = STATE(110), + [sym_continue_statement] = STATE(110), + [sym_goto_statement] = STATE(110), + [sym_seh_try_statement] = STATE(110), + [sym_seh_leave_statement] = STATE(110), + [sym_expression] = STATE(1049), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1950), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(352), + [sym_identifier] = ACTIONS(1531), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(125), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(133), + [anon_sym_if] = ACTIONS(135), + [anon_sym_switch] = ACTIONS(137), + [anon_sym_case] = ACTIONS(139), + [anon_sym_default] = ACTIONS(141), + [anon_sym_while] = ACTIONS(143), + [anon_sym_do] = ACTIONS(145), + [anon_sym_for] = ACTIONS(147), + [anon_sym_return] = ACTIONS(149), + [anon_sym_break] = ACTIONS(151), + [anon_sym_continue] = ACTIONS(153), + [anon_sym_goto] = ACTIONS(155), + [anon_sym___try] = ACTIONS(157), + [anon_sym___leave] = ACTIONS(159), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [374] = { + [ts_builtin_sym_end] = ACTIONS(1366), + [sym_identifier] = ACTIONS(1364), + [aux_sym_preproc_include_token1] = ACTIONS(1364), + [aux_sym_preproc_def_token1] = ACTIONS(1364), + [aux_sym_preproc_if_token1] = ACTIONS(1364), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1364), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1364), + [sym_preproc_directive] = ACTIONS(1364), + [anon_sym_LPAREN2] = ACTIONS(1366), + [anon_sym_BANG] = ACTIONS(1366), + [anon_sym_TILDE] = ACTIONS(1366), + [anon_sym_DASH] = ACTIONS(1364), + [anon_sym_PLUS] = ACTIONS(1364), + [anon_sym_STAR] = ACTIONS(1366), + [anon_sym_AMP] = ACTIONS(1366), + [anon_sym_SEMI] = ACTIONS(1366), + [anon_sym___extension__] = ACTIONS(1364), + [anon_sym_typedef] = ACTIONS(1364), + [anon_sym_extern] = ACTIONS(1364), + [anon_sym___attribute__] = ACTIONS(1364), + [anon_sym___attribute] = ACTIONS(1364), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1366), + [anon_sym___declspec] = ACTIONS(1364), + [anon_sym___cdecl] = ACTIONS(1364), + [anon_sym___clrcall] = ACTIONS(1364), + [anon_sym___stdcall] = ACTIONS(1364), + [anon_sym___fastcall] = ACTIONS(1364), + [anon_sym___thiscall] = ACTIONS(1364), + [anon_sym___vectorcall] = ACTIONS(1364), + [anon_sym_LBRACE] = ACTIONS(1366), + [anon_sym_signed] = ACTIONS(1364), + [anon_sym_unsigned] = ACTIONS(1364), + [anon_sym_long] = ACTIONS(1364), + [anon_sym_short] = ACTIONS(1364), + [anon_sym_static] = ACTIONS(1364), + [anon_sym_auto] = ACTIONS(1364), + [anon_sym_register] = ACTIONS(1364), + [anon_sym_inline] = ACTIONS(1364), + [anon_sym___inline] = ACTIONS(1364), + [anon_sym___inline__] = ACTIONS(1364), + [anon_sym___forceinline] = ACTIONS(1364), + [anon_sym_thread_local] = ACTIONS(1364), + [anon_sym___thread] = ACTIONS(1364), + [anon_sym_const] = ACTIONS(1364), + [anon_sym_constexpr] = ACTIONS(1364), + [anon_sym_volatile] = ACTIONS(1364), + [anon_sym_restrict] = ACTIONS(1364), + [anon_sym___restrict__] = ACTIONS(1364), + [anon_sym__Atomic] = ACTIONS(1364), + [anon_sym__Noreturn] = ACTIONS(1364), + [anon_sym_noreturn] = ACTIONS(1364), + [anon_sym__Nonnull] = ACTIONS(1364), + [anon_sym_alignas] = ACTIONS(1364), + [anon_sym__Alignas] = ACTIONS(1364), + [sym_primitive_type] = ACTIONS(1364), + [anon_sym_enum] = ACTIONS(1364), + [anon_sym_struct] = ACTIONS(1364), + [anon_sym_union] = ACTIONS(1364), + [anon_sym_if] = ACTIONS(1364), + [anon_sym_switch] = ACTIONS(1364), + [anon_sym_case] = ACTIONS(1364), + [anon_sym_default] = ACTIONS(1364), + [anon_sym_while] = ACTIONS(1364), + [anon_sym_do] = ACTIONS(1364), + [anon_sym_for] = ACTIONS(1364), + [anon_sym_return] = ACTIONS(1364), + [anon_sym_break] = ACTIONS(1364), + [anon_sym_continue] = ACTIONS(1364), + [anon_sym_goto] = ACTIONS(1364), + [anon_sym_DASH_DASH] = ACTIONS(1366), + [anon_sym_PLUS_PLUS] = ACTIONS(1366), + [anon_sym_sizeof] = ACTIONS(1364), + [anon_sym___alignof__] = ACTIONS(1364), + [anon_sym___alignof] = ACTIONS(1364), + [anon_sym__alignof] = ACTIONS(1364), + [anon_sym_alignof] = ACTIONS(1364), + [anon_sym__Alignof] = ACTIONS(1364), + [anon_sym_offsetof] = ACTIONS(1364), + [anon_sym__Generic] = ACTIONS(1364), + [anon_sym_asm] = ACTIONS(1364), + [anon_sym___asm__] = ACTIONS(1364), + [anon_sym___asm] = ACTIONS(1364), + [sym_number_literal] = ACTIONS(1366), + [anon_sym_L_SQUOTE] = ACTIONS(1366), + [anon_sym_u_SQUOTE] = ACTIONS(1366), + [anon_sym_U_SQUOTE] = ACTIONS(1366), + [anon_sym_u8_SQUOTE] = ACTIONS(1366), + [anon_sym_SQUOTE] = ACTIONS(1366), + [anon_sym_L_DQUOTE] = ACTIONS(1366), + [anon_sym_u_DQUOTE] = ACTIONS(1366), + [anon_sym_U_DQUOTE] = ACTIONS(1366), + [anon_sym_u8_DQUOTE] = ACTIONS(1366), + [anon_sym_DQUOTE] = ACTIONS(1366), + [sym_true] = ACTIONS(1364), + [sym_false] = ACTIONS(1364), + [anon_sym_NULL] = ACTIONS(1364), + [anon_sym_nullptr] = ACTIONS(1364), + [sym_comment] = ACTIONS(3), + }, + [375] = { + [sym_attribute_declaration] = STATE(366), + [sym_compound_statement] = STATE(159), + [sym_attributed_statement] = STATE(159), + [sym_statement] = STATE(241), + [sym_labeled_statement] = STATE(159), + [sym_expression_statement] = STATE(159), + [sym_if_statement] = STATE(159), + [sym_switch_statement] = STATE(159), + [sym_case_statement] = STATE(159), + [sym_while_statement] = STATE(159), + [sym_do_statement] = STATE(159), + [sym_for_statement] = STATE(159), + [sym_return_statement] = STATE(159), + [sym_break_statement] = STATE(159), + [sym_continue_statement] = STATE(159), + [sym_goto_statement] = STATE(159), + [sym_seh_try_statement] = STATE(159), + [sym_seh_leave_statement] = STATE(159), + [sym_expression] = STATE(1074), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1913), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(366), + [sym_identifier] = ACTIONS(1420), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(929), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_if] = ACTIONS(61), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(65), + [anon_sym_default] = ACTIONS(67), + [anon_sym_while] = ACTIONS(69), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(931), + [anon_sym___leave] = ACTIONS(933), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [376] = { + [sym_attribute_declaration] = STATE(361), + [sym_compound_statement] = STATE(250), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(2011), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(361), + [sym_identifier] = ACTIONS(1422), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_if] = ACTIONS(1095), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(1103), + [anon_sym_default] = ACTIONS(1105), + [anon_sym_while] = ACTIONS(1097), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(1099), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(1101), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [377] = { + [ts_builtin_sym_end] = ACTIONS(1350), + [sym_identifier] = ACTIONS(1348), + [aux_sym_preproc_include_token1] = ACTIONS(1348), + [aux_sym_preproc_def_token1] = ACTIONS(1348), + [aux_sym_preproc_if_token1] = ACTIONS(1348), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1348), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1348), + [sym_preproc_directive] = ACTIONS(1348), + [anon_sym_LPAREN2] = ACTIONS(1350), + [anon_sym_BANG] = ACTIONS(1350), + [anon_sym_TILDE] = ACTIONS(1350), + [anon_sym_DASH] = ACTIONS(1348), + [anon_sym_PLUS] = ACTIONS(1348), + [anon_sym_STAR] = ACTIONS(1350), + [anon_sym_AMP] = ACTIONS(1350), + [anon_sym_SEMI] = ACTIONS(1350), + [anon_sym___extension__] = ACTIONS(1348), + [anon_sym_typedef] = ACTIONS(1348), + [anon_sym_extern] = ACTIONS(1348), + [anon_sym___attribute__] = ACTIONS(1348), + [anon_sym___attribute] = ACTIONS(1348), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1350), + [anon_sym___declspec] = ACTIONS(1348), + [anon_sym___cdecl] = ACTIONS(1348), + [anon_sym___clrcall] = ACTIONS(1348), + [anon_sym___stdcall] = ACTIONS(1348), + [anon_sym___fastcall] = ACTIONS(1348), + [anon_sym___thiscall] = ACTIONS(1348), + [anon_sym___vectorcall] = ACTIONS(1348), + [anon_sym_LBRACE] = ACTIONS(1350), + [anon_sym_signed] = ACTIONS(1348), + [anon_sym_unsigned] = ACTIONS(1348), + [anon_sym_long] = ACTIONS(1348), + [anon_sym_short] = ACTIONS(1348), + [anon_sym_static] = ACTIONS(1348), + [anon_sym_auto] = ACTIONS(1348), + [anon_sym_register] = ACTIONS(1348), + [anon_sym_inline] = ACTIONS(1348), + [anon_sym___inline] = ACTIONS(1348), + [anon_sym___inline__] = ACTIONS(1348), + [anon_sym___forceinline] = ACTIONS(1348), + [anon_sym_thread_local] = ACTIONS(1348), + [anon_sym___thread] = ACTIONS(1348), + [anon_sym_const] = ACTIONS(1348), + [anon_sym_constexpr] = ACTIONS(1348), + [anon_sym_volatile] = ACTIONS(1348), + [anon_sym_restrict] = ACTIONS(1348), + [anon_sym___restrict__] = ACTIONS(1348), + [anon_sym__Atomic] = ACTIONS(1348), + [anon_sym__Noreturn] = ACTIONS(1348), + [anon_sym_noreturn] = ACTIONS(1348), + [anon_sym__Nonnull] = ACTIONS(1348), + [anon_sym_alignas] = ACTIONS(1348), + [anon_sym__Alignas] = ACTIONS(1348), + [sym_primitive_type] = ACTIONS(1348), + [anon_sym_enum] = ACTIONS(1348), + [anon_sym_struct] = ACTIONS(1348), + [anon_sym_union] = ACTIONS(1348), + [anon_sym_if] = ACTIONS(1348), + [anon_sym_switch] = ACTIONS(1348), + [anon_sym_case] = ACTIONS(1348), + [anon_sym_default] = ACTIONS(1348), + [anon_sym_while] = ACTIONS(1348), + [anon_sym_do] = ACTIONS(1348), + [anon_sym_for] = ACTIONS(1348), + [anon_sym_return] = ACTIONS(1348), + [anon_sym_break] = ACTIONS(1348), + [anon_sym_continue] = ACTIONS(1348), + [anon_sym_goto] = ACTIONS(1348), + [anon_sym_DASH_DASH] = ACTIONS(1350), + [anon_sym_PLUS_PLUS] = ACTIONS(1350), + [anon_sym_sizeof] = ACTIONS(1348), + [anon_sym___alignof__] = ACTIONS(1348), + [anon_sym___alignof] = ACTIONS(1348), + [anon_sym__alignof] = ACTIONS(1348), + [anon_sym_alignof] = ACTIONS(1348), + [anon_sym__Alignof] = ACTIONS(1348), + [anon_sym_offsetof] = ACTIONS(1348), + [anon_sym__Generic] = ACTIONS(1348), + [anon_sym_asm] = ACTIONS(1348), + [anon_sym___asm__] = ACTIONS(1348), + [anon_sym___asm] = ACTIONS(1348), + [sym_number_literal] = ACTIONS(1350), + [anon_sym_L_SQUOTE] = ACTIONS(1350), + [anon_sym_u_SQUOTE] = ACTIONS(1350), + [anon_sym_U_SQUOTE] = ACTIONS(1350), + [anon_sym_u8_SQUOTE] = ACTIONS(1350), + [anon_sym_SQUOTE] = ACTIONS(1350), + [anon_sym_L_DQUOTE] = ACTIONS(1350), + [anon_sym_u_DQUOTE] = ACTIONS(1350), + [anon_sym_U_DQUOTE] = ACTIONS(1350), + [anon_sym_u8_DQUOTE] = ACTIONS(1350), + [anon_sym_DQUOTE] = ACTIONS(1350), + [sym_true] = ACTIONS(1348), + [sym_false] = ACTIONS(1348), + [anon_sym_NULL] = ACTIONS(1348), + [anon_sym_nullptr] = ACTIONS(1348), + [sym_comment] = ACTIONS(3), + }, + [378] = { + [sym_attribute_declaration] = STATE(365), + [sym_compound_statement] = STATE(180), + [sym_attributed_statement] = STATE(180), + [sym_statement] = STATE(185), + [sym_labeled_statement] = STATE(180), + [sym_expression_statement] = STATE(180), + [sym_if_statement] = STATE(180), + [sym_switch_statement] = STATE(180), + [sym_case_statement] = STATE(180), + [sym_while_statement] = STATE(180), + [sym_do_statement] = STATE(180), + [sym_for_statement] = STATE(180), + [sym_return_statement] = STATE(180), + [sym_break_statement] = STATE(180), + [sym_continue_statement] = STATE(180), + [sym_goto_statement] = STATE(180), + [sym_seh_try_statement] = STATE(180), + [sym_seh_leave_statement] = STATE(180), + [sym_expression] = STATE(1052), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1858), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(365), + [sym_identifier] = ACTIONS(1629), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(498), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(506), + [anon_sym_if] = ACTIONS(508), + [anon_sym_switch] = ACTIONS(510), + [anon_sym_case] = ACTIONS(512), + [anon_sym_default] = ACTIONS(514), + [anon_sym_while] = ACTIONS(516), + [anon_sym_do] = ACTIONS(518), + [anon_sym_for] = ACTIONS(520), + [anon_sym_return] = ACTIONS(522), + [anon_sym_break] = ACTIONS(524), + [anon_sym_continue] = ACTIONS(526), + [anon_sym_goto] = ACTIONS(528), + [anon_sym___try] = ACTIONS(530), + [anon_sym___leave] = ACTIONS(532), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [379] = { + [sym_attribute_declaration] = STATE(361), + [sym_compound_statement] = STATE(250), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(1988), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(361), + [sym_identifier] = ACTIONS(1422), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_if] = ACTIONS(1095), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(1103), + [anon_sym_default] = ACTIONS(1105), + [anon_sym_while] = ACTIONS(1097), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(1099), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(1101), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [380] = { + [sym_attribute_declaration] = STATE(361), + [sym_compound_statement] = STATE(250), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(2003), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(361), + [sym_identifier] = ACTIONS(1422), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_if] = ACTIONS(1095), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(1103), + [anon_sym_default] = ACTIONS(1105), + [anon_sym_while] = ACTIONS(1097), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(1099), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(1101), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [381] = { + [sym_attribute_declaration] = STATE(361), + [sym_compound_statement] = STATE(250), + [sym_attributed_statement] = STATE(250), + [sym_statement] = STATE(406), + [sym_labeled_statement] = STATE(250), + [sym_expression_statement] = STATE(250), + [sym_if_statement] = STATE(250), + [sym_switch_statement] = STATE(250), + [sym_case_statement] = STATE(250), + [sym_while_statement] = STATE(250), + [sym_do_statement] = STATE(250), + [sym_for_statement] = STATE(250), + [sym_return_statement] = STATE(250), + [sym_break_statement] = STATE(250), + [sym_continue_statement] = STATE(250), + [sym_goto_statement] = STATE(250), + [sym_seh_try_statement] = STATE(250), + [sym_seh_leave_statement] = STATE(250), + [sym_expression] = STATE(1071), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1906), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_attributed_declarator_repeat1] = STATE(361), + [sym_identifier] = ACTIONS(1422), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(370), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1418), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_if] = ACTIONS(1095), + [anon_sym_switch] = ACTIONS(63), + [anon_sym_case] = ACTIONS(1103), + [anon_sym_default] = ACTIONS(1105), + [anon_sym_while] = ACTIONS(1097), + [anon_sym_do] = ACTIONS(71), + [anon_sym_for] = ACTIONS(1099), + [anon_sym_return] = ACTIONS(75), + [anon_sym_break] = ACTIONS(77), + [anon_sym_continue] = ACTIONS(79), + [anon_sym_goto] = ACTIONS(81), + [anon_sym___try] = ACTIONS(1101), + [anon_sym___leave] = ACTIONS(406), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [382] = { + [sym_expression] = STATE(969), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_identifier] = ACTIONS(1706), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1709), + [anon_sym_typedef] = ACTIONS(1712), + [anon_sym_extern] = ACTIONS(1714), + [anon_sym___attribute__] = ACTIONS(1714), + [anon_sym___attribute] = ACTIONS(1714), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1716), + [anon_sym___declspec] = ACTIONS(1714), + [anon_sym_signed] = ACTIONS(1714), + [anon_sym_unsigned] = ACTIONS(1714), + [anon_sym_long] = ACTIONS(1714), + [anon_sym_short] = ACTIONS(1714), + [anon_sym_static] = ACTIONS(1714), + [anon_sym_auto] = ACTIONS(1714), + [anon_sym_register] = ACTIONS(1714), + [anon_sym_inline] = ACTIONS(1714), + [anon_sym___inline] = ACTIONS(1714), + [anon_sym___inline__] = ACTIONS(1714), + [anon_sym___forceinline] = ACTIONS(1714), + [anon_sym_thread_local] = ACTIONS(1714), + [anon_sym___thread] = ACTIONS(1714), + [anon_sym_const] = ACTIONS(1714), + [anon_sym_constexpr] = ACTIONS(1714), + [anon_sym_volatile] = ACTIONS(1714), + [anon_sym_restrict] = ACTIONS(1714), + [anon_sym___restrict__] = ACTIONS(1714), + [anon_sym__Atomic] = ACTIONS(1714), + [anon_sym__Noreturn] = ACTIONS(1714), + [anon_sym_noreturn] = ACTIONS(1714), + [anon_sym__Nonnull] = ACTIONS(1714), + [anon_sym_alignas] = ACTIONS(1714), + [anon_sym__Alignas] = ACTIONS(1714), + [sym_primitive_type] = ACTIONS(1714), + [anon_sym_enum] = ACTIONS(1714), + [anon_sym_struct] = ACTIONS(1714), + [anon_sym_union] = ACTIONS(1714), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [383] = { + [sym_expression] = STATE(969), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_identifier] = ACTIONS(1706), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1709), + [anon_sym_typedef] = ACTIONS(1718), + [anon_sym_extern] = ACTIONS(1714), + [anon_sym___attribute__] = ACTIONS(1714), + [anon_sym___attribute] = ACTIONS(1714), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1716), + [anon_sym___declspec] = ACTIONS(1714), + [anon_sym_signed] = ACTIONS(1714), + [anon_sym_unsigned] = ACTIONS(1714), + [anon_sym_long] = ACTIONS(1714), + [anon_sym_short] = ACTIONS(1714), + [anon_sym_static] = ACTIONS(1714), + [anon_sym_auto] = ACTIONS(1714), + [anon_sym_register] = ACTIONS(1714), + [anon_sym_inline] = ACTIONS(1714), + [anon_sym___inline] = ACTIONS(1714), + [anon_sym___inline__] = ACTIONS(1714), + [anon_sym___forceinline] = ACTIONS(1714), + [anon_sym_thread_local] = ACTIONS(1714), + [anon_sym___thread] = ACTIONS(1714), + [anon_sym_const] = ACTIONS(1714), + [anon_sym_constexpr] = ACTIONS(1714), + [anon_sym_volatile] = ACTIONS(1714), + [anon_sym_restrict] = ACTIONS(1714), + [anon_sym___restrict__] = ACTIONS(1714), + [anon_sym__Atomic] = ACTIONS(1714), + [anon_sym__Noreturn] = ACTIONS(1714), + [anon_sym_noreturn] = ACTIONS(1714), + [anon_sym__Nonnull] = ACTIONS(1714), + [anon_sym_alignas] = ACTIONS(1714), + [anon_sym__Alignas] = ACTIONS(1714), + [sym_primitive_type] = ACTIONS(1714), + [anon_sym_enum] = ACTIONS(1714), + [anon_sym_struct] = ACTIONS(1714), + [anon_sym_union] = ACTIONS(1714), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [384] = { + [sym_expression] = STATE(969), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_identifier] = ACTIONS(1706), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1709), + [anon_sym_typedef] = ACTIONS(1720), + [anon_sym_extern] = ACTIONS(1714), + [anon_sym___attribute__] = ACTIONS(1714), + [anon_sym___attribute] = ACTIONS(1714), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1716), + [anon_sym___declspec] = ACTIONS(1714), + [anon_sym_signed] = ACTIONS(1714), + [anon_sym_unsigned] = ACTIONS(1714), + [anon_sym_long] = ACTIONS(1714), + [anon_sym_short] = ACTIONS(1714), + [anon_sym_static] = ACTIONS(1714), + [anon_sym_auto] = ACTIONS(1714), + [anon_sym_register] = ACTIONS(1714), + [anon_sym_inline] = ACTIONS(1714), + [anon_sym___inline] = ACTIONS(1714), + [anon_sym___inline__] = ACTIONS(1714), + [anon_sym___forceinline] = ACTIONS(1714), + [anon_sym_thread_local] = ACTIONS(1714), + [anon_sym___thread] = ACTIONS(1714), + [anon_sym_const] = ACTIONS(1714), + [anon_sym_constexpr] = ACTIONS(1714), + [anon_sym_volatile] = ACTIONS(1714), + [anon_sym_restrict] = ACTIONS(1714), + [anon_sym___restrict__] = ACTIONS(1714), + [anon_sym__Atomic] = ACTIONS(1714), + [anon_sym__Noreturn] = ACTIONS(1714), + [anon_sym_noreturn] = ACTIONS(1714), + [anon_sym__Nonnull] = ACTIONS(1714), + [anon_sym_alignas] = ACTIONS(1714), + [anon_sym__Alignas] = ACTIONS(1714), + [sym_primitive_type] = ACTIONS(1714), + [anon_sym_enum] = ACTIONS(1714), + [anon_sym_struct] = ACTIONS(1714), + [anon_sym_union] = ACTIONS(1714), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [385] = { + [sym_expression] = STATE(969), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_identifier] = ACTIONS(1706), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1709), + [anon_sym_typedef] = ACTIONS(1722), + [anon_sym_extern] = ACTIONS(1714), + [anon_sym___attribute__] = ACTIONS(1714), + [anon_sym___attribute] = ACTIONS(1714), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1716), + [anon_sym___declspec] = ACTIONS(1714), + [anon_sym_signed] = ACTIONS(1714), + [anon_sym_unsigned] = ACTIONS(1714), + [anon_sym_long] = ACTIONS(1714), + [anon_sym_short] = ACTIONS(1714), + [anon_sym_static] = ACTIONS(1714), + [anon_sym_auto] = ACTIONS(1714), + [anon_sym_register] = ACTIONS(1714), + [anon_sym_inline] = ACTIONS(1714), + [anon_sym___inline] = ACTIONS(1714), + [anon_sym___inline__] = ACTIONS(1714), + [anon_sym___forceinline] = ACTIONS(1714), + [anon_sym_thread_local] = ACTIONS(1714), + [anon_sym___thread] = ACTIONS(1714), + [anon_sym_const] = ACTIONS(1714), + [anon_sym_constexpr] = ACTIONS(1714), + [anon_sym_volatile] = ACTIONS(1714), + [anon_sym_restrict] = ACTIONS(1714), + [anon_sym___restrict__] = ACTIONS(1714), + [anon_sym__Atomic] = ACTIONS(1714), + [anon_sym__Noreturn] = ACTIONS(1714), + [anon_sym_noreturn] = ACTIONS(1714), + [anon_sym__Nonnull] = ACTIONS(1714), + [anon_sym_alignas] = ACTIONS(1714), + [anon_sym__Alignas] = ACTIONS(1714), + [sym_primitive_type] = ACTIONS(1714), + [anon_sym_enum] = ACTIONS(1714), + [anon_sym_struct] = ACTIONS(1714), + [anon_sym_union] = ACTIONS(1714), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [386] = { + [sym_compound_statement] = STATE(2002), + [sym_type_qualifier] = STATE(1015), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(1084), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_expression] = STATE(1053), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(2002), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_type_descriptor] = STATE(1816), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__type_definition_type_repeat1] = STATE(1015), + [aux_sym_sized_type_specifier_repeat1] = STATE(1063), + [sym_identifier] = ACTIONS(1724), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1091), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(1726), + [anon_sym_unsigned] = ACTIONS(1726), + [anon_sym_long] = ACTIONS(1726), + [anon_sym_short] = ACTIONS(1726), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(1728), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [387] = { + [sym_compound_statement] = STATE(2002), + [sym_type_qualifier] = STATE(1015), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(1084), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_expression] = STATE(1053), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(2002), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_type_descriptor] = STATE(1875), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__type_definition_type_repeat1] = STATE(1015), + [aux_sym_sized_type_specifier_repeat1] = STATE(1063), + [sym_identifier] = ACTIONS(1724), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1091), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(1726), + [anon_sym_unsigned] = ACTIONS(1726), + [anon_sym_long] = ACTIONS(1726), + [anon_sym_short] = ACTIONS(1726), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(1728), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [388] = { + [sym_expression] = STATE(969), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_identifier] = ACTIONS(1706), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1709), + [anon_sym_extern] = ACTIONS(1714), + [anon_sym___attribute__] = ACTIONS(1714), + [anon_sym___attribute] = ACTIONS(1714), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1716), + [anon_sym___declspec] = ACTIONS(1714), + [anon_sym_signed] = ACTIONS(1714), + [anon_sym_unsigned] = ACTIONS(1714), + [anon_sym_long] = ACTIONS(1714), + [anon_sym_short] = ACTIONS(1714), + [anon_sym_static] = ACTIONS(1714), + [anon_sym_auto] = ACTIONS(1714), + [anon_sym_register] = ACTIONS(1714), + [anon_sym_inline] = ACTIONS(1714), + [anon_sym___inline] = ACTIONS(1714), + [anon_sym___inline__] = ACTIONS(1714), + [anon_sym___forceinline] = ACTIONS(1714), + [anon_sym_thread_local] = ACTIONS(1714), + [anon_sym___thread] = ACTIONS(1714), + [anon_sym_const] = ACTIONS(1714), + [anon_sym_constexpr] = ACTIONS(1714), + [anon_sym_volatile] = ACTIONS(1714), + [anon_sym_restrict] = ACTIONS(1714), + [anon_sym___restrict__] = ACTIONS(1714), + [anon_sym__Atomic] = ACTIONS(1714), + [anon_sym__Noreturn] = ACTIONS(1714), + [anon_sym_noreturn] = ACTIONS(1714), + [anon_sym__Nonnull] = ACTIONS(1714), + [anon_sym_alignas] = ACTIONS(1714), + [anon_sym__Alignas] = ACTIONS(1714), + [sym_primitive_type] = ACTIONS(1714), + [anon_sym_enum] = ACTIONS(1714), + [anon_sym_struct] = ACTIONS(1714), + [anon_sym_union] = ACTIONS(1714), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [389] = { + [sym_compound_statement] = STATE(2002), + [sym_type_qualifier] = STATE(1015), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(1084), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_expression] = STATE(1053), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(2002), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_type_descriptor] = STATE(1994), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__type_definition_type_repeat1] = STATE(1015), + [aux_sym_sized_type_specifier_repeat1] = STATE(1063), + [sym_identifier] = ACTIONS(1724), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1091), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(1726), + [anon_sym_unsigned] = ACTIONS(1726), + [anon_sym_long] = ACTIONS(1726), + [anon_sym_short] = ACTIONS(1726), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(1728), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [390] = { + [sym_expression] = STATE(896), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(682), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(682), + [sym_call_expression] = STATE(682), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(682), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(682), + [sym_initializer_list] = STATE(686), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_identifier] = ACTIONS(1386), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1388), + [anon_sym_LPAREN2] = ACTIONS(1388), + [anon_sym_BANG] = ACTIONS(1730), + [anon_sym_TILDE] = ACTIONS(1732), + [anon_sym_DASH] = ACTIONS(1394), + [anon_sym_PLUS] = ACTIONS(1394), + [anon_sym_STAR] = ACTIONS(1394), + [anon_sym_SLASH] = ACTIONS(1394), + [anon_sym_PERCENT] = ACTIONS(1394), + [anon_sym_PIPE_PIPE] = ACTIONS(1388), + [anon_sym_AMP_AMP] = ACTIONS(1388), + [anon_sym_PIPE] = ACTIONS(1394), + [anon_sym_CARET] = ACTIONS(1394), + [anon_sym_AMP] = ACTIONS(1394), + [anon_sym_EQ_EQ] = ACTIONS(1388), + [anon_sym_BANG_EQ] = ACTIONS(1388), + [anon_sym_GT] = ACTIONS(1394), + [anon_sym_GT_EQ] = ACTIONS(1388), + [anon_sym_LT_EQ] = ACTIONS(1388), + [anon_sym_LT] = ACTIONS(1394), + [anon_sym_LT_LT] = ACTIONS(1394), + [anon_sym_GT_GT] = ACTIONS(1394), + [anon_sym___extension__] = ACTIONS(1734), + [anon_sym_LBRACE] = ACTIONS(1398), + [anon_sym_LBRACK] = ACTIONS(1388), + [anon_sym_RBRACK] = ACTIONS(1388), + [anon_sym_EQ] = ACTIONS(1394), + [anon_sym_QMARK] = ACTIONS(1388), + [anon_sym_STAR_EQ] = ACTIONS(1388), + [anon_sym_SLASH_EQ] = ACTIONS(1388), + [anon_sym_PERCENT_EQ] = ACTIONS(1388), + [anon_sym_PLUS_EQ] = ACTIONS(1388), + [anon_sym_DASH_EQ] = ACTIONS(1388), + [anon_sym_LT_LT_EQ] = ACTIONS(1388), + [anon_sym_GT_GT_EQ] = ACTIONS(1388), + [anon_sym_AMP_EQ] = ACTIONS(1388), + [anon_sym_CARET_EQ] = ACTIONS(1388), + [anon_sym_PIPE_EQ] = ACTIONS(1388), + [anon_sym_DASH_DASH] = ACTIONS(1388), + [anon_sym_PLUS_PLUS] = ACTIONS(1388), + [anon_sym_sizeof] = ACTIONS(1736), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [anon_sym_DOT] = ACTIONS(1394), + [anon_sym_DASH_GT] = ACTIONS(1388), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [391] = { + [sym_compound_statement] = STATE(2002), + [sym_type_qualifier] = STATE(1015), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(1084), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_expression] = STATE(1053), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(2002), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_type_descriptor] = STATE(1888), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__type_definition_type_repeat1] = STATE(1015), + [aux_sym_sized_type_specifier_repeat1] = STATE(1063), + [sym_identifier] = ACTIONS(1724), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1091), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(1726), + [anon_sym_unsigned] = ACTIONS(1726), + [anon_sym_long] = ACTIONS(1726), + [anon_sym_short] = ACTIONS(1726), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(1728), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [392] = { + [sym_compound_statement] = STATE(2002), + [sym_type_qualifier] = STATE(1015), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(1084), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_expression] = STATE(1053), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(2002), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_type_descriptor] = STATE(1983), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__type_definition_type_repeat1] = STATE(1015), + [aux_sym_sized_type_specifier_repeat1] = STATE(1063), + [sym_identifier] = ACTIONS(1724), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1091), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(1726), + [anon_sym_unsigned] = ACTIONS(1726), + [anon_sym_long] = ACTIONS(1726), + [anon_sym_short] = ACTIONS(1726), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(1728), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [393] = { + [sym_compound_statement] = STATE(2002), + [sym_type_qualifier] = STATE(1015), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(1084), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_expression] = STATE(1053), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(2002), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_type_descriptor] = STATE(1856), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__type_definition_type_repeat1] = STATE(1015), + [aux_sym_sized_type_specifier_repeat1] = STATE(1063), + [sym_identifier] = ACTIONS(1724), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1091), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(1726), + [anon_sym_unsigned] = ACTIONS(1726), + [anon_sym_long] = ACTIONS(1726), + [anon_sym_short] = ACTIONS(1726), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(1728), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [394] = { + [sym_compound_statement] = STATE(2002), + [sym_type_qualifier] = STATE(1015), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(1084), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_expression] = STATE(1053), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(2002), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_type_descriptor] = STATE(1790), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__type_definition_type_repeat1] = STATE(1015), + [aux_sym_sized_type_specifier_repeat1] = STATE(1063), + [sym_identifier] = ACTIONS(1724), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1091), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(1726), + [anon_sym_unsigned] = ACTIONS(1726), + [anon_sym_long] = ACTIONS(1726), + [anon_sym_short] = ACTIONS(1726), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(1728), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [395] = { + [sym_compound_statement] = STATE(2002), + [sym_type_qualifier] = STATE(1015), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(1084), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_expression] = STATE(1053), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(2002), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_type_descriptor] = STATE(2007), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__type_definition_type_repeat1] = STATE(1015), + [aux_sym_sized_type_specifier_repeat1] = STATE(1063), + [sym_identifier] = ACTIONS(1724), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1091), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(1726), + [anon_sym_unsigned] = ACTIONS(1726), + [anon_sym_long] = ACTIONS(1726), + [anon_sym_short] = ACTIONS(1726), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(1728), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [396] = { + [sym_compound_statement] = STATE(2002), + [sym_type_qualifier] = STATE(1015), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(1084), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_expression] = STATE(1053), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(2002), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_type_descriptor] = STATE(1832), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__type_definition_type_repeat1] = STATE(1015), + [aux_sym_sized_type_specifier_repeat1] = STATE(1063), + [sym_identifier] = ACTIONS(1724), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1091), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(1726), + [anon_sym_unsigned] = ACTIONS(1726), + [anon_sym_long] = ACTIONS(1726), + [anon_sym_short] = ACTIONS(1726), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(1728), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [397] = { + [sym_compound_statement] = STATE(2002), + [sym_type_qualifier] = STATE(1015), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(1084), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_expression] = STATE(1053), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(2002), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_type_descriptor] = STATE(1928), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__type_definition_type_repeat1] = STATE(1015), + [aux_sym_sized_type_specifier_repeat1] = STATE(1063), + [sym_identifier] = ACTIONS(1724), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1091), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(1726), + [anon_sym_unsigned] = ACTIONS(1726), + [anon_sym_long] = ACTIONS(1726), + [anon_sym_short] = ACTIONS(1726), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(1728), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [398] = { + [sym_compound_statement] = STATE(2002), + [sym_type_qualifier] = STATE(1015), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(1084), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_expression] = STATE(1053), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(2002), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_type_descriptor] = STATE(1789), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__type_definition_type_repeat1] = STATE(1015), + [aux_sym_sized_type_specifier_repeat1] = STATE(1063), + [sym_identifier] = ACTIONS(1724), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1091), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(1726), + [anon_sym_unsigned] = ACTIONS(1726), + [anon_sym_long] = ACTIONS(1726), + [anon_sym_short] = ACTIONS(1726), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(1728), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [399] = { + [sym_compound_statement] = STATE(2002), + [sym_type_qualifier] = STATE(1015), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(1084), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_expression] = STATE(1053), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(2002), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_type_descriptor] = STATE(1839), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__type_definition_type_repeat1] = STATE(1015), + [aux_sym_sized_type_specifier_repeat1] = STATE(1063), + [sym_identifier] = ACTIONS(1724), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1091), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(1726), + [anon_sym_unsigned] = ACTIONS(1726), + [anon_sym_long] = ACTIONS(1726), + [anon_sym_short] = ACTIONS(1726), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(1728), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [400] = { + [sym_type_qualifier] = STATE(1015), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(1084), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_expression] = STATE(1105), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_type_descriptor] = STATE(1922), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__type_definition_type_repeat1] = STATE(1015), + [aux_sym_sized_type_specifier_repeat1] = STATE(1063), + [sym_identifier] = ACTIONS(1724), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1091), + [anon_sym_signed] = ACTIONS(1726), + [anon_sym_unsigned] = ACTIONS(1726), + [anon_sym_long] = ACTIONS(1726), + [anon_sym_short] = ACTIONS(1726), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(1728), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [401] = { + [sym_type_qualifier] = STATE(1015), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(1084), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_expression] = STATE(1107), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_type_descriptor] = STATE(1938), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__type_definition_type_repeat1] = STATE(1015), + [aux_sym_sized_type_specifier_repeat1] = STATE(1063), + [sym_identifier] = ACTIONS(1724), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1091), + [anon_sym_signed] = ACTIONS(1726), + [anon_sym_unsigned] = ACTIONS(1726), + [anon_sym_long] = ACTIONS(1726), + [anon_sym_short] = ACTIONS(1726), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(1728), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [402] = { + [sym_identifier] = ACTIONS(1738), + [anon_sym_COMMA] = ACTIONS(1740), + [anon_sym_RPAREN] = ACTIONS(1740), + [anon_sym_LPAREN2] = ACTIONS(1740), + [anon_sym_BANG] = ACTIONS(1740), + [anon_sym_TILDE] = ACTIONS(1740), + [anon_sym_DASH] = ACTIONS(1738), + [anon_sym_PLUS] = ACTIONS(1738), + [anon_sym_STAR] = ACTIONS(1740), + [anon_sym_AMP] = ACTIONS(1740), + [anon_sym_SEMI] = ACTIONS(1740), + [anon_sym___extension__] = ACTIONS(1738), + [anon_sym_extern] = ACTIONS(1738), + [anon_sym___attribute__] = ACTIONS(1738), + [anon_sym___attribute] = ACTIONS(1738), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1740), + [anon_sym___declspec] = ACTIONS(1738), + [anon_sym_LBRACE] = ACTIONS(1740), + [anon_sym_signed] = ACTIONS(1738), + [anon_sym_unsigned] = ACTIONS(1738), + [anon_sym_long] = ACTIONS(1738), + [anon_sym_short] = ACTIONS(1738), + [anon_sym_LBRACK] = ACTIONS(1738), + [anon_sym_static] = ACTIONS(1738), + [anon_sym_EQ] = ACTIONS(1740), + [anon_sym_auto] = ACTIONS(1738), + [anon_sym_register] = ACTIONS(1738), + [anon_sym_inline] = ACTIONS(1738), + [anon_sym___inline] = ACTIONS(1738), + [anon_sym___inline__] = ACTIONS(1738), + [anon_sym___forceinline] = ACTIONS(1738), + [anon_sym_thread_local] = ACTIONS(1738), + [anon_sym___thread] = ACTIONS(1738), + [anon_sym_const] = ACTIONS(1738), + [anon_sym_constexpr] = ACTIONS(1738), + [anon_sym_volatile] = ACTIONS(1738), + [anon_sym_restrict] = ACTIONS(1738), + [anon_sym___restrict__] = ACTIONS(1738), + [anon_sym__Atomic] = ACTIONS(1738), + [anon_sym__Noreturn] = ACTIONS(1738), + [anon_sym_noreturn] = ACTIONS(1738), + [anon_sym__Nonnull] = ACTIONS(1738), + [anon_sym_alignas] = ACTIONS(1738), + [anon_sym__Alignas] = ACTIONS(1738), + [sym_primitive_type] = ACTIONS(1738), + [anon_sym_enum] = ACTIONS(1738), + [anon_sym_COLON] = ACTIONS(1740), + [anon_sym_struct] = ACTIONS(1738), + [anon_sym_union] = ACTIONS(1738), + [anon_sym_if] = ACTIONS(1738), + [anon_sym_switch] = ACTIONS(1738), + [anon_sym_case] = ACTIONS(1738), + [anon_sym_default] = ACTIONS(1738), + [anon_sym_while] = ACTIONS(1738), + [anon_sym_do] = ACTIONS(1738), + [anon_sym_for] = ACTIONS(1738), + [anon_sym_return] = ACTIONS(1738), + [anon_sym_break] = ACTIONS(1738), + [anon_sym_continue] = ACTIONS(1738), + [anon_sym_goto] = ACTIONS(1738), + [anon_sym___try] = ACTIONS(1738), + [anon_sym___leave] = ACTIONS(1738), + [anon_sym_DASH_DASH] = ACTIONS(1740), + [anon_sym_PLUS_PLUS] = ACTIONS(1740), + [anon_sym_sizeof] = ACTIONS(1738), + [anon_sym___alignof__] = ACTIONS(1738), + [anon_sym___alignof] = ACTIONS(1738), + [anon_sym__alignof] = ACTIONS(1738), + [anon_sym_alignof] = ACTIONS(1738), + [anon_sym__Alignof] = ACTIONS(1738), + [anon_sym_offsetof] = ACTIONS(1738), + [anon_sym__Generic] = ACTIONS(1738), + [anon_sym_asm] = ACTIONS(1738), + [anon_sym___asm__] = ACTIONS(1738), + [anon_sym___asm] = ACTIONS(1738), + [sym_number_literal] = ACTIONS(1740), + [anon_sym_L_SQUOTE] = ACTIONS(1740), + [anon_sym_u_SQUOTE] = ACTIONS(1740), + [anon_sym_U_SQUOTE] = ACTIONS(1740), + [anon_sym_u8_SQUOTE] = ACTIONS(1740), + [anon_sym_SQUOTE] = ACTIONS(1740), + [anon_sym_L_DQUOTE] = ACTIONS(1740), + [anon_sym_u_DQUOTE] = ACTIONS(1740), + [anon_sym_U_DQUOTE] = ACTIONS(1740), + [anon_sym_u8_DQUOTE] = ACTIONS(1740), + [anon_sym_DQUOTE] = ACTIONS(1740), + [sym_true] = ACTIONS(1738), + [sym_false] = ACTIONS(1738), + [anon_sym_NULL] = ACTIONS(1738), + [anon_sym_nullptr] = ACTIONS(1738), + [sym_comment] = ACTIONS(3), + }, + [403] = { + [sym_identifier] = ACTIONS(1742), + [anon_sym_COMMA] = ACTIONS(1744), + [anon_sym_RPAREN] = ACTIONS(1744), + [anon_sym_LPAREN2] = ACTIONS(1744), + [anon_sym_BANG] = ACTIONS(1744), + [anon_sym_TILDE] = ACTIONS(1744), + [anon_sym_DASH] = ACTIONS(1742), + [anon_sym_PLUS] = ACTIONS(1742), + [anon_sym_STAR] = ACTIONS(1744), + [anon_sym_AMP] = ACTIONS(1744), + [anon_sym_SEMI] = ACTIONS(1744), + [anon_sym___extension__] = ACTIONS(1742), + [anon_sym_extern] = ACTIONS(1742), + [anon_sym___attribute__] = ACTIONS(1742), + [anon_sym___attribute] = ACTIONS(1742), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1744), + [anon_sym___declspec] = ACTIONS(1742), + [anon_sym_LBRACE] = ACTIONS(1744), + [anon_sym_signed] = ACTIONS(1742), + [anon_sym_unsigned] = ACTIONS(1742), + [anon_sym_long] = ACTIONS(1742), + [anon_sym_short] = ACTIONS(1742), + [anon_sym_LBRACK] = ACTIONS(1742), + [anon_sym_static] = ACTIONS(1742), + [anon_sym_EQ] = ACTIONS(1744), + [anon_sym_auto] = ACTIONS(1742), + [anon_sym_register] = ACTIONS(1742), + [anon_sym_inline] = ACTIONS(1742), + [anon_sym___inline] = ACTIONS(1742), + [anon_sym___inline__] = ACTIONS(1742), + [anon_sym___forceinline] = ACTIONS(1742), + [anon_sym_thread_local] = ACTIONS(1742), + [anon_sym___thread] = ACTIONS(1742), + [anon_sym_const] = ACTIONS(1742), + [anon_sym_constexpr] = ACTIONS(1742), + [anon_sym_volatile] = ACTIONS(1742), + [anon_sym_restrict] = ACTIONS(1742), + [anon_sym___restrict__] = ACTIONS(1742), + [anon_sym__Atomic] = ACTIONS(1742), + [anon_sym__Noreturn] = ACTIONS(1742), + [anon_sym_noreturn] = ACTIONS(1742), + [anon_sym__Nonnull] = ACTIONS(1742), + [anon_sym_alignas] = ACTIONS(1742), + [anon_sym__Alignas] = ACTIONS(1742), + [sym_primitive_type] = ACTIONS(1742), + [anon_sym_enum] = ACTIONS(1742), + [anon_sym_COLON] = ACTIONS(1744), + [anon_sym_struct] = ACTIONS(1742), + [anon_sym_union] = ACTIONS(1742), + [anon_sym_if] = ACTIONS(1742), + [anon_sym_switch] = ACTIONS(1742), + [anon_sym_case] = ACTIONS(1742), + [anon_sym_default] = ACTIONS(1742), + [anon_sym_while] = ACTIONS(1742), + [anon_sym_do] = ACTIONS(1742), + [anon_sym_for] = ACTIONS(1742), + [anon_sym_return] = ACTIONS(1742), + [anon_sym_break] = ACTIONS(1742), + [anon_sym_continue] = ACTIONS(1742), + [anon_sym_goto] = ACTIONS(1742), + [anon_sym___try] = ACTIONS(1742), + [anon_sym___leave] = ACTIONS(1742), + [anon_sym_DASH_DASH] = ACTIONS(1744), + [anon_sym_PLUS_PLUS] = ACTIONS(1744), + [anon_sym_sizeof] = ACTIONS(1742), + [anon_sym___alignof__] = ACTIONS(1742), + [anon_sym___alignof] = ACTIONS(1742), + [anon_sym__alignof] = ACTIONS(1742), + [anon_sym_alignof] = ACTIONS(1742), + [anon_sym__Alignof] = ACTIONS(1742), + [anon_sym_offsetof] = ACTIONS(1742), + [anon_sym__Generic] = ACTIONS(1742), + [anon_sym_asm] = ACTIONS(1742), + [anon_sym___asm__] = ACTIONS(1742), + [anon_sym___asm] = ACTIONS(1742), + [sym_number_literal] = ACTIONS(1744), + [anon_sym_L_SQUOTE] = ACTIONS(1744), + [anon_sym_u_SQUOTE] = ACTIONS(1744), + [anon_sym_U_SQUOTE] = ACTIONS(1744), + [anon_sym_u8_SQUOTE] = ACTIONS(1744), + [anon_sym_SQUOTE] = ACTIONS(1744), + [anon_sym_L_DQUOTE] = ACTIONS(1744), + [anon_sym_u_DQUOTE] = ACTIONS(1744), + [anon_sym_U_DQUOTE] = ACTIONS(1744), + [anon_sym_u8_DQUOTE] = ACTIONS(1744), + [anon_sym_DQUOTE] = ACTIONS(1744), + [sym_true] = ACTIONS(1742), + [sym_false] = ACTIONS(1742), + [anon_sym_NULL] = ACTIONS(1742), + [anon_sym_nullptr] = ACTIONS(1742), + [sym_comment] = ACTIONS(3), + }, + [404] = { + [sym_expression] = STATE(700), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_initializer_list] = STATE(686), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_identifier] = ACTIONS(1746), + [anon_sym_COMMA] = ACTIONS(1388), + [anon_sym_RPAREN] = ACTIONS(1388), + [anon_sym_LPAREN2] = ACTIONS(1388), + [anon_sym_BANG] = ACTIONS(23), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(1394), + [anon_sym_PLUS] = ACTIONS(1394), + [anon_sym_STAR] = ACTIONS(1388), + [anon_sym_SLASH] = ACTIONS(1394), + [anon_sym_PERCENT] = ACTIONS(1388), + [anon_sym_PIPE_PIPE] = ACTIONS(1388), + [anon_sym_AMP_AMP] = ACTIONS(1388), + [anon_sym_PIPE] = ACTIONS(1394), + [anon_sym_CARET] = ACTIONS(1388), + [anon_sym_AMP] = ACTIONS(1394), + [anon_sym_EQ_EQ] = ACTIONS(1388), + [anon_sym_BANG_EQ] = ACTIONS(1388), + [anon_sym_GT] = ACTIONS(1394), + [anon_sym_GT_EQ] = ACTIONS(1388), + [anon_sym_LT_EQ] = ACTIONS(1388), + [anon_sym_LT] = ACTIONS(1394), + [anon_sym_LT_LT] = ACTIONS(1388), + [anon_sym_GT_GT] = ACTIONS(1388), + [anon_sym_SEMI] = ACTIONS(1388), + [anon_sym___extension__] = ACTIONS(1416), + [anon_sym___attribute__] = ACTIONS(1394), + [anon_sym___attribute] = ACTIONS(1394), + [anon_sym_LBRACE] = ACTIONS(1398), + [anon_sym_RBRACE] = ACTIONS(1388), + [anon_sym_LBRACK] = ACTIONS(1388), + [anon_sym_COLON] = ACTIONS(1388), + [anon_sym_QMARK] = ACTIONS(1388), + [anon_sym_DASH_DASH] = ACTIONS(1388), + [anon_sym_PLUS_PLUS] = ACTIONS(1388), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [anon_sym_DOT] = ACTIONS(1394), + [anon_sym_DASH_GT] = ACTIONS(1388), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [405] = { + [sym_expression] = STATE(700), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(845), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(845), + [sym_call_expression] = STATE(845), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(845), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(845), + [sym_initializer_list] = STATE(686), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(714), + [sym_null] = STATE(693), + [sym_identifier] = ACTIONS(1394), + [anon_sym_COMMA] = ACTIONS(1388), + [aux_sym_preproc_if_token2] = ACTIONS(1388), + [aux_sym_preproc_else_token1] = ACTIONS(1388), + [aux_sym_preproc_elif_token1] = ACTIONS(1394), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1388), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1388), + [anon_sym_LPAREN2] = ACTIONS(1388), + [anon_sym_BANG] = ACTIONS(1748), + [anon_sym_TILDE] = ACTIONS(1750), + [anon_sym_DASH] = ACTIONS(1394), + [anon_sym_PLUS] = ACTIONS(1394), + [anon_sym_STAR] = ACTIONS(1388), + [anon_sym_SLASH] = ACTIONS(1394), + [anon_sym_PERCENT] = ACTIONS(1388), + [anon_sym_PIPE_PIPE] = ACTIONS(1388), + [anon_sym_AMP_AMP] = ACTIONS(1388), + [anon_sym_PIPE] = ACTIONS(1394), + [anon_sym_CARET] = ACTIONS(1388), + [anon_sym_AMP] = ACTIONS(1394), + [anon_sym_EQ_EQ] = ACTIONS(1388), + [anon_sym_BANG_EQ] = ACTIONS(1388), + [anon_sym_GT] = ACTIONS(1394), + [anon_sym_GT_EQ] = ACTIONS(1388), + [anon_sym_LT_EQ] = ACTIONS(1388), + [anon_sym_LT] = ACTIONS(1394), + [anon_sym_LT_LT] = ACTIONS(1388), + [anon_sym_GT_GT] = ACTIONS(1388), + [anon_sym___extension__] = ACTIONS(1752), + [anon_sym_LBRACE] = ACTIONS(1398), + [anon_sym_LBRACK] = ACTIONS(1388), + [anon_sym_QMARK] = ACTIONS(1388), + [anon_sym_DASH_DASH] = ACTIONS(1388), + [anon_sym_PLUS_PLUS] = ACTIONS(1388), + [anon_sym_sizeof] = ACTIONS(1754), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [anon_sym_DOT] = ACTIONS(1394), + [anon_sym_DASH_GT] = ACTIONS(1388), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [406] = { + [sym_else_clause] = STATE(243), + [sym_identifier] = 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___attribute] = ACTIONS(1128), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1130), + [anon_sym___declspec] = 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__Nonnull] = 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(1756), + [anon_sym_switch] = 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), + [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), + }, + [407] = { + [sym_identifier] = ACTIONS(1758), + [anon_sym_LPAREN2] = ACTIONS(1761), + [anon_sym_BANG] = ACTIONS(1761), + [anon_sym_TILDE] = ACTIONS(1761), + [anon_sym_DASH] = ACTIONS(1763), + [anon_sym_PLUS] = ACTIONS(1763), + [anon_sym_STAR] = ACTIONS(1761), + [anon_sym_AMP] = ACTIONS(1761), + [anon_sym_SEMI] = ACTIONS(1761), + [anon_sym___extension__] = ACTIONS(1758), + [anon_sym_extern] = ACTIONS(1765), + [anon_sym___attribute__] = ACTIONS(1765), + [anon_sym___attribute] = ACTIONS(1765), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1767), + [anon_sym___declspec] = ACTIONS(1765), + [anon_sym_LBRACE] = ACTIONS(1761), + [anon_sym_signed] = ACTIONS(1765), + [anon_sym_unsigned] = ACTIONS(1765), + [anon_sym_long] = ACTIONS(1765), + [anon_sym_short] = ACTIONS(1765), + [anon_sym_static] = ACTIONS(1765), + [anon_sym_auto] = ACTIONS(1765), + [anon_sym_register] = ACTIONS(1765), + [anon_sym_inline] = ACTIONS(1765), + [anon_sym___inline] = ACTIONS(1765), + [anon_sym___inline__] = ACTIONS(1765), + [anon_sym___forceinline] = ACTIONS(1765), + [anon_sym_thread_local] = ACTIONS(1765), + [anon_sym___thread] = ACTIONS(1765), + [anon_sym_const] = ACTIONS(1765), + [anon_sym_constexpr] = ACTIONS(1765), + [anon_sym_volatile] = ACTIONS(1765), + [anon_sym_restrict] = ACTIONS(1765), + [anon_sym___restrict__] = ACTIONS(1765), + [anon_sym__Atomic] = ACTIONS(1765), + [anon_sym__Noreturn] = ACTIONS(1765), + [anon_sym_noreturn] = ACTIONS(1765), + [anon_sym__Nonnull] = ACTIONS(1765), + [anon_sym_alignas] = ACTIONS(1765), + [anon_sym__Alignas] = ACTIONS(1765), + [sym_primitive_type] = ACTIONS(1765), + [anon_sym_enum] = ACTIONS(1765), + [anon_sym_struct] = ACTIONS(1765), + [anon_sym_union] = ACTIONS(1765), + [anon_sym_if] = ACTIONS(1763), + [anon_sym_switch] = ACTIONS(1763), + [anon_sym_case] = ACTIONS(1763), + [anon_sym_default] = ACTIONS(1763), + [anon_sym_while] = ACTIONS(1763), + [anon_sym_do] = ACTIONS(1763), + [anon_sym_for] = ACTIONS(1763), + [anon_sym_return] = ACTIONS(1763), + [anon_sym_break] = ACTIONS(1763), + [anon_sym_continue] = ACTIONS(1763), + [anon_sym_goto] = ACTIONS(1763), + [anon_sym___try] = ACTIONS(1763), + [anon_sym___leave] = ACTIONS(1763), + [anon_sym_DASH_DASH] = ACTIONS(1761), + [anon_sym_PLUS_PLUS] = ACTIONS(1761), + [anon_sym_sizeof] = ACTIONS(1763), + [anon_sym___alignof__] = ACTIONS(1763), + [anon_sym___alignof] = ACTIONS(1763), + [anon_sym__alignof] = ACTIONS(1763), + [anon_sym_alignof] = ACTIONS(1763), + [anon_sym__Alignof] = ACTIONS(1763), + [anon_sym_offsetof] = ACTIONS(1763), + [anon_sym__Generic] = ACTIONS(1763), + [anon_sym_asm] = ACTIONS(1763), + [anon_sym___asm__] = ACTIONS(1763), + [anon_sym___asm] = ACTIONS(1763), + [sym_number_literal] = ACTIONS(1761), + [anon_sym_L_SQUOTE] = ACTIONS(1761), + [anon_sym_u_SQUOTE] = ACTIONS(1761), + [anon_sym_U_SQUOTE] = ACTIONS(1761), + [anon_sym_u8_SQUOTE] = ACTIONS(1761), + [anon_sym_SQUOTE] = ACTIONS(1761), + [anon_sym_L_DQUOTE] = ACTIONS(1761), + [anon_sym_u_DQUOTE] = ACTIONS(1761), + [anon_sym_U_DQUOTE] = ACTIONS(1761), + [anon_sym_u8_DQUOTE] = ACTIONS(1761), + [anon_sym_DQUOTE] = ACTIONS(1761), + [sym_true] = ACTIONS(1763), + [sym_false] = ACTIONS(1763), + [anon_sym_NULL] = ACTIONS(1763), + [anon_sym_nullptr] = ACTIONS(1763), + [sym_comment] = ACTIONS(3), + }, + [408] = { + [sym_string_literal] = STATE(630), + [aux_sym_sized_type_specifier_repeat1] = STATE(768), + [sym_identifier] = ACTIONS(1770), + [anon_sym_COMMA] = ACTIONS(1772), + [anon_sym_LPAREN2] = ACTIONS(1774), + [anon_sym_DASH] = ACTIONS(1778), + [anon_sym_PLUS] = ACTIONS(1778), + [anon_sym_STAR] = ACTIONS(1780), + [anon_sym_SLASH] = ACTIONS(1778), + [anon_sym_PERCENT] = ACTIONS(1778), + [anon_sym_PIPE_PIPE] = ACTIONS(1772), + [anon_sym_AMP_AMP] = ACTIONS(1772), + [anon_sym_PIPE] = ACTIONS(1778), + [anon_sym_CARET] = ACTIONS(1778), + [anon_sym_AMP] = ACTIONS(1778), + [anon_sym_EQ_EQ] = ACTIONS(1772), + [anon_sym_BANG_EQ] = ACTIONS(1772), + [anon_sym_GT] = ACTIONS(1778), + [anon_sym_GT_EQ] = ACTIONS(1772), + [anon_sym_LT_EQ] = ACTIONS(1772), + [anon_sym_LT] = ACTIONS(1778), + [anon_sym_LT_LT] = ACTIONS(1778), + [anon_sym_GT_GT] = ACTIONS(1778), + [anon_sym_SEMI] = ACTIONS(1783), + [anon_sym___extension__] = ACTIONS(1770), + [anon_sym_extern] = ACTIONS(1770), + [anon_sym___attribute__] = ACTIONS(1770), + [anon_sym___attribute] = ACTIONS(1770), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1786), + [anon_sym___declspec] = ACTIONS(1770), + [anon_sym___based] = ACTIONS(1770), + [anon_sym___cdecl] = ACTIONS(1770), + [anon_sym___clrcall] = ACTIONS(1770), + [anon_sym___stdcall] = ACTIONS(1770), + [anon_sym___fastcall] = ACTIONS(1770), + [anon_sym___thiscall] = ACTIONS(1770), + [anon_sym___vectorcall] = ACTIONS(1770), + [anon_sym_signed] = ACTIONS(1788), + [anon_sym_unsigned] = ACTIONS(1788), + [anon_sym_long] = ACTIONS(1788), + [anon_sym_short] = ACTIONS(1788), + [anon_sym_LBRACK] = ACTIONS(1778), + [anon_sym_static] = ACTIONS(1770), + [anon_sym_EQ] = ACTIONS(1790), + [anon_sym_auto] = ACTIONS(1770), + [anon_sym_register] = ACTIONS(1770), + [anon_sym_inline] = ACTIONS(1770), + [anon_sym___inline] = ACTIONS(1770), + [anon_sym___inline__] = ACTIONS(1770), + [anon_sym___forceinline] = ACTIONS(1770), + [anon_sym_thread_local] = ACTIONS(1770), + [anon_sym___thread] = ACTIONS(1770), + [anon_sym_const] = ACTIONS(1770), + [anon_sym_constexpr] = ACTIONS(1770), + [anon_sym_volatile] = ACTIONS(1770), + [anon_sym_restrict] = ACTIONS(1770), + [anon_sym___restrict__] = ACTIONS(1770), + [anon_sym__Atomic] = ACTIONS(1770), + [anon_sym__Noreturn] = ACTIONS(1770), + [anon_sym_noreturn] = ACTIONS(1770), + [anon_sym__Nonnull] = ACTIONS(1770), + [anon_sym_alignas] = ACTIONS(1770), + [anon_sym__Alignas] = ACTIONS(1770), + [anon_sym_COLON] = ACTIONS(1792), + [anon_sym_QMARK] = ACTIONS(1772), + [anon_sym_STAR_EQ] = ACTIONS(1794), + [anon_sym_SLASH_EQ] = ACTIONS(1794), + [anon_sym_PERCENT_EQ] = ACTIONS(1794), + [anon_sym_PLUS_EQ] = ACTIONS(1794), + [anon_sym_DASH_EQ] = ACTIONS(1794), + [anon_sym_LT_LT_EQ] = ACTIONS(1794), + [anon_sym_GT_GT_EQ] = ACTIONS(1794), + [anon_sym_AMP_EQ] = ACTIONS(1794), + [anon_sym_CARET_EQ] = ACTIONS(1794), + [anon_sym_PIPE_EQ] = ACTIONS(1794), + [anon_sym_DASH_DASH] = ACTIONS(1772), + [anon_sym_PLUS_PLUS] = ACTIONS(1772), + [anon_sym_DOT] = ACTIONS(1772), + [anon_sym_DASH_GT] = ACTIONS(1772), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + }, + [409] = { + [sym_string_literal] = STATE(630), + [aux_sym_sized_type_specifier_repeat1] = STATE(768), + [sym_identifier] = ACTIONS(1770), + [anon_sym_COMMA] = ACTIONS(1772), + [anon_sym_LPAREN2] = ACTIONS(1774), + [anon_sym_DASH] = ACTIONS(1778), + [anon_sym_PLUS] = ACTIONS(1778), + [anon_sym_STAR] = ACTIONS(1780), + [anon_sym_SLASH] = ACTIONS(1778), + [anon_sym_PERCENT] = ACTIONS(1778), + [anon_sym_PIPE_PIPE] = ACTIONS(1772), + [anon_sym_AMP_AMP] = ACTIONS(1772), + [anon_sym_PIPE] = ACTIONS(1778), + [anon_sym_CARET] = ACTIONS(1778), + [anon_sym_AMP] = ACTIONS(1778), + [anon_sym_EQ_EQ] = ACTIONS(1772), + [anon_sym_BANG_EQ] = ACTIONS(1772), + [anon_sym_GT] = ACTIONS(1778), + [anon_sym_GT_EQ] = ACTIONS(1772), + [anon_sym_LT_EQ] = ACTIONS(1772), + [anon_sym_LT] = ACTIONS(1778), + [anon_sym_LT_LT] = ACTIONS(1778), + [anon_sym_GT_GT] = ACTIONS(1778), + [anon_sym_SEMI] = ACTIONS(1772), + [anon_sym___extension__] = ACTIONS(1770), + [anon_sym_extern] = ACTIONS(1770), + [anon_sym___attribute__] = ACTIONS(1770), + [anon_sym___attribute] = ACTIONS(1770), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1786), + [anon_sym___declspec] = ACTIONS(1770), + [anon_sym___based] = ACTIONS(1770), + [anon_sym___cdecl] = ACTIONS(1770), + [anon_sym___clrcall] = ACTIONS(1770), + [anon_sym___stdcall] = ACTIONS(1770), + [anon_sym___fastcall] = ACTIONS(1770), + [anon_sym___thiscall] = ACTIONS(1770), + [anon_sym___vectorcall] = ACTIONS(1770), + [anon_sym_signed] = ACTIONS(1788), + [anon_sym_unsigned] = ACTIONS(1788), + [anon_sym_long] = ACTIONS(1788), + [anon_sym_short] = ACTIONS(1788), + [anon_sym_LBRACK] = ACTIONS(1778), + [anon_sym_static] = ACTIONS(1770), + [anon_sym_EQ] = ACTIONS(1790), + [anon_sym_auto] = ACTIONS(1770), + [anon_sym_register] = ACTIONS(1770), + [anon_sym_inline] = ACTIONS(1770), + [anon_sym___inline] = ACTIONS(1770), + [anon_sym___inline__] = ACTIONS(1770), + [anon_sym___forceinline] = ACTIONS(1770), + [anon_sym_thread_local] = ACTIONS(1770), + [anon_sym___thread] = ACTIONS(1770), + [anon_sym_const] = ACTIONS(1770), + [anon_sym_constexpr] = ACTIONS(1770), + [anon_sym_volatile] = ACTIONS(1770), + [anon_sym_restrict] = ACTIONS(1770), + [anon_sym___restrict__] = ACTIONS(1770), + [anon_sym__Atomic] = ACTIONS(1770), + [anon_sym__Noreturn] = ACTIONS(1770), + [anon_sym_noreturn] = ACTIONS(1770), + [anon_sym__Nonnull] = ACTIONS(1770), + [anon_sym_alignas] = ACTIONS(1770), + [anon_sym__Alignas] = ACTIONS(1770), + [anon_sym_COLON] = ACTIONS(1796), + [anon_sym_QMARK] = ACTIONS(1772), + [anon_sym_STAR_EQ] = ACTIONS(1794), + [anon_sym_SLASH_EQ] = ACTIONS(1794), + [anon_sym_PERCENT_EQ] = ACTIONS(1794), + [anon_sym_PLUS_EQ] = ACTIONS(1794), + [anon_sym_DASH_EQ] = ACTIONS(1794), + [anon_sym_LT_LT_EQ] = ACTIONS(1794), + [anon_sym_GT_GT_EQ] = ACTIONS(1794), + [anon_sym_AMP_EQ] = ACTIONS(1794), + [anon_sym_CARET_EQ] = ACTIONS(1794), + [anon_sym_PIPE_EQ] = ACTIONS(1794), + [anon_sym_DASH_DASH] = ACTIONS(1772), + [anon_sym_PLUS_PLUS] = ACTIONS(1772), + [anon_sym_DOT] = ACTIONS(1772), + [anon_sym_DASH_GT] = ACTIONS(1772), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + }, + [410] = { + [sym_string_literal] = STATE(630), + [aux_sym_sized_type_specifier_repeat1] = STATE(768), + [sym_identifier] = ACTIONS(1770), + [anon_sym_COMMA] = ACTIONS(1772), + [anon_sym_LPAREN2] = ACTIONS(1774), + [anon_sym_DASH] = ACTIONS(1778), + [anon_sym_PLUS] = ACTIONS(1778), + [anon_sym_STAR] = ACTIONS(1780), + [anon_sym_SLASH] = ACTIONS(1778), + [anon_sym_PERCENT] = ACTIONS(1778), + [anon_sym_PIPE_PIPE] = ACTIONS(1772), + [anon_sym_AMP_AMP] = ACTIONS(1772), + [anon_sym_PIPE] = ACTIONS(1778), + [anon_sym_CARET] = ACTIONS(1778), + [anon_sym_AMP] = ACTIONS(1778), + [anon_sym_EQ_EQ] = ACTIONS(1772), + [anon_sym_BANG_EQ] = ACTIONS(1772), + [anon_sym_GT] = ACTIONS(1778), + [anon_sym_GT_EQ] = ACTIONS(1772), + [anon_sym_LT_EQ] = ACTIONS(1772), + [anon_sym_LT] = ACTIONS(1778), + [anon_sym_LT_LT] = ACTIONS(1778), + [anon_sym_GT_GT] = ACTIONS(1778), + [anon_sym_SEMI] = ACTIONS(1772), + [anon_sym___extension__] = ACTIONS(1770), + [anon_sym_extern] = ACTIONS(1770), + [anon_sym___attribute__] = ACTIONS(1770), + [anon_sym___attribute] = ACTIONS(1770), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1786), + [anon_sym___declspec] = ACTIONS(1770), + [anon_sym___based] = ACTIONS(1770), + [anon_sym___cdecl] = ACTIONS(1770), + [anon_sym___clrcall] = ACTIONS(1770), + [anon_sym___stdcall] = ACTIONS(1770), + [anon_sym___fastcall] = ACTIONS(1770), + [anon_sym___thiscall] = ACTIONS(1770), + [anon_sym___vectorcall] = ACTIONS(1770), + [anon_sym_signed] = ACTIONS(1788), + [anon_sym_unsigned] = ACTIONS(1788), + [anon_sym_long] = ACTIONS(1788), + [anon_sym_short] = ACTIONS(1788), + [anon_sym_LBRACK] = ACTIONS(1778), + [anon_sym_static] = ACTIONS(1770), + [anon_sym_EQ] = ACTIONS(1790), + [anon_sym_auto] = ACTIONS(1770), + [anon_sym_register] = ACTIONS(1770), + [anon_sym_inline] = ACTIONS(1770), + [anon_sym___inline] = ACTIONS(1770), + [anon_sym___inline__] = ACTIONS(1770), + [anon_sym___forceinline] = ACTIONS(1770), + [anon_sym_thread_local] = ACTIONS(1770), + [anon_sym___thread] = ACTIONS(1770), + [anon_sym_const] = ACTIONS(1770), + [anon_sym_constexpr] = ACTIONS(1770), + [anon_sym_volatile] = ACTIONS(1770), + [anon_sym_restrict] = ACTIONS(1770), + [anon_sym___restrict__] = ACTIONS(1770), + [anon_sym__Atomic] = ACTIONS(1770), + [anon_sym__Noreturn] = ACTIONS(1770), + [anon_sym_noreturn] = ACTIONS(1770), + [anon_sym__Nonnull] = ACTIONS(1770), + [anon_sym_alignas] = ACTIONS(1770), + [anon_sym__Alignas] = ACTIONS(1770), + [anon_sym_COLON] = ACTIONS(1792), + [anon_sym_QMARK] = ACTIONS(1772), + [anon_sym_STAR_EQ] = ACTIONS(1794), + [anon_sym_SLASH_EQ] = ACTIONS(1794), + [anon_sym_PERCENT_EQ] = ACTIONS(1794), + [anon_sym_PLUS_EQ] = ACTIONS(1794), + [anon_sym_DASH_EQ] = ACTIONS(1794), + [anon_sym_LT_LT_EQ] = ACTIONS(1794), + [anon_sym_GT_GT_EQ] = ACTIONS(1794), + [anon_sym_AMP_EQ] = ACTIONS(1794), + [anon_sym_CARET_EQ] = ACTIONS(1794), + [anon_sym_PIPE_EQ] = ACTIONS(1794), + [anon_sym_DASH_DASH] = ACTIONS(1772), + [anon_sym_PLUS_PLUS] = ACTIONS(1772), + [anon_sym_DOT] = ACTIONS(1772), + [anon_sym_DASH_GT] = ACTIONS(1772), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + }, + [411] = { + [sym_string_literal] = STATE(630), + [aux_sym_sized_type_specifier_repeat1] = STATE(768), + [sym_identifier] = ACTIONS(1770), + [anon_sym_COMMA] = ACTIONS(1772), + [anon_sym_LPAREN2] = ACTIONS(1774), + [anon_sym_DASH] = ACTIONS(1778), + [anon_sym_PLUS] = ACTIONS(1778), + [anon_sym_STAR] = ACTIONS(1780), + [anon_sym_SLASH] = ACTIONS(1778), + [anon_sym_PERCENT] = ACTIONS(1778), + [anon_sym_PIPE_PIPE] = ACTIONS(1772), + [anon_sym_AMP_AMP] = ACTIONS(1772), + [anon_sym_PIPE] = ACTIONS(1778), + [anon_sym_CARET] = ACTIONS(1778), + [anon_sym_AMP] = ACTIONS(1778), + [anon_sym_EQ_EQ] = ACTIONS(1772), + [anon_sym_BANG_EQ] = ACTIONS(1772), + [anon_sym_GT] = ACTIONS(1778), + [anon_sym_GT_EQ] = ACTIONS(1772), + [anon_sym_LT_EQ] = ACTIONS(1772), + [anon_sym_LT] = ACTIONS(1778), + [anon_sym_LT_LT] = ACTIONS(1778), + [anon_sym_GT_GT] = ACTIONS(1778), + [anon_sym_SEMI] = ACTIONS(1772), + [anon_sym___extension__] = ACTIONS(1770), + [anon_sym_extern] = ACTIONS(1770), + [anon_sym___attribute__] = ACTIONS(1770), + [anon_sym___attribute] = ACTIONS(1770), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1786), + [anon_sym___declspec] = ACTIONS(1770), + [anon_sym___based] = ACTIONS(1770), + [anon_sym___cdecl] = ACTIONS(1770), + [anon_sym___clrcall] = ACTIONS(1770), + [anon_sym___stdcall] = ACTIONS(1770), + [anon_sym___fastcall] = ACTIONS(1770), + [anon_sym___thiscall] = ACTIONS(1770), + [anon_sym___vectorcall] = ACTIONS(1770), + [anon_sym_signed] = ACTIONS(1788), + [anon_sym_unsigned] = ACTIONS(1788), + [anon_sym_long] = ACTIONS(1788), + [anon_sym_short] = ACTIONS(1788), + [anon_sym_LBRACK] = ACTIONS(1778), + [anon_sym_static] = ACTIONS(1770), + [anon_sym_EQ] = ACTIONS(1790), + [anon_sym_auto] = ACTIONS(1770), + [anon_sym_register] = ACTIONS(1770), + [anon_sym_inline] = ACTIONS(1770), + [anon_sym___inline] = ACTIONS(1770), + [anon_sym___inline__] = ACTIONS(1770), + [anon_sym___forceinline] = ACTIONS(1770), + [anon_sym_thread_local] = ACTIONS(1770), + [anon_sym___thread] = ACTIONS(1770), + [anon_sym_const] = ACTIONS(1770), + [anon_sym_constexpr] = ACTIONS(1770), + [anon_sym_volatile] = ACTIONS(1770), + [anon_sym_restrict] = ACTIONS(1770), + [anon_sym___restrict__] = ACTIONS(1770), + [anon_sym__Atomic] = ACTIONS(1770), + [anon_sym__Noreturn] = ACTIONS(1770), + [anon_sym_noreturn] = ACTIONS(1770), + [anon_sym__Nonnull] = ACTIONS(1770), + [anon_sym_alignas] = ACTIONS(1770), + [anon_sym__Alignas] = ACTIONS(1770), + [anon_sym_COLON] = ACTIONS(1798), + [anon_sym_QMARK] = ACTIONS(1772), + [anon_sym_STAR_EQ] = ACTIONS(1794), + [anon_sym_SLASH_EQ] = ACTIONS(1794), + [anon_sym_PERCENT_EQ] = ACTIONS(1794), + [anon_sym_PLUS_EQ] = ACTIONS(1794), + [anon_sym_DASH_EQ] = ACTIONS(1794), + [anon_sym_LT_LT_EQ] = ACTIONS(1794), + [anon_sym_GT_GT_EQ] = ACTIONS(1794), + [anon_sym_AMP_EQ] = ACTIONS(1794), + [anon_sym_CARET_EQ] = ACTIONS(1794), + [anon_sym_PIPE_EQ] = ACTIONS(1794), + [anon_sym_DASH_DASH] = ACTIONS(1772), + [anon_sym_PLUS_PLUS] = ACTIONS(1772), + [anon_sym_DOT] = ACTIONS(1772), + [anon_sym_DASH_GT] = ACTIONS(1772), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + }, + [412] = { + [sym_string_literal] = STATE(630), + [aux_sym_sized_type_specifier_repeat1] = STATE(768), + [sym_identifier] = ACTIONS(1770), + [anon_sym_COMMA] = ACTIONS(1772), + [anon_sym_LPAREN2] = ACTIONS(1774), + [anon_sym_DASH] = ACTIONS(1778), + [anon_sym_PLUS] = ACTIONS(1778), + [anon_sym_STAR] = ACTIONS(1780), + [anon_sym_SLASH] = ACTIONS(1778), + [anon_sym_PERCENT] = ACTIONS(1778), + [anon_sym_PIPE_PIPE] = ACTIONS(1772), + [anon_sym_AMP_AMP] = ACTIONS(1772), + [anon_sym_PIPE] = ACTIONS(1778), + [anon_sym_CARET] = ACTIONS(1778), + [anon_sym_AMP] = ACTIONS(1778), + [anon_sym_EQ_EQ] = ACTIONS(1772), + [anon_sym_BANG_EQ] = ACTIONS(1772), + [anon_sym_GT] = ACTIONS(1778), + [anon_sym_GT_EQ] = ACTIONS(1772), + [anon_sym_LT_EQ] = ACTIONS(1772), + [anon_sym_LT] = ACTIONS(1778), + [anon_sym_LT_LT] = ACTIONS(1778), + [anon_sym_GT_GT] = ACTIONS(1778), + [anon_sym_SEMI] = ACTIONS(1772), + [anon_sym___extension__] = ACTIONS(1770), + [anon_sym_extern] = ACTIONS(1770), + [anon_sym___attribute__] = ACTIONS(1770), + [anon_sym___attribute] = ACTIONS(1770), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1786), + [anon_sym___declspec] = ACTIONS(1770), + [anon_sym___based] = ACTIONS(1770), + [anon_sym___cdecl] = ACTIONS(1770), + [anon_sym___clrcall] = ACTIONS(1770), + [anon_sym___stdcall] = ACTIONS(1770), + [anon_sym___fastcall] = ACTIONS(1770), + [anon_sym___thiscall] = ACTIONS(1770), + [anon_sym___vectorcall] = ACTIONS(1770), + [anon_sym_signed] = ACTIONS(1788), + [anon_sym_unsigned] = ACTIONS(1788), + [anon_sym_long] = ACTIONS(1788), + [anon_sym_short] = ACTIONS(1788), + [anon_sym_LBRACK] = ACTIONS(1778), + [anon_sym_static] = ACTIONS(1770), + [anon_sym_EQ] = ACTIONS(1790), + [anon_sym_auto] = ACTIONS(1770), + [anon_sym_register] = ACTIONS(1770), + [anon_sym_inline] = ACTIONS(1770), + [anon_sym___inline] = ACTIONS(1770), + [anon_sym___inline__] = ACTIONS(1770), + [anon_sym___forceinline] = ACTIONS(1770), + [anon_sym_thread_local] = ACTIONS(1770), + [anon_sym___thread] = ACTIONS(1770), + [anon_sym_const] = ACTIONS(1770), + [anon_sym_constexpr] = ACTIONS(1770), + [anon_sym_volatile] = ACTIONS(1770), + [anon_sym_restrict] = ACTIONS(1770), + [anon_sym___restrict__] = ACTIONS(1770), + [anon_sym__Atomic] = ACTIONS(1770), + [anon_sym__Noreturn] = ACTIONS(1770), + [anon_sym_noreturn] = ACTIONS(1770), + [anon_sym__Nonnull] = ACTIONS(1770), + [anon_sym_alignas] = ACTIONS(1770), + [anon_sym__Alignas] = ACTIONS(1770), + [anon_sym_COLON] = ACTIONS(1800), + [anon_sym_QMARK] = ACTIONS(1772), + [anon_sym_STAR_EQ] = ACTIONS(1794), + [anon_sym_SLASH_EQ] = ACTIONS(1794), + [anon_sym_PERCENT_EQ] = ACTIONS(1794), + [anon_sym_PLUS_EQ] = ACTIONS(1794), + [anon_sym_DASH_EQ] = ACTIONS(1794), + [anon_sym_LT_LT_EQ] = ACTIONS(1794), + [anon_sym_GT_GT_EQ] = ACTIONS(1794), + [anon_sym_AMP_EQ] = ACTIONS(1794), + [anon_sym_CARET_EQ] = ACTIONS(1794), + [anon_sym_PIPE_EQ] = ACTIONS(1794), + [anon_sym_DASH_DASH] = ACTIONS(1772), + [anon_sym_PLUS_PLUS] = ACTIONS(1772), + [anon_sym_DOT] = ACTIONS(1772), + [anon_sym_DASH_GT] = ACTIONS(1772), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + }, + [413] = { + [sym_string_literal] = STATE(630), + [aux_sym_sized_type_specifier_repeat1] = STATE(768), + [sym_identifier] = ACTIONS(1770), + [anon_sym_COMMA] = ACTIONS(1772), + [anon_sym_LPAREN2] = ACTIONS(1774), + [anon_sym_DASH] = ACTIONS(1778), + [anon_sym_PLUS] = ACTIONS(1778), + [anon_sym_STAR] = ACTIONS(1780), + [anon_sym_SLASH] = ACTIONS(1778), + [anon_sym_PERCENT] = ACTIONS(1778), + [anon_sym_PIPE_PIPE] = ACTIONS(1772), + [anon_sym_AMP_AMP] = ACTIONS(1772), + [anon_sym_PIPE] = ACTIONS(1778), + [anon_sym_CARET] = ACTIONS(1778), + [anon_sym_AMP] = ACTIONS(1778), + [anon_sym_EQ_EQ] = ACTIONS(1772), + [anon_sym_BANG_EQ] = ACTIONS(1772), + [anon_sym_GT] = ACTIONS(1778), + [anon_sym_GT_EQ] = ACTIONS(1772), + [anon_sym_LT_EQ] = ACTIONS(1772), + [anon_sym_LT] = ACTIONS(1778), + [anon_sym_LT_LT] = ACTIONS(1778), + [anon_sym_GT_GT] = ACTIONS(1778), + [anon_sym_SEMI] = ACTIONS(1783), + [anon_sym___extension__] = ACTIONS(1770), + [anon_sym_extern] = ACTIONS(1770), + [anon_sym___attribute__] = ACTIONS(1770), + [anon_sym___attribute] = ACTIONS(1770), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1786), + [anon_sym___declspec] = ACTIONS(1770), + [anon_sym___based] = ACTIONS(1770), + [anon_sym___cdecl] = ACTIONS(1770), + [anon_sym___clrcall] = ACTIONS(1770), + [anon_sym___stdcall] = ACTIONS(1770), + [anon_sym___fastcall] = ACTIONS(1770), + [anon_sym___thiscall] = ACTIONS(1770), + [anon_sym___vectorcall] = ACTIONS(1770), + [anon_sym_signed] = ACTIONS(1788), + [anon_sym_unsigned] = ACTIONS(1788), + [anon_sym_long] = ACTIONS(1788), + [anon_sym_short] = ACTIONS(1788), + [anon_sym_LBRACK] = ACTIONS(1778), + [anon_sym_static] = ACTIONS(1770), + [anon_sym_EQ] = ACTIONS(1790), + [anon_sym_auto] = ACTIONS(1770), + [anon_sym_register] = ACTIONS(1770), + [anon_sym_inline] = ACTIONS(1770), + [anon_sym___inline] = ACTIONS(1770), + [anon_sym___inline__] = ACTIONS(1770), + [anon_sym___forceinline] = ACTIONS(1770), + [anon_sym_thread_local] = ACTIONS(1770), + [anon_sym___thread] = ACTIONS(1770), + [anon_sym_const] = ACTIONS(1770), + [anon_sym_constexpr] = ACTIONS(1770), + [anon_sym_volatile] = ACTIONS(1770), + [anon_sym_restrict] = ACTIONS(1770), + [anon_sym___restrict__] = ACTIONS(1770), + [anon_sym__Atomic] = ACTIONS(1770), + [anon_sym__Noreturn] = ACTIONS(1770), + [anon_sym_noreturn] = ACTIONS(1770), + [anon_sym__Nonnull] = ACTIONS(1770), + [anon_sym_alignas] = ACTIONS(1770), + [anon_sym__Alignas] = ACTIONS(1770), + [anon_sym_COLON] = ACTIONS(1800), + [anon_sym_QMARK] = ACTIONS(1772), + [anon_sym_STAR_EQ] = ACTIONS(1794), + [anon_sym_SLASH_EQ] = ACTIONS(1794), + [anon_sym_PERCENT_EQ] = ACTIONS(1794), + [anon_sym_PLUS_EQ] = ACTIONS(1794), + [anon_sym_DASH_EQ] = ACTIONS(1794), + [anon_sym_LT_LT_EQ] = ACTIONS(1794), + [anon_sym_GT_GT_EQ] = ACTIONS(1794), + [anon_sym_AMP_EQ] = ACTIONS(1794), + [anon_sym_CARET_EQ] = ACTIONS(1794), + [anon_sym_PIPE_EQ] = ACTIONS(1794), + [anon_sym_DASH_DASH] = ACTIONS(1772), + [anon_sym_PLUS_PLUS] = ACTIONS(1772), + [anon_sym_DOT] = ACTIONS(1772), + [anon_sym_DASH_GT] = ACTIONS(1772), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + }, + [414] = { + [sym_string_literal] = STATE(630), + [aux_sym_sized_type_specifier_repeat1] = STATE(768), + [sym_identifier] = ACTIONS(1770), + [anon_sym_COMMA] = ACTIONS(1772), + [anon_sym_LPAREN2] = ACTIONS(1774), + [anon_sym_DASH] = ACTIONS(1778), + [anon_sym_PLUS] = ACTIONS(1778), + [anon_sym_STAR] = ACTIONS(1780), + [anon_sym_SLASH] = ACTIONS(1778), + [anon_sym_PERCENT] = ACTIONS(1778), + [anon_sym_PIPE_PIPE] = ACTIONS(1772), + [anon_sym_AMP_AMP] = ACTIONS(1772), + [anon_sym_PIPE] = ACTIONS(1778), + [anon_sym_CARET] = ACTIONS(1778), + [anon_sym_AMP] = ACTIONS(1778), + [anon_sym_EQ_EQ] = ACTIONS(1772), + [anon_sym_BANG_EQ] = ACTIONS(1772), + [anon_sym_GT] = ACTIONS(1778), + [anon_sym_GT_EQ] = ACTIONS(1772), + [anon_sym_LT_EQ] = ACTIONS(1772), + [anon_sym_LT] = ACTIONS(1778), + [anon_sym_LT_LT] = ACTIONS(1778), + [anon_sym_GT_GT] = ACTIONS(1778), + [anon_sym_SEMI] = ACTIONS(1783), + [anon_sym___extension__] = ACTIONS(1770), + [anon_sym_extern] = ACTIONS(1770), + [anon_sym___attribute__] = ACTIONS(1770), + [anon_sym___attribute] = ACTIONS(1770), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1786), + [anon_sym___declspec] = ACTIONS(1770), + [anon_sym___based] = ACTIONS(1770), + [anon_sym___cdecl] = ACTIONS(1770), + [anon_sym___clrcall] = ACTIONS(1770), + [anon_sym___stdcall] = ACTIONS(1770), + [anon_sym___fastcall] = ACTIONS(1770), + [anon_sym___thiscall] = ACTIONS(1770), + [anon_sym___vectorcall] = ACTIONS(1770), + [anon_sym_signed] = ACTIONS(1788), + [anon_sym_unsigned] = ACTIONS(1788), + [anon_sym_long] = ACTIONS(1788), + [anon_sym_short] = ACTIONS(1788), + [anon_sym_LBRACK] = ACTIONS(1778), + [anon_sym_static] = ACTIONS(1770), + [anon_sym_EQ] = ACTIONS(1790), + [anon_sym_auto] = ACTIONS(1770), + [anon_sym_register] = ACTIONS(1770), + [anon_sym_inline] = ACTIONS(1770), + [anon_sym___inline] = ACTIONS(1770), + [anon_sym___inline__] = ACTIONS(1770), + [anon_sym___forceinline] = ACTIONS(1770), + [anon_sym_thread_local] = ACTIONS(1770), + [anon_sym___thread] = ACTIONS(1770), + [anon_sym_const] = ACTIONS(1770), + [anon_sym_constexpr] = ACTIONS(1770), + [anon_sym_volatile] = ACTIONS(1770), + [anon_sym_restrict] = ACTIONS(1770), + [anon_sym___restrict__] = ACTIONS(1770), + [anon_sym__Atomic] = ACTIONS(1770), + [anon_sym__Noreturn] = ACTIONS(1770), + [anon_sym_noreturn] = ACTIONS(1770), + [anon_sym__Nonnull] = ACTIONS(1770), + [anon_sym_alignas] = ACTIONS(1770), + [anon_sym__Alignas] = ACTIONS(1770), + [anon_sym_COLON] = ACTIONS(1802), + [anon_sym_QMARK] = ACTIONS(1772), + [anon_sym_STAR_EQ] = ACTIONS(1794), + [anon_sym_SLASH_EQ] = ACTIONS(1794), + [anon_sym_PERCENT_EQ] = ACTIONS(1794), + [anon_sym_PLUS_EQ] = ACTIONS(1794), + [anon_sym_DASH_EQ] = ACTIONS(1794), + [anon_sym_LT_LT_EQ] = ACTIONS(1794), + [anon_sym_GT_GT_EQ] = ACTIONS(1794), + [anon_sym_AMP_EQ] = ACTIONS(1794), + [anon_sym_CARET_EQ] = ACTIONS(1794), + [anon_sym_PIPE_EQ] = ACTIONS(1794), + [anon_sym_DASH_DASH] = ACTIONS(1772), + [anon_sym_PLUS_PLUS] = ACTIONS(1772), + [anon_sym_DOT] = ACTIONS(1772), + [anon_sym_DASH_GT] = ACTIONS(1772), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + }, + [415] = { + [sym_string_literal] = STATE(630), + [aux_sym_sized_type_specifier_repeat1] = STATE(768), + [sym_identifier] = ACTIONS(1770), + [anon_sym_COMMA] = ACTIONS(1772), + [anon_sym_LPAREN2] = ACTIONS(1774), + [anon_sym_DASH] = ACTIONS(1778), + [anon_sym_PLUS] = ACTIONS(1778), + [anon_sym_STAR] = ACTIONS(1780), + [anon_sym_SLASH] = ACTIONS(1778), + [anon_sym_PERCENT] = ACTIONS(1778), + [anon_sym_PIPE_PIPE] = ACTIONS(1772), + [anon_sym_AMP_AMP] = ACTIONS(1772), + [anon_sym_PIPE] = ACTIONS(1778), + [anon_sym_CARET] = ACTIONS(1778), + [anon_sym_AMP] = ACTIONS(1778), + [anon_sym_EQ_EQ] = ACTIONS(1772), + [anon_sym_BANG_EQ] = ACTIONS(1772), + [anon_sym_GT] = ACTIONS(1778), + [anon_sym_GT_EQ] = ACTIONS(1772), + [anon_sym_LT_EQ] = ACTIONS(1772), + [anon_sym_LT] = ACTIONS(1778), + [anon_sym_LT_LT] = ACTIONS(1778), + [anon_sym_GT_GT] = ACTIONS(1778), + [anon_sym_SEMI] = ACTIONS(1772), + [anon_sym___extension__] = ACTIONS(1770), + [anon_sym_extern] = ACTIONS(1770), + [anon_sym___attribute__] = ACTIONS(1770), + [anon_sym___attribute] = ACTIONS(1770), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1786), + [anon_sym___declspec] = ACTIONS(1770), + [anon_sym___based] = ACTIONS(1770), + [anon_sym___cdecl] = ACTIONS(1770), + [anon_sym___clrcall] = ACTIONS(1770), + [anon_sym___stdcall] = ACTIONS(1770), + [anon_sym___fastcall] = ACTIONS(1770), + [anon_sym___thiscall] = ACTIONS(1770), + [anon_sym___vectorcall] = ACTIONS(1770), + [anon_sym_signed] = ACTIONS(1788), + [anon_sym_unsigned] = ACTIONS(1788), + [anon_sym_long] = ACTIONS(1788), + [anon_sym_short] = ACTIONS(1788), + [anon_sym_LBRACK] = ACTIONS(1778), + [anon_sym_static] = ACTIONS(1770), + [anon_sym_EQ] = ACTIONS(1790), + [anon_sym_auto] = ACTIONS(1770), + [anon_sym_register] = ACTIONS(1770), + [anon_sym_inline] = ACTIONS(1770), + [anon_sym___inline] = ACTIONS(1770), + [anon_sym___inline__] = ACTIONS(1770), + [anon_sym___forceinline] = ACTIONS(1770), + [anon_sym_thread_local] = ACTIONS(1770), + [anon_sym___thread] = ACTIONS(1770), + [anon_sym_const] = ACTIONS(1770), + [anon_sym_constexpr] = ACTIONS(1770), + [anon_sym_volatile] = ACTIONS(1770), + [anon_sym_restrict] = ACTIONS(1770), + [anon_sym___restrict__] = ACTIONS(1770), + [anon_sym__Atomic] = ACTIONS(1770), + [anon_sym__Noreturn] = ACTIONS(1770), + [anon_sym_noreturn] = ACTIONS(1770), + [anon_sym__Nonnull] = ACTIONS(1770), + [anon_sym_alignas] = ACTIONS(1770), + [anon_sym__Alignas] = ACTIONS(1770), + [anon_sym_COLON] = ACTIONS(1802), + [anon_sym_QMARK] = ACTIONS(1772), + [anon_sym_STAR_EQ] = ACTIONS(1794), + [anon_sym_SLASH_EQ] = ACTIONS(1794), + [anon_sym_PERCENT_EQ] = ACTIONS(1794), + [anon_sym_PLUS_EQ] = ACTIONS(1794), + [anon_sym_DASH_EQ] = ACTIONS(1794), + [anon_sym_LT_LT_EQ] = ACTIONS(1794), + [anon_sym_GT_GT_EQ] = ACTIONS(1794), + [anon_sym_AMP_EQ] = ACTIONS(1794), + [anon_sym_CARET_EQ] = ACTIONS(1794), + [anon_sym_PIPE_EQ] = ACTIONS(1794), + [anon_sym_DASH_DASH] = ACTIONS(1772), + [anon_sym_PLUS_PLUS] = ACTIONS(1772), + [anon_sym_DOT] = ACTIONS(1772), + [anon_sym_DASH_GT] = ACTIONS(1772), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + }, + [416] = { + [sym_string_literal] = STATE(630), + [aux_sym_sized_type_specifier_repeat1] = STATE(768), + [sym_identifier] = ACTIONS(1770), + [anon_sym_COMMA] = ACTIONS(1772), + [anon_sym_LPAREN2] = ACTIONS(1774), + [anon_sym_DASH] = ACTIONS(1778), + [anon_sym_PLUS] = ACTIONS(1778), + [anon_sym_STAR] = ACTIONS(1780), + [anon_sym_SLASH] = ACTIONS(1778), + [anon_sym_PERCENT] = ACTIONS(1778), + [anon_sym_PIPE_PIPE] = ACTIONS(1772), + [anon_sym_AMP_AMP] = ACTIONS(1772), + [anon_sym_PIPE] = ACTIONS(1778), + [anon_sym_CARET] = ACTIONS(1778), + [anon_sym_AMP] = ACTIONS(1778), + [anon_sym_EQ_EQ] = ACTIONS(1772), + [anon_sym_BANG_EQ] = ACTIONS(1772), + [anon_sym_GT] = ACTIONS(1778), + [anon_sym_GT_EQ] = ACTIONS(1772), + [anon_sym_LT_EQ] = ACTIONS(1772), + [anon_sym_LT] = ACTIONS(1778), + [anon_sym_LT_LT] = ACTIONS(1778), + [anon_sym_GT_GT] = ACTIONS(1778), + [anon_sym_SEMI] = ACTIONS(1772), + [anon_sym___extension__] = ACTIONS(1770), + [anon_sym_extern] = ACTIONS(1770), + [anon_sym___attribute__] = ACTIONS(1770), + [anon_sym___attribute] = ACTIONS(1770), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1786), + [anon_sym___declspec] = ACTIONS(1770), + [anon_sym___based] = ACTIONS(1770), + [anon_sym___cdecl] = ACTIONS(1770), + [anon_sym___clrcall] = ACTIONS(1770), + [anon_sym___stdcall] = ACTIONS(1770), + [anon_sym___fastcall] = ACTIONS(1770), + [anon_sym___thiscall] = ACTIONS(1770), + [anon_sym___vectorcall] = ACTIONS(1770), + [anon_sym_signed] = ACTIONS(1788), + [anon_sym_unsigned] = ACTIONS(1788), + [anon_sym_long] = ACTIONS(1788), + [anon_sym_short] = ACTIONS(1788), + [anon_sym_LBRACK] = ACTIONS(1778), + [anon_sym_static] = ACTIONS(1770), + [anon_sym_EQ] = ACTIONS(1790), + [anon_sym_auto] = ACTIONS(1770), + [anon_sym_register] = ACTIONS(1770), + [anon_sym_inline] = ACTIONS(1770), + [anon_sym___inline] = ACTIONS(1770), + [anon_sym___inline__] = ACTIONS(1770), + [anon_sym___forceinline] = ACTIONS(1770), + [anon_sym_thread_local] = ACTIONS(1770), + [anon_sym___thread] = ACTIONS(1770), + [anon_sym_const] = ACTIONS(1770), + [anon_sym_constexpr] = ACTIONS(1770), + [anon_sym_volatile] = ACTIONS(1770), + [anon_sym_restrict] = ACTIONS(1770), + [anon_sym___restrict__] = ACTIONS(1770), + [anon_sym__Atomic] = ACTIONS(1770), + [anon_sym__Noreturn] = ACTIONS(1770), + [anon_sym_noreturn] = ACTIONS(1770), + [anon_sym__Nonnull] = ACTIONS(1770), + [anon_sym_alignas] = ACTIONS(1770), + [anon_sym__Alignas] = ACTIONS(1770), + [anon_sym_QMARK] = ACTIONS(1772), + [anon_sym_STAR_EQ] = ACTIONS(1794), + [anon_sym_SLASH_EQ] = ACTIONS(1794), + [anon_sym_PERCENT_EQ] = ACTIONS(1794), + [anon_sym_PLUS_EQ] = ACTIONS(1794), + [anon_sym_DASH_EQ] = ACTIONS(1794), + [anon_sym_LT_LT_EQ] = ACTIONS(1794), + [anon_sym_GT_GT_EQ] = ACTIONS(1794), + [anon_sym_AMP_EQ] = ACTIONS(1794), + [anon_sym_CARET_EQ] = ACTIONS(1794), + [anon_sym_PIPE_EQ] = ACTIONS(1794), + [anon_sym_DASH_DASH] = ACTIONS(1772), + [anon_sym_PLUS_PLUS] = ACTIONS(1772), + [anon_sym_DOT] = ACTIONS(1772), + [anon_sym_DASH_GT] = ACTIONS(1772), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + }, + [417] = { + [sym_expression] = STATE(896), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(932), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(932), + [sym_call_expression] = STATE(932), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(932), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(932), + [sym_initializer_list] = STATE(686), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_identifier] = ACTIONS(1804), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1388), + [anon_sym_LPAREN2] = ACTIONS(1388), + [anon_sym_BANG] = ACTIONS(1806), + [anon_sym_TILDE] = ACTIONS(1808), + [anon_sym_DASH] = ACTIONS(1394), + [anon_sym_PLUS] = ACTIONS(1394), + [anon_sym_STAR] = ACTIONS(1388), + [anon_sym_SLASH] = ACTIONS(1394), + [anon_sym_PERCENT] = ACTIONS(1388), + [anon_sym_PIPE_PIPE] = ACTIONS(1388), + [anon_sym_AMP_AMP] = ACTIONS(1388), + [anon_sym_PIPE] = ACTIONS(1394), + [anon_sym_CARET] = ACTIONS(1388), + [anon_sym_AMP] = ACTIONS(1394), + [anon_sym_EQ_EQ] = ACTIONS(1388), + [anon_sym_BANG_EQ] = ACTIONS(1388), + [anon_sym_GT] = ACTIONS(1394), + [anon_sym_GT_EQ] = ACTIONS(1388), + [anon_sym_LT_EQ] = ACTIONS(1388), + [anon_sym_LT] = ACTIONS(1394), + [anon_sym_LT_LT] = ACTIONS(1388), + [anon_sym_GT_GT] = ACTIONS(1388), + [anon_sym___extension__] = ACTIONS(1810), + [anon_sym_LBRACE] = ACTIONS(1398), + [anon_sym_LBRACK] = ACTIONS(1388), + [anon_sym_RBRACK] = ACTIONS(1388), + [anon_sym_QMARK] = ACTIONS(1388), + [anon_sym_DASH_DASH] = ACTIONS(1388), + [anon_sym_PLUS_PLUS] = ACTIONS(1388), + [anon_sym_sizeof] = ACTIONS(1812), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [anon_sym_DOT] = ACTIONS(1394), + [anon_sym_DASH_GT] = ACTIONS(1388), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [418] = { + [sym_string_literal] = STATE(630), + [aux_sym_sized_type_specifier_repeat1] = STATE(768), + [sym_identifier] = ACTIONS(1770), + [anon_sym_LPAREN2] = ACTIONS(1774), + [anon_sym_DASH] = ACTIONS(1778), + [anon_sym_PLUS] = ACTIONS(1778), + [anon_sym_STAR] = ACTIONS(1780), + [anon_sym_SLASH] = ACTIONS(1778), + [anon_sym_PERCENT] = ACTIONS(1778), + [anon_sym_PIPE_PIPE] = ACTIONS(1772), + [anon_sym_AMP_AMP] = ACTIONS(1772), + [anon_sym_PIPE] = ACTIONS(1778), + [anon_sym_CARET] = ACTIONS(1778), + [anon_sym_AMP] = ACTIONS(1778), + [anon_sym_EQ_EQ] = ACTIONS(1772), + [anon_sym_BANG_EQ] = ACTIONS(1772), + [anon_sym_GT] = ACTIONS(1778), + [anon_sym_GT_EQ] = ACTIONS(1772), + [anon_sym_LT_EQ] = ACTIONS(1772), + [anon_sym_LT] = ACTIONS(1778), + [anon_sym_LT_LT] = ACTIONS(1778), + [anon_sym_GT_GT] = ACTIONS(1778), + [anon_sym_SEMI] = ACTIONS(1814), + [anon_sym___extension__] = ACTIONS(1770), + [anon_sym_extern] = ACTIONS(1770), + [anon_sym___attribute__] = ACTIONS(1770), + [anon_sym___attribute] = ACTIONS(1770), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1786), + [anon_sym___declspec] = ACTIONS(1770), + [anon_sym___based] = ACTIONS(1770), + [anon_sym___cdecl] = ACTIONS(1770), + [anon_sym___clrcall] = ACTIONS(1770), + [anon_sym___stdcall] = ACTIONS(1770), + [anon_sym___fastcall] = ACTIONS(1770), + [anon_sym___thiscall] = ACTIONS(1770), + [anon_sym___vectorcall] = ACTIONS(1770), + [anon_sym_signed] = ACTIONS(1788), + [anon_sym_unsigned] = ACTIONS(1788), + [anon_sym_long] = ACTIONS(1788), + [anon_sym_short] = ACTIONS(1788), + [anon_sym_LBRACK] = ACTIONS(1778), + [anon_sym_static] = ACTIONS(1770), + [anon_sym_EQ] = ACTIONS(1790), + [anon_sym_auto] = ACTIONS(1770), + [anon_sym_register] = ACTIONS(1770), + [anon_sym_inline] = ACTIONS(1770), + [anon_sym___inline] = ACTIONS(1770), + [anon_sym___inline__] = ACTIONS(1770), + [anon_sym___forceinline] = ACTIONS(1770), + [anon_sym_thread_local] = ACTIONS(1770), + [anon_sym___thread] = ACTIONS(1770), + [anon_sym_const] = ACTIONS(1770), + [anon_sym_constexpr] = ACTIONS(1770), + [anon_sym_volatile] = ACTIONS(1770), + [anon_sym_restrict] = ACTIONS(1770), + [anon_sym___restrict__] = ACTIONS(1770), + [anon_sym__Atomic] = ACTIONS(1770), + [anon_sym__Noreturn] = ACTIONS(1770), + [anon_sym_noreturn] = ACTIONS(1770), + [anon_sym__Nonnull] = ACTIONS(1770), + [anon_sym_alignas] = ACTIONS(1770), + [anon_sym__Alignas] = ACTIONS(1770), + [anon_sym_COLON] = ACTIONS(1798), + [anon_sym_QMARK] = ACTIONS(1772), + [anon_sym_STAR_EQ] = ACTIONS(1794), + [anon_sym_SLASH_EQ] = ACTIONS(1794), + [anon_sym_PERCENT_EQ] = ACTIONS(1794), + [anon_sym_PLUS_EQ] = ACTIONS(1794), + [anon_sym_DASH_EQ] = ACTIONS(1794), + [anon_sym_LT_LT_EQ] = ACTIONS(1794), + [anon_sym_GT_GT_EQ] = ACTIONS(1794), + [anon_sym_AMP_EQ] = ACTIONS(1794), + [anon_sym_CARET_EQ] = ACTIONS(1794), + [anon_sym_PIPE_EQ] = ACTIONS(1794), + [anon_sym_DASH_DASH] = ACTIONS(1772), + [anon_sym_PLUS_PLUS] = ACTIONS(1772), + [anon_sym_DOT] = ACTIONS(1772), + [anon_sym_DASH_GT] = ACTIONS(1772), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_comment] = ACTIONS(3), + }, + [419] = { + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1127), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_based_modifier] = STATE(1967), + [sym_ms_call_modifier] = STATE(1266), + [sym__declarator] = STATE(1454), + [sym__abstract_declarator] = STATE(1555), + [sym_parenthesized_declarator] = STATE(1311), + [sym_abstract_parenthesized_declarator] = STATE(1467), + [sym_attributed_declarator] = STATE(1311), + [sym_pointer_declarator] = STATE(1311), + [sym_abstract_pointer_declarator] = STATE(1467), + [sym_function_declarator] = STATE(1311), + [sym_abstract_function_declarator] = STATE(1467), + [sym_array_declarator] = STATE(1311), + [sym_abstract_array_declarator] = STATE(1467), + [sym_compound_statement] = STATE(1957), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_variadic_parameter] = STATE(1603), + [sym_parameter_list] = STATE(1442), + [sym_parameter_declaration] = STATE(1603), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1817), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1819), + [anon_sym_RPAREN] = ACTIONS(1821), + [anon_sym_LPAREN2] = ACTIONS(1823), + [anon_sym_STAR] = ACTIONS(1825), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___based] = ACTIONS(1827), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(1829), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [420] = { + [sym_type_qualifier] = STATE(421), + [sym_alignas_qualifier] = STATE(703), + [sym_expression] = STATE(1100), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(932), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(932), + [sym_call_expression] = STATE(932), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(932), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(932), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_array_declarator_repeat1] = STATE(421), + [sym_identifier] = ACTIONS(1804), + [anon_sym_LPAREN2] = ACTIONS(1831), + [anon_sym_BANG] = ACTIONS(1808), + [anon_sym_TILDE] = ACTIONS(1808), + [anon_sym_DASH] = ACTIONS(1806), + [anon_sym_PLUS] = ACTIONS(1806), + [anon_sym_STAR] = ACTIONS(1833), + [anon_sym_AMP] = ACTIONS(1835), + [anon_sym___extension__] = ACTIONS(1837), + [anon_sym_static] = ACTIONS(1839), + [anon_sym_RBRACK] = ACTIONS(1841), + [anon_sym_const] = ACTIONS(1843), + [anon_sym_constexpr] = ACTIONS(1843), + [anon_sym_volatile] = ACTIONS(1843), + [anon_sym_restrict] = ACTIONS(1843), + [anon_sym___restrict__] = ACTIONS(1843), + [anon_sym__Atomic] = ACTIONS(1843), + [anon_sym__Noreturn] = ACTIONS(1843), + [anon_sym_noreturn] = ACTIONS(1843), + [anon_sym__Nonnull] = ACTIONS(1843), + [anon_sym_alignas] = ACTIONS(1845), + [anon_sym__Alignas] = ACTIONS(1845), + [anon_sym_DASH_DASH] = ACTIONS(1847), + [anon_sym_PLUS_PLUS] = ACTIONS(1847), + [anon_sym_sizeof] = ACTIONS(1812), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [421] = { + [sym_type_qualifier] = STATE(667), + [sym_alignas_qualifier] = STATE(703), + [sym_expression] = STATE(1104), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(932), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(932), + [sym_call_expression] = STATE(932), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(932), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(932), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_array_declarator_repeat1] = STATE(667), + [sym_identifier] = ACTIONS(1804), + [anon_sym_LPAREN2] = ACTIONS(1831), + [anon_sym_BANG] = ACTIONS(1808), + [anon_sym_TILDE] = ACTIONS(1808), + [anon_sym_DASH] = ACTIONS(1806), + [anon_sym_PLUS] = ACTIONS(1806), + [anon_sym_STAR] = ACTIONS(1849), + [anon_sym_AMP] = ACTIONS(1835), + [anon_sym___extension__] = ACTIONS(1837), + [anon_sym_static] = ACTIONS(1851), + [anon_sym_RBRACK] = ACTIONS(1853), + [anon_sym_const] = ACTIONS(1843), + [anon_sym_constexpr] = ACTIONS(1843), + [anon_sym_volatile] = ACTIONS(1843), + [anon_sym_restrict] = ACTIONS(1843), + [anon_sym___restrict__] = ACTIONS(1843), + [anon_sym__Atomic] = ACTIONS(1843), + [anon_sym__Noreturn] = ACTIONS(1843), + [anon_sym_noreturn] = ACTIONS(1843), + [anon_sym__Nonnull] = ACTIONS(1843), + [anon_sym_alignas] = ACTIONS(1845), + [anon_sym__Alignas] = ACTIONS(1845), + [anon_sym_DASH_DASH] = ACTIONS(1847), + [anon_sym_PLUS_PLUS] = ACTIONS(1847), + [anon_sym_sizeof] = ACTIONS(1812), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [422] = { + [sym_type_qualifier] = STATE(427), + [sym_alignas_qualifier] = STATE(703), + [sym_expression] = STATE(1089), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(932), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(932), + [sym_call_expression] = STATE(932), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(932), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(932), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_array_declarator_repeat1] = STATE(427), + [sym_identifier] = ACTIONS(1804), + [anon_sym_LPAREN2] = ACTIONS(1831), + [anon_sym_BANG] = ACTIONS(1808), + [anon_sym_TILDE] = ACTIONS(1808), + [anon_sym_DASH] = ACTIONS(1806), + [anon_sym_PLUS] = ACTIONS(1806), + [anon_sym_STAR] = ACTIONS(1855), + [anon_sym_AMP] = ACTIONS(1835), + [anon_sym___extension__] = ACTIONS(1837), + [anon_sym_static] = ACTIONS(1857), + [anon_sym_RBRACK] = ACTIONS(1859), + [anon_sym_const] = ACTIONS(1843), + [anon_sym_constexpr] = ACTIONS(1843), + [anon_sym_volatile] = ACTIONS(1843), + [anon_sym_restrict] = ACTIONS(1843), + [anon_sym___restrict__] = ACTIONS(1843), + [anon_sym__Atomic] = ACTIONS(1843), + [anon_sym__Noreturn] = ACTIONS(1843), + [anon_sym_noreturn] = ACTIONS(1843), + [anon_sym__Nonnull] = ACTIONS(1843), + [anon_sym_alignas] = ACTIONS(1845), + [anon_sym__Alignas] = ACTIONS(1845), + [anon_sym_DASH_DASH] = ACTIONS(1847), + [anon_sym_PLUS_PLUS] = ACTIONS(1847), + [anon_sym_sizeof] = ACTIONS(1812), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [423] = { + [sym_type_qualifier] = STATE(667), + [sym_alignas_qualifier] = STATE(703), + [sym_expression] = STATE(1102), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(932), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(932), + [sym_call_expression] = STATE(932), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(932), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(932), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_array_declarator_repeat1] = STATE(667), + [sym_identifier] = ACTIONS(1804), + [anon_sym_LPAREN2] = ACTIONS(1831), + [anon_sym_BANG] = ACTIONS(1808), + [anon_sym_TILDE] = ACTIONS(1808), + [anon_sym_DASH] = ACTIONS(1806), + [anon_sym_PLUS] = ACTIONS(1806), + [anon_sym_STAR] = ACTIONS(1861), + [anon_sym_AMP] = ACTIONS(1835), + [anon_sym___extension__] = ACTIONS(1837), + [anon_sym_static] = ACTIONS(1851), + [anon_sym_RBRACK] = ACTIONS(1863), + [anon_sym_const] = ACTIONS(1843), + [anon_sym_constexpr] = ACTIONS(1843), + [anon_sym_volatile] = ACTIONS(1843), + [anon_sym_restrict] = ACTIONS(1843), + [anon_sym___restrict__] = ACTIONS(1843), + [anon_sym__Atomic] = ACTIONS(1843), + [anon_sym__Noreturn] = ACTIONS(1843), + [anon_sym_noreturn] = ACTIONS(1843), + [anon_sym__Nonnull] = ACTIONS(1843), + [anon_sym_alignas] = ACTIONS(1845), + [anon_sym__Alignas] = ACTIONS(1845), + [anon_sym_DASH_DASH] = ACTIONS(1847), + [anon_sym_PLUS_PLUS] = ACTIONS(1847), + [anon_sym_sizeof] = ACTIONS(1812), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [424] = { + [sym_type_qualifier] = STATE(423), + [sym_alignas_qualifier] = STATE(703), + [sym_expression] = STATE(1103), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(932), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(932), + [sym_call_expression] = STATE(932), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(932), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(932), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_array_declarator_repeat1] = STATE(423), + [sym_identifier] = ACTIONS(1804), + [anon_sym_LPAREN2] = ACTIONS(1831), + [anon_sym_BANG] = ACTIONS(1808), + [anon_sym_TILDE] = ACTIONS(1808), + [anon_sym_DASH] = ACTIONS(1806), + [anon_sym_PLUS] = ACTIONS(1806), + [anon_sym_STAR] = ACTIONS(1865), + [anon_sym_AMP] = ACTIONS(1835), + [anon_sym___extension__] = ACTIONS(1837), + [anon_sym_static] = ACTIONS(1867), + [anon_sym_RBRACK] = ACTIONS(1869), + [anon_sym_const] = ACTIONS(1843), + [anon_sym_constexpr] = ACTIONS(1843), + [anon_sym_volatile] = ACTIONS(1843), + [anon_sym_restrict] = ACTIONS(1843), + [anon_sym___restrict__] = ACTIONS(1843), + [anon_sym__Atomic] = ACTIONS(1843), + [anon_sym__Noreturn] = ACTIONS(1843), + [anon_sym_noreturn] = ACTIONS(1843), + [anon_sym__Nonnull] = ACTIONS(1843), + [anon_sym_alignas] = ACTIONS(1845), + [anon_sym__Alignas] = ACTIONS(1845), + [anon_sym_DASH_DASH] = ACTIONS(1847), + [anon_sym_PLUS_PLUS] = ACTIONS(1847), + [anon_sym_sizeof] = ACTIONS(1812), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [425] = { + [sym_type_qualifier] = STATE(428), + [sym_alignas_qualifier] = STATE(703), + [sym_expression] = STATE(1086), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(932), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(932), + [sym_call_expression] = STATE(932), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(932), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(932), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_array_declarator_repeat1] = STATE(428), + [sym_identifier] = ACTIONS(1804), + [anon_sym_LPAREN2] = ACTIONS(1831), + [anon_sym_BANG] = ACTIONS(1808), + [anon_sym_TILDE] = ACTIONS(1808), + [anon_sym_DASH] = ACTIONS(1806), + [anon_sym_PLUS] = ACTIONS(1806), + [anon_sym_STAR] = ACTIONS(1871), + [anon_sym_AMP] = ACTIONS(1835), + [anon_sym___extension__] = ACTIONS(1837), + [anon_sym_static] = ACTIONS(1873), + [anon_sym_RBRACK] = ACTIONS(1875), + [anon_sym_const] = ACTIONS(1843), + [anon_sym_constexpr] = ACTIONS(1843), + [anon_sym_volatile] = ACTIONS(1843), + [anon_sym_restrict] = ACTIONS(1843), + [anon_sym___restrict__] = ACTIONS(1843), + [anon_sym__Atomic] = ACTIONS(1843), + [anon_sym__Noreturn] = ACTIONS(1843), + [anon_sym_noreturn] = ACTIONS(1843), + [anon_sym__Nonnull] = ACTIONS(1843), + [anon_sym_alignas] = ACTIONS(1845), + [anon_sym__Alignas] = ACTIONS(1845), + [anon_sym_DASH_DASH] = ACTIONS(1847), + [anon_sym_PLUS_PLUS] = ACTIONS(1847), + [anon_sym_sizeof] = ACTIONS(1812), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [426] = { + [sym_type_qualifier] = STATE(667), + [sym_alignas_qualifier] = STATE(703), + [sym_expression] = STATE(1106), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(932), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(932), + [sym_call_expression] = STATE(932), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(932), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(932), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_array_declarator_repeat1] = STATE(667), + [sym_identifier] = ACTIONS(1804), + [anon_sym_LPAREN2] = ACTIONS(1831), + [anon_sym_BANG] = ACTIONS(1808), + [anon_sym_TILDE] = ACTIONS(1808), + [anon_sym_DASH] = ACTIONS(1806), + [anon_sym_PLUS] = ACTIONS(1806), + [anon_sym_STAR] = ACTIONS(1877), + [anon_sym_AMP] = ACTIONS(1835), + [anon_sym___extension__] = ACTIONS(1837), + [anon_sym_static] = ACTIONS(1851), + [anon_sym_RBRACK] = ACTIONS(1879), + [anon_sym_const] = ACTIONS(1843), + [anon_sym_constexpr] = ACTIONS(1843), + [anon_sym_volatile] = ACTIONS(1843), + [anon_sym_restrict] = ACTIONS(1843), + [anon_sym___restrict__] = ACTIONS(1843), + [anon_sym__Atomic] = ACTIONS(1843), + [anon_sym__Noreturn] = ACTIONS(1843), + [anon_sym_noreturn] = ACTIONS(1843), + [anon_sym__Nonnull] = ACTIONS(1843), + [anon_sym_alignas] = ACTIONS(1845), + [anon_sym__Alignas] = ACTIONS(1845), + [anon_sym_DASH_DASH] = ACTIONS(1847), + [anon_sym_PLUS_PLUS] = ACTIONS(1847), + [anon_sym_sizeof] = ACTIONS(1812), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [427] = { + [sym_type_qualifier] = STATE(667), + [sym_alignas_qualifier] = STATE(703), + [sym_expression] = STATE(1080), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(932), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(932), + [sym_call_expression] = STATE(932), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(932), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(932), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_array_declarator_repeat1] = STATE(667), + [sym_identifier] = ACTIONS(1804), + [anon_sym_LPAREN2] = ACTIONS(1831), + [anon_sym_BANG] = ACTIONS(1808), + [anon_sym_TILDE] = ACTIONS(1808), + [anon_sym_DASH] = ACTIONS(1806), + [anon_sym_PLUS] = ACTIONS(1806), + [anon_sym_STAR] = ACTIONS(1881), + [anon_sym_AMP] = ACTIONS(1835), + [anon_sym___extension__] = ACTIONS(1837), + [anon_sym_static] = ACTIONS(1851), + [anon_sym_RBRACK] = ACTIONS(1883), + [anon_sym_const] = ACTIONS(1843), + [anon_sym_constexpr] = ACTIONS(1843), + [anon_sym_volatile] = ACTIONS(1843), + [anon_sym_restrict] = ACTIONS(1843), + [anon_sym___restrict__] = ACTIONS(1843), + [anon_sym__Atomic] = ACTIONS(1843), + [anon_sym__Noreturn] = ACTIONS(1843), + [anon_sym_noreturn] = ACTIONS(1843), + [anon_sym__Nonnull] = ACTIONS(1843), + [anon_sym_alignas] = ACTIONS(1845), + [anon_sym__Alignas] = ACTIONS(1845), + [anon_sym_DASH_DASH] = ACTIONS(1847), + [anon_sym_PLUS_PLUS] = ACTIONS(1847), + [anon_sym_sizeof] = ACTIONS(1812), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [428] = { + [sym_type_qualifier] = STATE(667), + [sym_alignas_qualifier] = STATE(703), + [sym_expression] = STATE(1092), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(932), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(932), + [sym_call_expression] = STATE(932), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(932), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(932), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_array_declarator_repeat1] = STATE(667), + [sym_identifier] = ACTIONS(1804), + [anon_sym_LPAREN2] = ACTIONS(1831), + [anon_sym_BANG] = ACTIONS(1808), + [anon_sym_TILDE] = ACTIONS(1808), + [anon_sym_DASH] = ACTIONS(1806), + [anon_sym_PLUS] = ACTIONS(1806), + [anon_sym_STAR] = ACTIONS(1885), + [anon_sym_AMP] = ACTIONS(1835), + [anon_sym___extension__] = ACTIONS(1837), + [anon_sym_static] = ACTIONS(1851), + [anon_sym_RBRACK] = ACTIONS(1887), + [anon_sym_const] = ACTIONS(1843), + [anon_sym_constexpr] = ACTIONS(1843), + [anon_sym_volatile] = ACTIONS(1843), + [anon_sym_restrict] = ACTIONS(1843), + [anon_sym___restrict__] = ACTIONS(1843), + [anon_sym__Atomic] = ACTIONS(1843), + [anon_sym__Noreturn] = ACTIONS(1843), + [anon_sym_noreturn] = ACTIONS(1843), + [anon_sym__Nonnull] = ACTIONS(1843), + [anon_sym_alignas] = ACTIONS(1845), + [anon_sym__Alignas] = ACTIONS(1845), + [anon_sym_DASH_DASH] = ACTIONS(1847), + [anon_sym_PLUS_PLUS] = ACTIONS(1847), + [anon_sym_sizeof] = ACTIONS(1812), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [429] = { + [sym_type_qualifier] = STATE(426), + [sym_alignas_qualifier] = STATE(703), + [sym_expression] = STATE(1094), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(932), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(932), + [sym_call_expression] = STATE(932), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(932), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(932), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_array_declarator_repeat1] = STATE(426), + [sym_identifier] = ACTIONS(1804), + [anon_sym_LPAREN2] = ACTIONS(1831), + [anon_sym_BANG] = ACTIONS(1808), + [anon_sym_TILDE] = ACTIONS(1808), + [anon_sym_DASH] = ACTIONS(1806), + [anon_sym_PLUS] = ACTIONS(1806), + [anon_sym_STAR] = ACTIONS(1889), + [anon_sym_AMP] = ACTIONS(1835), + [anon_sym___extension__] = ACTIONS(1837), + [anon_sym_static] = ACTIONS(1891), + [anon_sym_RBRACK] = ACTIONS(1893), + [anon_sym_const] = ACTIONS(1843), + [anon_sym_constexpr] = ACTIONS(1843), + [anon_sym_volatile] = ACTIONS(1843), + [anon_sym_restrict] = ACTIONS(1843), + [anon_sym___restrict__] = ACTIONS(1843), + [anon_sym__Atomic] = ACTIONS(1843), + [anon_sym__Noreturn] = ACTIONS(1843), + [anon_sym_noreturn] = ACTIONS(1843), + [anon_sym__Nonnull] = ACTIONS(1843), + [anon_sym_alignas] = ACTIONS(1845), + [anon_sym__Alignas] = ACTIONS(1845), + [anon_sym_DASH_DASH] = ACTIONS(1847), + [anon_sym_PLUS_PLUS] = ACTIONS(1847), + [anon_sym_sizeof] = ACTIONS(1812), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [430] = { + [sym_expression] = STATE(1060), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(932), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(932), + [sym_call_expression] = STATE(932), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(932), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(932), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_identifier] = ACTIONS(1895), + [anon_sym_LPAREN2] = ACTIONS(1898), + [anon_sym_BANG] = ACTIONS(1901), + [anon_sym_TILDE] = ACTIONS(1901), + [anon_sym_DASH] = ACTIONS(1904), + [anon_sym_PLUS] = ACTIONS(1904), + [anon_sym_STAR] = ACTIONS(1907), + [anon_sym_AMP] = ACTIONS(1907), + [anon_sym___extension__] = ACTIONS(1910), + [anon_sym_static] = ACTIONS(1714), + [anon_sym_RBRACK] = ACTIONS(1716), + [anon_sym_const] = ACTIONS(1714), + [anon_sym_constexpr] = ACTIONS(1714), + [anon_sym_volatile] = ACTIONS(1714), + [anon_sym_restrict] = ACTIONS(1714), + [anon_sym___restrict__] = ACTIONS(1714), + [anon_sym__Atomic] = ACTIONS(1714), + [anon_sym__Noreturn] = ACTIONS(1714), + [anon_sym_noreturn] = ACTIONS(1714), + [anon_sym__Nonnull] = ACTIONS(1714), + [anon_sym_alignas] = ACTIONS(1714), + [anon_sym__Alignas] = ACTIONS(1714), + [anon_sym_DASH_DASH] = ACTIONS(1913), + [anon_sym_PLUS_PLUS] = ACTIONS(1913), + [anon_sym_sizeof] = ACTIONS(1916), + [anon_sym___alignof__] = ACTIONS(1919), + [anon_sym___alignof] = ACTIONS(1919), + [anon_sym__alignof] = ACTIONS(1919), + [anon_sym_alignof] = ACTIONS(1919), + [anon_sym__Alignof] = ACTIONS(1919), + [anon_sym_offsetof] = ACTIONS(1922), + [anon_sym__Generic] = ACTIONS(1925), + [anon_sym_asm] = ACTIONS(1928), + [anon_sym___asm__] = ACTIONS(1928), + [anon_sym___asm] = ACTIONS(1928), + [sym_number_literal] = ACTIONS(1931), + [anon_sym_L_SQUOTE] = ACTIONS(1934), + [anon_sym_u_SQUOTE] = ACTIONS(1934), + [anon_sym_U_SQUOTE] = ACTIONS(1934), + [anon_sym_u8_SQUOTE] = ACTIONS(1934), + [anon_sym_SQUOTE] = ACTIONS(1934), + [anon_sym_L_DQUOTE] = ACTIONS(1937), + [anon_sym_u_DQUOTE] = ACTIONS(1937), + [anon_sym_U_DQUOTE] = ACTIONS(1937), + [anon_sym_u8_DQUOTE] = ACTIONS(1937), + [anon_sym_DQUOTE] = ACTIONS(1937), + [sym_true] = ACTIONS(1940), + [sym_false] = ACTIONS(1940), + [anon_sym_NULL] = ACTIONS(1943), + [anon_sym_nullptr] = ACTIONS(1943), + [sym_comment] = ACTIONS(3), + }, + [431] = { + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1127), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_ms_call_modifier] = STATE(1391), + [sym__abstract_declarator] = STATE(1555), + [sym_abstract_parenthesized_declarator] = STATE(1467), + [sym_abstract_pointer_declarator] = STATE(1467), + [sym_abstract_function_declarator] = STATE(1467), + [sym_abstract_array_declarator] = STATE(1467), + [sym_compound_statement] = STATE(1957), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym_variadic_parameter] = STATE(1603), + [sym_parameter_list] = STATE(1442), + [sym_parameter_declaration] = STATE(1603), + [sym_macro_type_specifier] = STATE(772), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1819), + [anon_sym_RPAREN] = ACTIONS(1821), + [anon_sym_LPAREN2] = ACTIONS(1948), + [anon_sym_STAR] = ACTIONS(1950), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym___cdecl] = ACTIONS(41), + [anon_sym___clrcall] = ACTIONS(41), + [anon_sym___stdcall] = ACTIONS(41), + [anon_sym___fastcall] = ACTIONS(41), + [anon_sym___thiscall] = ACTIONS(41), + [anon_sym___vectorcall] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(1829), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [432] = { + [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(1972), + [sym_preproc_elif_in_field_declaration_list] = STATE(1972), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1972), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(439), + [sym_field_declaration] = STATE(439), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(439), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(1952), + [aux_sym_preproc_if_token1] = ACTIONS(1954), + [aux_sym_preproc_if_token2] = ACTIONS(1956), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1958), + [aux_sym_preproc_else_token1] = ACTIONS(1960), + [aux_sym_preproc_elif_token1] = ACTIONS(1962), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1964), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1964), + [sym_preproc_directive] = ACTIONS(1966), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [433] = { + [sym_preproc_def] = STATE(452), + [sym_preproc_function_def] = STATE(452), + [sym_preproc_call] = STATE(452), + [sym_preproc_if_in_field_declaration_list] = STATE(452), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(452), + [sym_preproc_else_in_field_declaration_list] = STATE(1782), + [sym_preproc_elif_in_field_declaration_list] = STATE(1782), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1782), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(452), + [sym_field_declaration] = STATE(452), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(1952), + [aux_sym_preproc_if_token1] = ACTIONS(1954), + [aux_sym_preproc_if_token2] = ACTIONS(1968), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1958), + [aux_sym_preproc_else_token1] = ACTIONS(1960), + [aux_sym_preproc_elif_token1] = ACTIONS(1962), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1964), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1964), + [sym_preproc_directive] = ACTIONS(1966), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [434] = { + [sym_preproc_def] = STATE(452), + [sym_preproc_function_def] = STATE(452), + [sym_preproc_call] = STATE(452), + [sym_preproc_if_in_field_declaration_list] = STATE(452), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(452), + [sym_preproc_else_in_field_declaration_list] = STATE(1831), + [sym_preproc_elif_in_field_declaration_list] = STATE(1831), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1831), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(452), + [sym_field_declaration] = STATE(452), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(1952), + [aux_sym_preproc_if_token1] = ACTIONS(1954), + [aux_sym_preproc_if_token2] = ACTIONS(1970), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1958), + [aux_sym_preproc_else_token1] = ACTIONS(1960), + [aux_sym_preproc_elif_token1] = ACTIONS(1962), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1964), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1964), + [sym_preproc_directive] = ACTIONS(1966), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [435] = { + [sym_preproc_def] = STATE(452), + [sym_preproc_function_def] = STATE(452), + [sym_preproc_call] = STATE(452), + [sym_preproc_if_in_field_declaration_list] = STATE(452), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(452), + [sym_preproc_else_in_field_declaration_list] = STATE(1829), + [sym_preproc_elif_in_field_declaration_list] = STATE(1829), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1829), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(452), + [sym_field_declaration] = STATE(452), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(1952), + [aux_sym_preproc_if_token1] = ACTIONS(1954), + [aux_sym_preproc_if_token2] = ACTIONS(1972), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1958), + [aux_sym_preproc_else_token1] = ACTIONS(1960), + [aux_sym_preproc_elif_token1] = ACTIONS(1962), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1964), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1964), + [sym_preproc_directive] = ACTIONS(1966), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [436] = { + [sym_preproc_def] = STATE(452), + [sym_preproc_function_def] = STATE(452), + [sym_preproc_call] = STATE(452), + [sym_preproc_if_in_field_declaration_list] = STATE(452), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(452), + [sym_preproc_else_in_field_declaration_list] = STATE(1788), + [sym_preproc_elif_in_field_declaration_list] = STATE(1788), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1788), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(452), + [sym_field_declaration] = STATE(452), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(1952), + [aux_sym_preproc_if_token1] = ACTIONS(1954), + [aux_sym_preproc_if_token2] = ACTIONS(1974), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1958), + [aux_sym_preproc_else_token1] = ACTIONS(1960), + [aux_sym_preproc_elif_token1] = ACTIONS(1962), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1964), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1964), + [sym_preproc_directive] = ACTIONS(1966), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [437] = { + [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(1947), + [sym_preproc_elif_in_field_declaration_list] = STATE(1947), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1947), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(436), + [sym_field_declaration] = STATE(436), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(436), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(1952), + [aux_sym_preproc_if_token1] = ACTIONS(1954), + [aux_sym_preproc_if_token2] = ACTIONS(1976), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1958), + [aux_sym_preproc_else_token1] = ACTIONS(1960), + [aux_sym_preproc_elif_token1] = ACTIONS(1962), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1964), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1964), + [sym_preproc_directive] = ACTIONS(1966), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [438] = { + [sym_preproc_def] = STATE(434), + [sym_preproc_function_def] = STATE(434), + [sym_preproc_call] = STATE(434), + [sym_preproc_if_in_field_declaration_list] = STATE(434), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(434), + [sym_preproc_else_in_field_declaration_list] = STATE(1804), + [sym_preproc_elif_in_field_declaration_list] = STATE(1804), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1804), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(434), + [sym_field_declaration] = STATE(434), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(434), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(1952), + [aux_sym_preproc_if_token1] = ACTIONS(1954), + [aux_sym_preproc_if_token2] = ACTIONS(1978), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1958), + [aux_sym_preproc_else_token1] = ACTIONS(1960), + [aux_sym_preproc_elif_token1] = ACTIONS(1962), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1964), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1964), + [sym_preproc_directive] = ACTIONS(1966), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [439] = { + [sym_preproc_def] = STATE(452), + [sym_preproc_function_def] = STATE(452), + [sym_preproc_call] = STATE(452), + [sym_preproc_if_in_field_declaration_list] = STATE(452), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(452), + [sym_preproc_else_in_field_declaration_list] = STATE(1818), + [sym_preproc_elif_in_field_declaration_list] = STATE(1818), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1818), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(452), + [sym_field_declaration] = STATE(452), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(1952), + [aux_sym_preproc_if_token1] = ACTIONS(1954), + [aux_sym_preproc_if_token2] = ACTIONS(1980), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1958), + [aux_sym_preproc_else_token1] = ACTIONS(1960), + [aux_sym_preproc_elif_token1] = ACTIONS(1962), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1964), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1964), + [sym_preproc_directive] = ACTIONS(1966), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [440] = { + [sym_preproc_def] = STATE(452), + [sym_preproc_function_def] = STATE(452), + [sym_preproc_call] = STATE(452), + [sym_preproc_if_in_field_declaration_list] = STATE(452), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(452), + [sym_preproc_else_in_field_declaration_list] = STATE(1887), + [sym_preproc_elif_in_field_declaration_list] = STATE(1887), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1887), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(452), + [sym_field_declaration] = STATE(452), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(1952), + [aux_sym_preproc_if_token1] = ACTIONS(1954), + [aux_sym_preproc_if_token2] = ACTIONS(1982), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1958), + [aux_sym_preproc_else_token1] = ACTIONS(1960), + [aux_sym_preproc_elif_token1] = ACTIONS(1962), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1964), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1964), + [sym_preproc_directive] = ACTIONS(1966), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [441] = { + [sym_preproc_def] = STATE(433), + [sym_preproc_function_def] = STATE(433), + [sym_preproc_call] = STATE(433), + [sym_preproc_if_in_field_declaration_list] = STATE(433), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(433), + [sym_preproc_else_in_field_declaration_list] = STATE(1891), + [sym_preproc_elif_in_field_declaration_list] = STATE(1891), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1891), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(433), + [sym_field_declaration] = STATE(433), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(433), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(1952), + [aux_sym_preproc_if_token1] = ACTIONS(1954), + [aux_sym_preproc_if_token2] = ACTIONS(1984), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1958), + [aux_sym_preproc_else_token1] = ACTIONS(1960), + [aux_sym_preproc_elif_token1] = ACTIONS(1962), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1964), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1964), + [sym_preproc_directive] = ACTIONS(1966), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [442] = { + [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(2005), + [sym_preproc_elif_in_field_declaration_list] = STATE(2005), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(2005), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(444), + [sym_field_declaration] = STATE(444), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(444), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(1952), + [aux_sym_preproc_if_token1] = ACTIONS(1954), + [aux_sym_preproc_if_token2] = ACTIONS(1986), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1958), + [aux_sym_preproc_else_token1] = ACTIONS(1960), + [aux_sym_preproc_elif_token1] = ACTIONS(1962), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1964), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1964), + [sym_preproc_directive] = ACTIONS(1966), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [443] = { + [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(1907), + [sym_preproc_elif_in_field_declaration_list] = STATE(1907), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1907), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(445), + [sym_field_declaration] = STATE(445), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(445), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(1952), + [aux_sym_preproc_if_token1] = ACTIONS(1954), + [aux_sym_preproc_if_token2] = ACTIONS(1988), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1958), + [aux_sym_preproc_else_token1] = ACTIONS(1960), + [aux_sym_preproc_elif_token1] = ACTIONS(1962), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1964), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1964), + [sym_preproc_directive] = ACTIONS(1966), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [444] = { + [sym_preproc_def] = STATE(452), + [sym_preproc_function_def] = STATE(452), + [sym_preproc_call] = STATE(452), + [sym_preproc_if_in_field_declaration_list] = STATE(452), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(452), + [sym_preproc_else_in_field_declaration_list] = STATE(1777), + [sym_preproc_elif_in_field_declaration_list] = STATE(1777), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1777), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(452), + [sym_field_declaration] = STATE(452), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(1952), + [aux_sym_preproc_if_token1] = ACTIONS(1954), + [aux_sym_preproc_if_token2] = ACTIONS(1990), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1958), + [aux_sym_preproc_else_token1] = ACTIONS(1960), + [aux_sym_preproc_elif_token1] = ACTIONS(1962), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1964), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1964), + [sym_preproc_directive] = ACTIONS(1966), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [445] = { + [sym_preproc_def] = STATE(452), + [sym_preproc_function_def] = STATE(452), + [sym_preproc_call] = STATE(452), + [sym_preproc_if_in_field_declaration_list] = STATE(452), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(452), + [sym_preproc_else_in_field_declaration_list] = STATE(1779), + [sym_preproc_elif_in_field_declaration_list] = STATE(1779), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1779), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(452), + [sym_field_declaration] = STATE(452), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(1952), + [aux_sym_preproc_if_token1] = ACTIONS(1954), + [aux_sym_preproc_if_token2] = ACTIONS(1992), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1958), + [aux_sym_preproc_else_token1] = ACTIONS(1960), + [aux_sym_preproc_elif_token1] = ACTIONS(1962), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1964), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1964), + [sym_preproc_directive] = ACTIONS(1966), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [446] = { + [sym_preproc_def] = STATE(440), + [sym_preproc_function_def] = STATE(440), + [sym_preproc_call] = STATE(440), + [sym_preproc_if_in_field_declaration_list] = STATE(440), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(440), + [sym_preproc_else_in_field_declaration_list] = STATE(1980), + [sym_preproc_elif_in_field_declaration_list] = STATE(1980), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1980), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(440), + [sym_field_declaration] = STATE(440), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(440), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(1952), + [aux_sym_preproc_if_token1] = ACTIONS(1954), + [aux_sym_preproc_if_token2] = ACTIONS(1994), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1958), + [aux_sym_preproc_else_token1] = ACTIONS(1960), + [aux_sym_preproc_elif_token1] = ACTIONS(1962), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1964), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1964), + [sym_preproc_directive] = ACTIONS(1966), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [447] = { + [sym_expression] = STATE(1025), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_initializer_list] = STATE(1626), + [sym_initializer_pair] = STATE(1626), + [sym_subscript_designator] = STATE(1456), + [sym_subscript_range_designator] = STATE(1456), + [sym_field_designator] = STATE(1456), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_initializer_pair_repeat1] = STATE(1456), + [sym_identifier] = ACTIONS(1996), + [anon_sym_COMMA] = ACTIONS(1998), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1416), + [anon_sym_LBRACE] = ACTIONS(1398), + [anon_sym_RBRACE] = ACTIONS(2000), + [anon_sym_LBRACK] = ACTIONS(2002), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [anon_sym_DOT] = ACTIONS(2004), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [448] = { + [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(1993), + [sym_preproc_elif_in_field_declaration_list] = STATE(1993), + [sym_preproc_elifdef_in_field_declaration_list] = STATE(1993), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(435), + [sym_field_declaration] = STATE(435), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(435), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(1952), + [aux_sym_preproc_if_token1] = ACTIONS(1954), + [aux_sym_preproc_if_token2] = ACTIONS(2006), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1958), + [aux_sym_preproc_else_token1] = ACTIONS(1960), + [aux_sym_preproc_elif_token1] = ACTIONS(1962), + [aux_sym_preproc_elifdef_token1] = ACTIONS(1964), + [aux_sym_preproc_elifdef_token2] = ACTIONS(1964), + [sym_preproc_directive] = ACTIONS(1966), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [449] = { + [sym_expression] = STATE(1045), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_initializer_list] = STATE(1688), + [sym_initializer_pair] = STATE(1688), + [sym_subscript_designator] = STATE(1456), + [sym_subscript_range_designator] = STATE(1456), + [sym_field_designator] = STATE(1456), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_initializer_pair_repeat1] = STATE(1456), + [sym_identifier] = ACTIONS(1996), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1416), + [anon_sym_LBRACE] = ACTIONS(1398), + [anon_sym_RBRACE] = ACTIONS(2008), + [anon_sym_LBRACK] = ACTIONS(2002), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [anon_sym_DOT] = ACTIONS(2004), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [450] = { + [sym_expression] = STATE(1045), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_initializer_list] = STATE(1688), + [sym_initializer_pair] = STATE(1688), + [sym_subscript_designator] = STATE(1456), + [sym_subscript_range_designator] = STATE(1456), + [sym_field_designator] = STATE(1456), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_initializer_pair_repeat1] = STATE(1456), + [sym_identifier] = ACTIONS(1996), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1416), + [anon_sym_LBRACE] = ACTIONS(1398), + [anon_sym_RBRACE] = ACTIONS(2010), + [anon_sym_LBRACK] = ACTIONS(2002), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [anon_sym_DOT] = ACTIONS(2004), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [451] = { + [sym_expression] = STATE(1045), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_initializer_list] = STATE(1688), + [sym_initializer_pair] = STATE(1688), + [sym_subscript_designator] = STATE(1456), + [sym_subscript_range_designator] = STATE(1456), + [sym_field_designator] = STATE(1456), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [aux_sym_initializer_pair_repeat1] = STATE(1456), + [sym_identifier] = ACTIONS(1996), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1416), + [anon_sym_LBRACE] = ACTIONS(1398), + [anon_sym_LBRACK] = ACTIONS(2002), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [anon_sym_DOT] = ACTIONS(2004), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [452] = { + [sym_preproc_def] = STATE(452), + [sym_preproc_function_def] = STATE(452), + [sym_preproc_call] = STATE(452), + [sym_preproc_if_in_field_declaration_list] = STATE(452), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(452), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1286), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(452), + [sym_field_declaration] = STATE(452), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(452), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(2012), + [aux_sym_preproc_def_token1] = ACTIONS(2015), + [aux_sym_preproc_if_token1] = ACTIONS(2018), + [aux_sym_preproc_if_token2] = ACTIONS(2021), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2023), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2023), + [aux_sym_preproc_else_token1] = ACTIONS(2021), + [aux_sym_preproc_elif_token1] = ACTIONS(2021), + [aux_sym_preproc_elifdef_token1] = ACTIONS(2021), + [aux_sym_preproc_elifdef_token2] = ACTIONS(2021), + [sym_preproc_directive] = ACTIONS(2026), + [anon_sym___extension__] = ACTIONS(2029), + [anon_sym_extern] = ACTIONS(2032), + [anon_sym___attribute__] = ACTIONS(2035), + [anon_sym___attribute] = ACTIONS(2035), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2038), + [anon_sym___declspec] = ACTIONS(2041), + [anon_sym_signed] = ACTIONS(2044), + [anon_sym_unsigned] = ACTIONS(2044), + [anon_sym_long] = ACTIONS(2044), + [anon_sym_short] = ACTIONS(2044), + [anon_sym_static] = ACTIONS(2032), + [anon_sym_auto] = ACTIONS(2032), + [anon_sym_register] = ACTIONS(2032), + [anon_sym_inline] = ACTIONS(2032), + [anon_sym___inline] = ACTIONS(2032), + [anon_sym___inline__] = ACTIONS(2032), + [anon_sym___forceinline] = ACTIONS(2032), + [anon_sym_thread_local] = ACTIONS(2032), + [anon_sym___thread] = ACTIONS(2032), + [anon_sym_const] = ACTIONS(2029), + [anon_sym_constexpr] = ACTIONS(2029), + [anon_sym_volatile] = ACTIONS(2029), + [anon_sym_restrict] = ACTIONS(2029), + [anon_sym___restrict__] = ACTIONS(2029), + [anon_sym__Atomic] = ACTIONS(2029), + [anon_sym__Noreturn] = ACTIONS(2029), + [anon_sym_noreturn] = ACTIONS(2029), + [anon_sym__Nonnull] = ACTIONS(2029), + [anon_sym_alignas] = ACTIONS(2047), + [anon_sym__Alignas] = ACTIONS(2047), + [sym_primitive_type] = ACTIONS(2050), + [anon_sym_enum] = ACTIONS(2053), + [anon_sym_struct] = ACTIONS(2056), + [anon_sym_union] = ACTIONS(2059), + [sym_comment] = ACTIONS(3), + }, + [453] = { + [sym_preproc_def] = STATE(454), + [sym_preproc_function_def] = STATE(454), + [sym_preproc_call] = STATE(454), + [sym_preproc_if_in_field_declaration_list] = STATE(454), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(454), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1284), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(454), + [sym_field_declaration] = STATE(454), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(454), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(2062), + [aux_sym_preproc_if_token1] = ACTIONS(2064), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2066), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2066), + [sym_preproc_directive] = ACTIONS(2068), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_RBRACE] = ACTIONS(2070), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [454] = { + [sym_preproc_def] = STATE(456), + [sym_preproc_function_def] = STATE(456), + [sym_preproc_call] = STATE(456), + [sym_preproc_if_in_field_declaration_list] = STATE(456), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(456), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1284), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(456), + [sym_field_declaration] = STATE(456), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(456), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(2062), + [aux_sym_preproc_if_token1] = ACTIONS(2064), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2066), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2066), + [sym_preproc_directive] = ACTIONS(2068), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_RBRACE] = ACTIONS(2072), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [455] = { + [sym_preproc_def] = STATE(457), + [sym_preproc_function_def] = STATE(457), + [sym_preproc_call] = STATE(457), + [sym_preproc_if_in_field_declaration_list] = STATE(457), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(457), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1283), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(457), + [sym_field_declaration] = STATE(457), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(457), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(2074), + [aux_sym_preproc_if_token1] = ACTIONS(2076), + [aux_sym_preproc_if_token2] = ACTIONS(2078), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2080), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2080), + [sym_preproc_directive] = ACTIONS(2082), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [456] = { + [sym_preproc_def] = STATE(456), + [sym_preproc_function_def] = STATE(456), + [sym_preproc_call] = STATE(456), + [sym_preproc_if_in_field_declaration_list] = STATE(456), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(456), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1284), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(456), + [sym_field_declaration] = STATE(456), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(456), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(2012), + [aux_sym_preproc_def_token1] = ACTIONS(2084), + [aux_sym_preproc_if_token1] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2090), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2090), + [sym_preproc_directive] = ACTIONS(2093), + [anon_sym___extension__] = ACTIONS(2029), + [anon_sym_extern] = ACTIONS(2032), + [anon_sym___attribute__] = ACTIONS(2035), + [anon_sym___attribute] = ACTIONS(2035), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2038), + [anon_sym___declspec] = ACTIONS(2041), + [anon_sym_RBRACE] = ACTIONS(2096), + [anon_sym_signed] = ACTIONS(2044), + [anon_sym_unsigned] = ACTIONS(2044), + [anon_sym_long] = ACTIONS(2044), + [anon_sym_short] = ACTIONS(2044), + [anon_sym_static] = ACTIONS(2032), + [anon_sym_auto] = ACTIONS(2032), + [anon_sym_register] = ACTIONS(2032), + [anon_sym_inline] = ACTIONS(2032), + [anon_sym___inline] = ACTIONS(2032), + [anon_sym___inline__] = ACTIONS(2032), + [anon_sym___forceinline] = ACTIONS(2032), + [anon_sym_thread_local] = ACTIONS(2032), + [anon_sym___thread] = ACTIONS(2032), + [anon_sym_const] = ACTIONS(2029), + [anon_sym_constexpr] = ACTIONS(2029), + [anon_sym_volatile] = ACTIONS(2029), + [anon_sym_restrict] = ACTIONS(2029), + [anon_sym___restrict__] = ACTIONS(2029), + [anon_sym__Atomic] = ACTIONS(2029), + [anon_sym__Noreturn] = ACTIONS(2029), + [anon_sym_noreturn] = ACTIONS(2029), + [anon_sym__Nonnull] = ACTIONS(2029), + [anon_sym_alignas] = ACTIONS(2047), + [anon_sym__Alignas] = ACTIONS(2047), + [sym_primitive_type] = ACTIONS(2050), + [anon_sym_enum] = ACTIONS(2053), + [anon_sym_struct] = ACTIONS(2056), + [anon_sym_union] = ACTIONS(2059), + [sym_comment] = ACTIONS(3), + }, + [457] = { + [sym_preproc_def] = STATE(457), + [sym_preproc_function_def] = STATE(457), + [sym_preproc_call] = STATE(457), + [sym_preproc_if_in_field_declaration_list] = STATE(457), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(457), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1283), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(457), + [sym_field_declaration] = STATE(457), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(457), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(2012), + [aux_sym_preproc_def_token1] = ACTIONS(2098), + [aux_sym_preproc_if_token1] = ACTIONS(2101), + [aux_sym_preproc_if_token2] = ACTIONS(2021), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2104), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2104), + [sym_preproc_directive] = ACTIONS(2107), + [anon_sym___extension__] = ACTIONS(2029), + [anon_sym_extern] = ACTIONS(2032), + [anon_sym___attribute__] = ACTIONS(2035), + [anon_sym___attribute] = ACTIONS(2035), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2038), + [anon_sym___declspec] = ACTIONS(2041), + [anon_sym_signed] = ACTIONS(2044), + [anon_sym_unsigned] = ACTIONS(2044), + [anon_sym_long] = ACTIONS(2044), + [anon_sym_short] = ACTIONS(2044), + [anon_sym_static] = ACTIONS(2032), + [anon_sym_auto] = ACTIONS(2032), + [anon_sym_register] = ACTIONS(2032), + [anon_sym_inline] = ACTIONS(2032), + [anon_sym___inline] = ACTIONS(2032), + [anon_sym___inline__] = ACTIONS(2032), + [anon_sym___forceinline] = ACTIONS(2032), + [anon_sym_thread_local] = ACTIONS(2032), + [anon_sym___thread] = ACTIONS(2032), + [anon_sym_const] = ACTIONS(2029), + [anon_sym_constexpr] = ACTIONS(2029), + [anon_sym_volatile] = ACTIONS(2029), + [anon_sym_restrict] = ACTIONS(2029), + [anon_sym___restrict__] = ACTIONS(2029), + [anon_sym__Atomic] = ACTIONS(2029), + [anon_sym__Noreturn] = ACTIONS(2029), + [anon_sym_noreturn] = ACTIONS(2029), + [anon_sym__Nonnull] = ACTIONS(2029), + [anon_sym_alignas] = ACTIONS(2047), + [anon_sym__Alignas] = ACTIONS(2047), + [sym_primitive_type] = ACTIONS(2050), + [anon_sym_enum] = ACTIONS(2053), + [anon_sym_struct] = ACTIONS(2056), + [anon_sym_union] = ACTIONS(2059), + [sym_comment] = ACTIONS(3), + }, + [458] = { + [sym_preproc_def] = STATE(455), + [sym_preproc_function_def] = STATE(455), + [sym_preproc_call] = STATE(455), + [sym_preproc_if_in_field_declaration_list] = STATE(455), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(455), + [sym__declaration_modifiers] = STATE(710), + [sym__declaration_specifiers] = STATE(1283), + [sym_attribute_specifier] = STATE(710), + [sym_attribute_declaration] = STATE(710), + [sym_ms_declspec_modifier] = STATE(710), + [sym_storage_class_specifier] = STATE(710), + [sym_type_qualifier] = STATE(710), + [sym_alignas_qualifier] = STATE(720), + [sym_type_specifier] = STATE(727), + [sym_sized_type_specifier] = STATE(772), + [sym_enum_specifier] = STATE(772), + [sym_struct_specifier] = STATE(772), + [sym_union_specifier] = STATE(772), + [sym__field_declaration_list_item] = STATE(455), + [sym_field_declaration] = STATE(455), + [sym_macro_type_specifier] = STATE(772), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(455), + [aux_sym__declaration_specifiers_repeat1] = STATE(710), + [aux_sym_sized_type_specifier_repeat1] = STATE(722), + [sym_identifier] = ACTIONS(1946), + [aux_sym_preproc_def_token1] = ACTIONS(2074), + [aux_sym_preproc_if_token1] = ACTIONS(2076), + [aux_sym_preproc_if_token2] = ACTIONS(2110), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2080), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2080), + [sym_preproc_directive] = ACTIONS(2082), + [anon_sym___extension__] = ACTIONS(49), + [anon_sym_extern] = ACTIONS(47), + [anon_sym___attribute__] = ACTIONS(35), + [anon_sym___attribute] = ACTIONS(35), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(39), + [anon_sym_signed] = ACTIONS(45), + [anon_sym_unsigned] = ACTIONS(45), + [anon_sym_long] = ACTIONS(45), + [anon_sym_short] = ACTIONS(45), + [anon_sym_static] = ACTIONS(47), + [anon_sym_auto] = ACTIONS(47), + [anon_sym_register] = ACTIONS(47), + [anon_sym_inline] = ACTIONS(47), + [anon_sym___inline] = ACTIONS(47), + [anon_sym___inline__] = ACTIONS(47), + [anon_sym___forceinline] = ACTIONS(47), + [anon_sym_thread_local] = ACTIONS(47), + [anon_sym___thread] = ACTIONS(47), + [anon_sym_const] = ACTIONS(49), + [anon_sym_constexpr] = ACTIONS(49), + [anon_sym_volatile] = ACTIONS(49), + [anon_sym_restrict] = ACTIONS(49), + [anon_sym___restrict__] = ACTIONS(49), + [anon_sym__Atomic] = ACTIONS(49), + [anon_sym__Noreturn] = ACTIONS(49), + [anon_sym_noreturn] = ACTIONS(49), + [anon_sym__Nonnull] = ACTIONS(49), + [anon_sym_alignas] = ACTIONS(51), + [anon_sym__Alignas] = ACTIONS(51), + [sym_primitive_type] = ACTIONS(53), + [anon_sym_enum] = ACTIONS(55), + [anon_sym_struct] = ACTIONS(57), + [anon_sym_union] = ACTIONS(59), + [sym_comment] = ACTIONS(3), + }, + [459] = { + [sym_compound_statement] = STATE(1669), + [sym_expression] = STATE(1024), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_identifier] = ACTIONS(1746), + [anon_sym_RPAREN] = ACTIONS(2112), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1416), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [460] = { + [sym_compound_statement] = STATE(2002), + [sym_expression] = STATE(1053), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(2002), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_identifier] = ACTIONS(1746), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1416), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [461] = { + [sym_compound_statement] = STATE(1884), + [sym_expression] = STATE(1072), + [sym__string] = STATE(693), + [sym_comma_expression] = STATE(1884), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_identifier] = ACTIONS(1746), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1416), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, + [462] = { + [sym_compound_statement] = STATE(1658), + [sym_expression] = STATE(1026), + [sym__string] = STATE(693), + [sym_conditional_expression] = STATE(693), + [sym_assignment_expression] = STATE(693), + [sym_pointer_expression] = STATE(843), + [sym_unary_expression] = STATE(693), + [sym_binary_expression] = STATE(693), + [sym_update_expression] = STATE(693), + [sym_cast_expression] = STATE(693), + [sym_sizeof_expression] = STATE(693), + [sym_alignof_expression] = STATE(693), + [sym_offsetof_expression] = STATE(693), + [sym_generic_expression] = STATE(693), + [sym_subscript_expression] = STATE(843), + [sym_call_expression] = STATE(843), + [sym_gnu_asm_expression] = STATE(693), + [sym_extension_expression] = STATE(693), + [sym_field_expression] = STATE(843), + [sym_compound_literal_expression] = STATE(693), + [sym_parenthesized_expression] = STATE(843), + [sym_char_literal] = STATE(693), + [sym_concatenated_string] = STATE(693), + [sym_string_literal] = STATE(673), + [sym_null] = STATE(693), + [sym_identifier] = ACTIONS(1746), + [anon_sym_RPAREN] = ACTIONS(2114), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = 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(1416), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_DASH_DASH] = ACTIONS(83), + [anon_sym_PLUS_PLUS] = ACTIONS(83), + [anon_sym_sizeof] = ACTIONS(85), + [anon_sym___alignof__] = ACTIONS(87), + [anon_sym___alignof] = ACTIONS(87), + [anon_sym__alignof] = ACTIONS(87), + [anon_sym_alignof] = ACTIONS(87), + [anon_sym__Alignof] = ACTIONS(87), + [anon_sym_offsetof] = ACTIONS(89), + [anon_sym__Generic] = ACTIONS(91), + [anon_sym_asm] = ACTIONS(93), + [anon_sym___asm__] = ACTIONS(93), + [anon_sym___asm] = ACTIONS(93), + [sym_number_literal] = ACTIONS(161), + [anon_sym_L_SQUOTE] = ACTIONS(97), + [anon_sym_u_SQUOTE] = ACTIONS(97), + [anon_sym_U_SQUOTE] = ACTIONS(97), + [anon_sym_u8_SQUOTE] = ACTIONS(97), + [anon_sym_SQUOTE] = ACTIONS(97), + [anon_sym_L_DQUOTE] = ACTIONS(99), + [anon_sym_u_DQUOTE] = ACTIONS(99), + [anon_sym_U_DQUOTE] = ACTIONS(99), + [anon_sym_u8_DQUOTE] = ACTIONS(99), + [anon_sym_DQUOTE] = ACTIONS(99), + [sym_true] = ACTIONS(163), + [sym_false] = ACTIONS(163), + [anon_sym_NULL] = ACTIONS(103), + [anon_sym_nullptr] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + }, +}; + +static const uint16_t ts_small_parse_table[] = { + [0] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1398), 1, + anon_sym_LBRACE, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1043), 1, + sym_expression, + STATE(1729), 1, + sym_initializer_list, + 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [113] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2116), 1, + anon_sym_SEMI, + STATE(673), 1, + sym_string_literal, + STATE(1050), 1, + sym_expression, + STATE(1795), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [226] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1047), 1, + sym_expression, + STATE(1713), 1, + sym_compound_statement, + 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [339] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1398), 1, + anon_sym_LBRACE, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(686), 1, + sym_initializer_list, + STATE(896), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [452] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2122), 1, + anon_sym_RPAREN, + STATE(673), 1, + sym_string_literal, + STATE(1059), 1, + sym_expression, + STATE(1826), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [565] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1398), 1, + anon_sym_LBRACE, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1027), 1, + sym_expression, + STATE(1714), 1, + sym_initializer_list, + 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [678] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1398), 1, + anon_sym_LBRACE, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(686), 1, + sym_initializer_list, + STATE(700), 1, + sym_expression, + STATE(714), 1, + sym_string_literal, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [791] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1398), 1, + anon_sym_LBRACE, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(686), 1, + sym_initializer_list, + STATE(700), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [904] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2130), 1, + anon_sym_SEMI, + STATE(673), 1, + sym_string_literal, + STATE(1055), 1, + sym_expression, + STATE(1871), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1017] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2132), 1, + anon_sym_RPAREN, + STATE(673), 1, + sym_string_literal, + STATE(1054), 1, + sym_expression, + STATE(1860), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1130] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2134), 1, + anon_sym_RPAREN, + STATE(673), 1, + sym_string_literal, + STATE(1068), 1, + sym_expression, + STATE(1925), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1243] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1398), 1, + anon_sym_LBRACE, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1046), 1, + sym_expression, + STATE(1691), 1, + sym_initializer_list, + 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1356] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2136), 1, + anon_sym_RPAREN, + STATE(673), 1, + sym_string_literal, + STATE(1048), 1, + sym_expression, + STATE(1973), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1469] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2138), 1, + anon_sym_COLON, + STATE(673), 1, + sym_string_literal, + STATE(1041), 1, + sym_expression, + STATE(1998), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1582] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2140), 1, + anon_sym_RPAREN, + STATE(673), 1, + sym_string_literal, + STATE(1064), 1, + sym_expression, + STATE(1840), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1695] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2142), 1, + anon_sym_COLON, + STATE(673), 1, + sym_string_literal, + STATE(1065), 1, + sym_expression, + STATE(1883), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1808] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1398), 1, + anon_sym_LBRACE, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(686), 1, + sym_initializer_list, + STATE(896), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [1921] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2144), 1, + anon_sym_SEMI, + STATE(673), 1, + sym_string_literal, + STATE(1056), 1, + sym_expression, + STATE(1908), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2034] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2146), 1, + anon_sym_COLON, + STATE(673), 1, + sym_string_literal, + STATE(1070), 1, + sym_expression, + STATE(1911), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2147] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1398), 1, + anon_sym_LBRACE, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(686), 1, + sym_initializer_list, + STATE(700), 1, + sym_expression, + STATE(714), 1, + sym_string_literal, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2260] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2154), 1, + anon_sym_SEMI, + STATE(673), 1, + sym_string_literal, + STATE(1075), 1, + sym_expression, + STATE(1939), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2373] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2156), 1, + anon_sym_COLON, + STATE(673), 1, + sym_string_literal, + STATE(1078), 1, + sym_expression, + STATE(1834), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2486] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2158), 1, + anon_sym_SEMI, + STATE(673), 1, + sym_string_literal, + STATE(1061), 1, + sym_expression, + STATE(1965), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2599] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2160), 1, + anon_sym_RPAREN, + STATE(673), 1, + sym_string_literal, + STATE(1066), 1, + sym_expression, + STATE(1857), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2712] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2162), 1, + anon_sym_SEMI, + STATE(673), 1, + sym_string_literal, + STATE(1077), 1, + sym_expression, + STATE(1964), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2825] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1398), 1, + anon_sym_LBRACE, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(686), 1, + sym_initializer_list, + STATE(700), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [2938] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2168), 1, + anon_sym_COLON, + STATE(673), 1, + sym_string_literal, + STATE(1073), 1, + sym_expression, + STATE(1997), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [3051] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2170), 1, + anon_sym_COLON, + STATE(673), 1, + sym_string_literal, + STATE(1039), 1, + sym_expression, + STATE(1979), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [3164] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2172), 1, + anon_sym_SEMI, + STATE(673), 1, + sym_string_literal, + STATE(1051), 1, + sym_expression, + STATE(1974), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [3277] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + ACTIONS(2174), 1, + anon_sym_RBRACK, + STATE(673), 1, + sym_string_literal, + STATE(913), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [3387] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1019), 1, + sym_expression, + STATE(1671), 1, + sym_comma_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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [3497] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + ACTIONS(2176), 1, + anon_sym_RBRACK, + STATE(673), 1, + sym_string_literal, + STATE(913), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [3607] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + ACTIONS(2178), 1, + anon_sym_RBRACK, + STATE(673), 1, + sym_string_literal, + STATE(913), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [3717] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + ACTIONS(2180), 1, + anon_sym_RBRACK, + STATE(673), 1, + sym_string_literal, + STATE(913), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [3827] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + ACTIONS(2182), 1, + anon_sym_LBRACE, + STATE(683), 1, + sym_ms_call_modifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1148), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(326), 3, + sym_function_definition, + sym_declaration, + sym_declaration_list, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [3937] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + ACTIONS(2184), 1, + anon_sym_RBRACK, + STATE(673), 1, + sym_string_literal, + STATE(913), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [4047] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + ACTIONS(2186), 1, + anon_sym_LBRACE, + STATE(696), 1, + sym_ms_call_modifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1162), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(143), 3, + sym_function_definition, + sym_declaration, + sym_declaration_list, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [4157] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + ACTIONS(2188), 1, + anon_sym_RBRACK, + STATE(673), 1, + sym_string_literal, + STATE(913), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [4267] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + ACTIONS(2190), 1, + anon_sym_RBRACK, + STATE(673), 1, + sym_string_literal, + STATE(913), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [4377] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + ACTIONS(2192), 1, + anon_sym_RBRACK, + STATE(673), 1, + sym_string_literal, + STATE(913), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [4487] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + ACTIONS(2194), 1, + anon_sym_LBRACE, + STATE(675), 1, + sym_ms_call_modifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1153), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(291), 3, + sym_function_definition, + sym_declaration, + sym_declaration_list, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [4597] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + ACTIONS(2196), 1, + anon_sym_RBRACK, + STATE(673), 1, + sym_string_literal, + STATE(913), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [4707] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + ACTIONS(2198), 1, + anon_sym_RBRACK, + STATE(673), 1, + sym_string_literal, + STATE(913), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [4817] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + ACTIONS(2200), 1, + anon_sym_LBRACE, + STATE(695), 1, + sym_ms_call_modifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1165), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(262), 3, + sym_function_definition, + sym_declaration, + sym_declaration_list, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [4927] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1081), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5034] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(982), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5141] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(991), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5248] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(980), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5355] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5462] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(968), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5569] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(702), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5676] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(971), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5783] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(981), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5890] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [5997] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6104] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(984), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6211] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(985), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6318] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1067), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6425] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1057), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6532] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(824), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6639] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(895), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6746] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(825), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6853] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(826), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [6960] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(842), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7067] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(828), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7174] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(829), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7281] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(830), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7388] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(831), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7495] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(832), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7602] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1090), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7709] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(813), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7816] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1099), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [7923] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8030] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(833), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8137] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(702), 1, + sym_expression, + STATE(714), 1, + sym_string_literal, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8244] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(972), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8351] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(1096), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8458] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(1028), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8565] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(834), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8672] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1098), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8779] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(708), 1, + sym_expression, + STATE(714), 1, + sym_string_literal, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8886] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(986), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [8993] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(704), 1, + sym_expression, + STATE(714), 1, + sym_string_literal, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [9100] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2202), 1, + anon_sym_LPAREN2, + STATE(705), 1, + sym_expression, + STATE(714), 1, + sym_string_literal, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [9207] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(987), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [9314] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(973), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [9421] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(704), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [9528] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1770), 1, + anon_sym_const, + ACTIONS(1774), 1, + anon_sym_LPAREN2, + ACTIONS(1780), 1, + anon_sym_STAR, + ACTIONS(1790), 1, + anon_sym_EQ, + STATE(630), 1, + sym_string_literal, + STATE(768), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(1783), 2, + anon_sym_RPAREN, + anon_sym_LBRACK, + ACTIONS(2204), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1794), 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(1778), 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(1786), 11, + anon_sym___extension__, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(1772), 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, + [9619] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(974), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [9726] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(969), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [9833] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(975), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [9940] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(983), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10047] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(976), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10154] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(816), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10261] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1023), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10368] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(702), 1, + sym_expression, + STATE(714), 1, + sym_string_literal, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10475] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(817), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10582] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(708), 1, + sym_expression, + STATE(714), 1, + sym_string_literal, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10689] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(704), 1, + sym_expression, + STATE(714), 1, + sym_string_literal, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10796] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2206), 1, + anon_sym_LPAREN2, + STATE(705), 1, + sym_expression, + STATE(714), 1, + sym_string_literal, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [10903] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(988), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11010] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(835), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11117] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(977), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11224] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(990), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11331] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(1082), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11438] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(820), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11545] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(989), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11652] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(821), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11759] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(702), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11866] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1108), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [11973] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(978), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12080] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(837), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12187] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(708), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12294] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(1029), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12401] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(1030), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12508] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(895), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12615] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(1031), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12722] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(1032), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12829] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(1033), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [12936] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(1034), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [13043] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(1035), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [13150] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(1036), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [13257] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(1037), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [13364] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(1038), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [13471] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1406), 1, + anon_sym___extension__, + ACTIONS(1408), 1, + anon_sym_sizeof, + ACTIONS(2124), 1, + anon_sym_LPAREN2, + STATE(707), 1, + sym_expression, + STATE(714), 1, + sym_string_literal, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1402), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1404), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2128), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [13578] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(979), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [13685] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(1040), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [13792] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(1042), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [13899] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(899), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [14006] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(900), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [14113] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(901), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [14220] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(902), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [14327] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(903), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [14434] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(904), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [14541] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(905), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [14648] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(906), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [14755] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(907), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [14862] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(909), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [14969] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(910), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [15076] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(912), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [15183] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(914), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [15290] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2208), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(915), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [15397] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(911), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [15504] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(967), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [15611] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(704), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [15718] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2210), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(705), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [15825] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1083), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [15932] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(836), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [16039] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + ACTIONS(2212), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(705), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [16146] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1088), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [16253] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1079), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [16360] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(819), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [16467] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [16574] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(912), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [16681] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1734), 1, + anon_sym___extension__, + ACTIONS(1736), 1, + anon_sym_sizeof, + ACTIONS(2118), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(913), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1730), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1732), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2120), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [16788] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(914), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [16895] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(2214), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(915), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [17002] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1804), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym___extension__, + ACTIONS(1812), 1, + anon_sym_sizeof, + ACTIONS(1831), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(1060), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1806), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1808), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1835), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1847), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(932), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [17109] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(839), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [17216] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(827), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [17323] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(815), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [17430] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(838), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [17537] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(85), 1, + anon_sym_sizeof, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1416), 1, + anon_sym___extension__, + ACTIONS(1746), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(708), 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(83), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(843), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [17644] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1752), 1, + anon_sym___extension__, + ACTIONS(1754), 1, + anon_sym_sizeof, + ACTIONS(2148), 1, + sym_identifier, + ACTIONS(2150), 1, + anon_sym_LPAREN2, + STATE(714), 1, + sym_string_literal, + STATE(970), 1, + sym_expression, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1748), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1750), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2126), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(2152), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(845), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [17751] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(89), 1, + anon_sym_offsetof, + ACTIONS(91), 1, + anon_sym__Generic, + ACTIONS(161), 1, + sym_number_literal, + ACTIONS(1386), 1, + sym_identifier, + ACTIONS(1396), 1, + anon_sym___extension__, + ACTIONS(1400), 1, + anon_sym_sizeof, + ACTIONS(2164), 1, + anon_sym_LPAREN2, + STATE(673), 1, + sym_string_literal, + STATE(707), 1, + sym_expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(103), 2, + anon_sym_NULL, + anon_sym_nullptr, + ACTIONS(163), 2, + sym_true, + sym_false, + ACTIONS(1390), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1392), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2166), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(87), 5, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + ACTIONS(97), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(682), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(693), 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_extension_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + sym_null, + [17858] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2216), 1, + sym_identifier, + STATE(628), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(2223), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2221), 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(2219), 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, + [17930] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2226), 1, + sym_identifier, + STATE(628), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2230), 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(2228), 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, + [18002] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2232), 1, + sym_identifier, + STATE(629), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2236), 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(2234), 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, + [18074] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(630), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1778), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(1772), 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, + [18143] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1819), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(2238), 1, + sym_identifier, + ACTIONS(2240), 1, + anon_sym_RPAREN, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1127), 1, + sym__declaration_specifiers, + STATE(1531), 1, + sym_variadic_parameter, + STATE(1603), 1, + sym_parameter_declaration, + STATE(1957), 1, + sym_compound_statement, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [18252] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1819), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(1821), 1, + anon_sym_RPAREN, + ACTIONS(1946), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1127), 1, + sym__declaration_specifiers, + STATE(1957), 1, + sym_compound_statement, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1603), 2, + sym_variadic_parameter, + sym_parameter_declaration, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [18359] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2242), 22, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + anon_sym_DOT, + sym_identifier, + ACTIONS(2244), 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_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, + [18423] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2246), 22, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + anon_sym_DOT, + sym_identifier, + ACTIONS(2248), 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_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, + [18487] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2250), 22, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + anon_sym_DOT, + sym_identifier, + ACTIONS(2252), 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_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, + [18551] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2254), 22, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + anon_sym_DOT, + sym_identifier, + ACTIONS(2256), 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_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, + [18615] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2258), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2260), 38, + 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, + [18679] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2262), 22, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + anon_sym_DOT, + sym_identifier, + ACTIONS(2264), 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_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, + [18743] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2266), 22, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + anon_sym_DOT, + sym_identifier, + ACTIONS(2268), 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_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, + [18807] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2270), 22, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + anon_sym_DOT, + sym_identifier, + ACTIONS(2272), 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_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, + [18871] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2274), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2276), 38, + 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, + [18935] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2278), 22, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + anon_sym_DOT, + sym_identifier, + ACTIONS(2280), 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_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, + [18999] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2282), 22, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + anon_sym_DOT, + sym_identifier, + ACTIONS(2284), 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_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, + [19063] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2286), 22, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + anon_sym_DOT, + sym_identifier, + ACTIONS(2288), 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_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, + [19127] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2303), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2306), 1, + anon_sym___declspec, + STATE(720), 1, + sym_alignas_qualifier, + ACTIONS(2300), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2309), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2292), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + STATE(646), 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(2294), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + ACTIONS(2297), 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(2290), 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, + [19207] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(506), 1, + anon_sym_LBRACE, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(299), 1, + sym_compound_statement, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(664), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [19308] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(506), 1, + anon_sym_LBRACE, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(301), 1, + sym_compound_statement, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(651), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [19409] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(133), 1, + anon_sym_LBRACE, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(137), 1, + sym_compound_statement, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(654), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [19510] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(378), 1, + anon_sym_LBRACE, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(275), 1, + sym_compound_statement, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(664), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [19611] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(506), 1, + anon_sym_LBRACE, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(307), 1, + sym_compound_statement, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(664), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [19712] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(378), 1, + anon_sym_LBRACE, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(264), 1, + sym_compound_statement, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(650), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [19813] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(321), 1, + sym_compound_statement, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(657), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [19914] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(133), 1, + anon_sym_LBRACE, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(127), 1, + sym_compound_statement, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(664), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [20015] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(133), 1, + anon_sym_LBRACE, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(132), 1, + sym_compound_statement, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(656), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [20116] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(133), 1, + anon_sym_LBRACE, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(124), 1, + sym_compound_statement, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(664), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [20217] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(343), 1, + sym_compound_statement, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(664), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [20318] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(506), 1, + anon_sym_LBRACE, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(293), 1, + sym_compound_statement, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(647), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [20419] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(378), 1, + anon_sym_LBRACE, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(277), 1, + sym_compound_statement, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(661), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [20520] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(324), 1, + sym_compound_statement, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(664), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [20621] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(378), 1, + anon_sym_LBRACE, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(284), 1, + sym_compound_statement, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(664), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [20722] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(345), 1, + sym_compound_statement, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(660), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [20823] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1819), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(2312), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1127), 1, + sym__declaration_specifiers, + STATE(1743), 1, + sym_parameter_declaration, + STATE(1748), 1, + sym_variadic_parameter, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [20923] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2314), 1, + sym_identifier, + ACTIONS(2326), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2329), 1, + anon_sym___declspec, + ACTIONS(2332), 1, + anon_sym_LBRACE, + ACTIONS(2340), 1, + sym_primitive_type, + ACTIONS(2343), 1, + anon_sym_enum, + ACTIONS(2346), 1, + anon_sym_struct, + ACTIONS(2349), 1, + anon_sym_union, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1159), 1, + sym__declaration_specifiers, + ACTIONS(2323), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2337), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(664), 2, + sym_declaration, + aux_sym__old_style_function_definition_repeat1, + ACTIONS(2334), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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(2317), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + ACTIONS(2320), 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, + [21021] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1819), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(1946), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1127), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1743), 2, + sym_variadic_parameter, + sym_parameter_declaration, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [21119] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2354), 9, + 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, + ACTIONS(2352), 45, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_identifier, + [21181] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2363), 1, + anon_sym_static, + STATE(703), 1, + sym_alignas_qualifier, + ACTIONS(2366), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(667), 2, + sym_type_qualifier, + aux_sym_array_declarator_repeat1, + ACTIONS(2360), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + ACTIONS(2356), 18, + 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__, + anon_sym___asm, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym_identifier, + ACTIONS(2358), 19, + 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, + [21252] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1740), 21, + 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, + ACTIONS(1738), 32, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym___extension__, + 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__, + anon_sym___asm, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym_identifier, + [21313] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2371), 21, + 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, + ACTIONS(2369), 32, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym___extension__, + 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__, + anon_sym___asm, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym_identifier, + [21374] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1744), 21, + 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, + ACTIONS(1742), 32, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym___extension__, + 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__, + anon_sym___asm, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym_identifier, + [21435] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2369), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2371), 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_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, + [21495] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(720), 1, + sym_alignas_qualifier, + ACTIONS(2380), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2375), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2377), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + ACTIONS(2373), 30, + anon_sym_extern, + anon_sym___attribute__, + 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, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21563] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2383), 1, + sym_identifier, + STATE(630), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2387), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(2385), 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, + [21629] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1255), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [21720] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1262), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [21811] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2389), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2391), 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, + [21870] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2393), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2395), 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, + [21929] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2397), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2399), 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, + [21988] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2401), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2403), 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, + [22047] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2405), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2407), 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, + [22106] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2409), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2411), 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, + [22165] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1778), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(1772), 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, + [22224] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1267), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [22315] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2413), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2415), 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, + [22374] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2417), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2419), 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, + [22433] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2421), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2423), 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, + [22492] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2425), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2427), 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, + [22551] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2429), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2431), 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, + [22610] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2433), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2435), 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, + [22669] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2437), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2439), 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, + [22728] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1246), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [22819] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2441), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2443), 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, + [22878] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1778), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(1772), 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, + [22937] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1252), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [23028] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1269), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [23119] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1261), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [23210] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(727), 1, + sym_type_specifier, + STATE(1259), 1, + sym__declaration_specifiers, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(710), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [23301] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2445), 18, + 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___attribute, + anon_sym_EQ, + anon_sym_DOT, + sym_identifier, + ACTIONS(2447), 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, + [23360] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2451), 19, + 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, + ACTIONS(2449), 31, + 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__Nonnull, + 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__, + anon_sym___asm, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym_identifier, + [23418] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2453), 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___attribute, + anon_sym_EQ, + sym_identifier, + ACTIONS(2455), 26, + 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_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_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [23486] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2465), 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___attribute, + anon_sym_EQ, + sym_identifier, + ACTIONS(2467), 33, + 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, + [23544] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2469), 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___attribute, + anon_sym_EQ, + sym_identifier, + ACTIONS(2471), 26, + 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_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_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [23612] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1716), 19, + 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, + ACTIONS(1714), 31, + 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__Nonnull, + 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__, + anon_sym___asm, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym_identifier, + [23670] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2473), 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___attribute, + anon_sym_EQ, + sym_identifier, + ACTIONS(2475), 26, + 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_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_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [23738] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2477), 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___attribute, + anon_sym_EQ, + sym_identifier, + ACTIONS(2479), 26, + 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_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_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [23806] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2481), 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___attribute, + anon_sym_EQ, + sym_identifier, + ACTIONS(2483), 33, + 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, + [23864] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2485), 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___attribute, + anon_sym_EQ, + sym_identifier, + ACTIONS(2487), 26, + 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_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_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [23932] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2489), 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___attribute, + anon_sym_EQ, + sym_identifier, + ACTIONS(2491), 28, + 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_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_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + 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, + [23998] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2493), 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___attribute, + anon_sym_EQ, + sym_identifier, + ACTIONS(2495), 33, + 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, + [24056] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(55), 1, + anon_sym_enum, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1946), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(722), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(724), 1, + sym_type_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(45), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(646), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [24144] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2501), 1, + anon_sym_LBRACE, + STATE(734), 1, + sym_field_declaration_list, + STATE(779), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2499), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2497), 37, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [24209] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2501), 1, + anon_sym_LBRACE, + STATE(738), 1, + sym_field_declaration_list, + STATE(743), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2505), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2503), 37, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [24274] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2507), 1, + sym_identifier, + ACTIONS(2522), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(754), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2519), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2517), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2510), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + ACTIONS(2512), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + ACTIONS(2515), 21, + anon_sym_extern, + anon_sym___attribute__, + 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, + [24347] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(630), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2387), 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(2385), 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, + [24408] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2526), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(2524), 42, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [24465] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2451), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2449), 42, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [24522] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2501), 1, + anon_sym_LBRACE, + STATE(741), 1, + sym_field_declaration_list, + STATE(781), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2530), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2528), 37, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [24587] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1790), 1, + anon_sym_EQ, + STATE(630), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1794), 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(1778), 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___attribute, + ACTIONS(1772), 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, + [24652] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2532), 1, + anon_sym_EQ, + STATE(630), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2534), 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(1778), 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(1772), 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, + [24717] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1716), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(1714), 42, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [24774] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2501), 1, + anon_sym_LBRACE, + STATE(739), 1, + sym_field_declaration_list, + STATE(761), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2538), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2536), 37, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [24839] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2540), 1, + sym_identifier, + ACTIONS(2555), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(749), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2552), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(713), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2550), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2543), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + ACTIONS(2545), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + ACTIONS(2548), 21, + anon_sym_extern, + anon_sym___attribute__, + 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, + [24912] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2501), 1, + anon_sym_LBRACE, + STATE(733), 1, + sym_field_declaration_list, + STATE(764), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2559), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2557), 37, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [24977] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2563), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + STATE(725), 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(2561), 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(47), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [25049] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2567), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + STATE(646), 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(2565), 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(47), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [25121] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1740), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + ACTIONS(1738), 42, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [25177] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2571), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + STATE(728), 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(2569), 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(47), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [25249] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2575), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + STATE(646), 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(2573), 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(47), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [25321] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2579), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + ACTIONS(2577), 42, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [25377] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1744), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + ACTIONS(1742), 42, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [25433] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(742), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2583), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2581), 37, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [25492] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(746), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2587), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2585), 37, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [25551] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(748), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2591), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2589), 37, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [25610] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(760), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2595), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2593), 37, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [25669] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(782), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2599), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2597), 37, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [25728] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2605), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2603), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2601), 35, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [25787] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(762), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2610), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2608), 37, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [25846] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(763), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2614), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2612), 37, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [25905] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(780), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2618), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2616), 37, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [25964] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(765), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2622), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2620), 37, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [26023] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(744), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2626), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2624), 37, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [26082] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2630), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2628), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [26136] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2634), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2632), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [26190] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2638), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2636), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [26244] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(750), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2644), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2642), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2640), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [26302] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2648), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2646), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [26356] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2654), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2652), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2650), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [26414] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2658), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2656), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [26468] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2601), 1, + sym_primitive_type, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2605), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2663), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + ACTIONS(2660), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [26528] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2654), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2668), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2666), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [26586] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2654), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2672), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2670), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [26644] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(770), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2678), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2676), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2674), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [26702] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(771), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2684), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2682), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2680), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [26760] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2654), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2688), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2686), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [26818] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(747), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2694), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2692), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2690), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [26876] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(751), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2700), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2698), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2696), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [26934] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2704), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2702), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [26988] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2708), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2706), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [27042] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2712), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2710), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [27096] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2716), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2714), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [27150] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2720), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2718), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [27204] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2724), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2722), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [27258] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2728), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2726), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [27312] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2732), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2730), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [27366] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2736), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2734), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [27420] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2738), 1, + anon_sym_LPAREN2, + STATE(768), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(1788), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(1786), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(1770), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [27480] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2743), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2741), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [27534] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2654), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2747), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2745), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [27592] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2751), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2749), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [27646] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2654), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2755), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2753), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [27704] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2654), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2759), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2757), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [27762] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2692), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2690), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [27816] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2763), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2761), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [27870] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2767), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2765), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [27924] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2771), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2769), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [27978] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2775), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2773), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [28032] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2779), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2777), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [28086] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2783), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2781), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [28140] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2787), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2785), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [28194] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2791), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2789), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [28248] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2795), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2793), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [28302] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2799), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2797), 39, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [28356] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1823), 1, + anon_sym_LPAREN2, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(2805), 1, + anon_sym_STAR, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1369), 1, + sym__declarator, + STATE(1430), 1, + sym__abstract_declarator, + STATE(1442), 1, + sym_parameter_list, + STATE(1992), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2803), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(2807), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(934), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(950), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [28447] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2817), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2815), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [28500] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2821), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2819), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [28553] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2825), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2823), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [28606] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2829), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2827), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [28659] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1790), 1, + anon_sym_EQ, + ACTIONS(1798), 1, + anon_sym_COLON, + STATE(630), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1794), 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(1778), 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(1772), 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, + [28722] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2831), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [28775] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2837), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2835), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [28828] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2841), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2839), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [28881] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1790), 1, + anon_sym_EQ, + ACTIONS(1796), 1, + anon_sym_COLON, + STATE(630), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1794), 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(1778), 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(1772), 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, + [28944] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2843), 1, + anon_sym_SEMI, + STATE(720), 1, + sym_alignas_qualifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2571), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + STATE(728), 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(2569), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [29015] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2847), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2845), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29068] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2851), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2849), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29121] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1790), 1, + anon_sym_EQ, + ACTIONS(1792), 1, + anon_sym_COLON, + STATE(630), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1794), 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(1778), 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(1772), 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, + [29184] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1823), 1, + anon_sym_LPAREN2, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(2805), 1, + anon_sym_STAR, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1368), 1, + sym__declarator, + STATE(1418), 1, + sym__abstract_declarator, + STATE(1442), 1, + sym_parameter_list, + STATE(1992), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(2853), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(2855), 2, + anon_sym___attribute__, + anon_sym___attribute, + STATE(783), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(936), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [29275] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2857), 1, + anon_sym_SEMI, + STATE(720), 1, + sym_alignas_qualifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2571), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + STATE(728), 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(2569), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [29346] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1790), 1, + anon_sym_EQ, + ACTIONS(1800), 1, + anon_sym_COLON, + STATE(630), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1794), 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(1778), 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(1772), 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, + [29409] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2859), 1, + anon_sym_SEMI, + STATE(720), 1, + sym_alignas_qualifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2571), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + STATE(728), 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(2569), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [29480] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1790), 1, + anon_sym_EQ, + ACTIONS(2861), 1, + anon_sym_COLON, + STATE(630), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1794), 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(1778), 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(1772), 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, + [29543] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1314), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1312), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29596] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1358), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1356), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29649] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1790), 1, + anon_sym_EQ, + ACTIONS(1802), 1, + anon_sym_COLON, + STATE(630), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1794), 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(1778), 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(1772), 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, + [29712] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1370), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1368), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29765] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1378), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1376), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29818] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1274), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1272), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29871] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1322), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1320), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29924] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2865), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2863), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29977] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2869), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2867), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [30030] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2873), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2871), 44, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [30083] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2875), 1, + anon_sym_SEMI, + STATE(720), 1, + sym_alignas_qualifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2571), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + STATE(728), 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(2569), 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), 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(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [30154] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2877), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2879), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 9, + 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, + ACTIONS(2471), 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, + [30220] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2888), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(2881), 3, + anon_sym___attribute__, + anon_sym___attribute, + sym_identifier, + ACTIONS(2884), 4, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_EQ, + ACTIONS(2891), 4, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(2886), 31, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + [30278] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2877), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2893), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2895), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2897), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2899), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2879), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 5, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym___attribute, + anon_sym_EQ, + ACTIONS(2471), 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, + [30352] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2877), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2895), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2897), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2899), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2879), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 5, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym___attribute, + anon_sym_EQ, + ACTIONS(2471), 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, + [30424] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2903), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2905), 1, + anon_sym_AMP_AMP, + ACTIONS(2907), 1, + anon_sym_PIPE, + ACTIONS(2909), 1, + anon_sym_CARET, + ACTIONS(2911), 1, + anon_sym_AMP, + ACTIONS(2915), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2877), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2893), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2895), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2897), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2899), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2913), 2, + anon_sym___attribute, + anon_sym_EQ, + ACTIONS(2879), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2901), 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, + [30510] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2924), 1, + anon_sym_LBRACE, + ACTIONS(2926), 1, + anon_sym_COLON, + STATE(774), 1, + sym_attribute_specifier, + STATE(879), 1, + sym_enumerator_list, + ACTIONS(2921), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2919), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + ACTIONS(2917), 32, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [30572] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2903), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2905), 1, + anon_sym_AMP_AMP, + ACTIONS(2907), 1, + anon_sym_PIPE, + ACTIONS(2909), 1, + anon_sym_CARET, + ACTIONS(2911), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2877), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2893), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2895), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2897), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2899), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2930), 2, + anon_sym___attribute, + anon_sym_EQ, + ACTIONS(2879), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2928), 17, + anon_sym_COMMA, + anon_sym_RPAREN, + 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, + [30656] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2877), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2899), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2879), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym___attribute, + anon_sym_EQ, + ACTIONS(2471), 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, + [30724] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2879), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 11, + 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___attribute, + anon_sym_EQ, + ACTIONS(2471), 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, + [30788] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2939), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(2932), 3, + anon_sym___attribute__, + anon_sym___attribute, + sym_identifier, + ACTIONS(2935), 4, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_EQ, + ACTIONS(2942), 4, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(2937), 31, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + [30846] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2952), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2954), 1, + anon_sym_AMP_AMP, + ACTIONS(2956), 1, + anon_sym_PIPE, + ACTIONS(2958), 1, + anon_sym_CARET, + ACTIONS(2960), 1, + anon_sym_AMP, + ACTIONS(2970), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2946), 2, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + ACTIONS(2948), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2962), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2964), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2966), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2968), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2950), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2944), 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_identifier, + [30932] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2950), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 11, + 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, + ACTIONS(2471), 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_identifier, + [30996] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2954), 1, + anon_sym_AMP_AMP, + ACTIONS(2956), 1, + anon_sym_PIPE, + ACTIONS(2958), 1, + anon_sym_CARET, + ACTIONS(2960), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2469), 2, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + ACTIONS(2948), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2962), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2964), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2966), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2968), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2950), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2471), 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_identifier, + [31078] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2956), 1, + anon_sym_PIPE, + ACTIONS(2958), 1, + anon_sym_CARET, + ACTIONS(2960), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2469), 2, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + ACTIONS(2948), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2962), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2964), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2966), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2968), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2950), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2471), 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_identifier, + [31158] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2911), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2877), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2893), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2895), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2897), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2899), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2879), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym___attribute, + anon_sym_EQ, + ACTIONS(2471), 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, + [31234] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2960), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2948), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2962), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2964), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2966), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2968), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2950), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 4, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + ACTIONS(2471), 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_identifier, + [31310] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2948), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2962), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2964), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2966), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2968), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2950), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 5, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(2471), 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_identifier, + [31384] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2948), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2964), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2966), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2968), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2950), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 5, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(2471), 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_identifier, + [31456] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2948), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2968), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2950), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 7, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(2471), 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_identifier, + [31524] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2948), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2950), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 9, + 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, + ACTIONS(2471), 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_identifier, + [31590] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2952), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2954), 1, + anon_sym_AMP_AMP, + ACTIONS(2956), 1, + anon_sym_PIPE, + ACTIONS(2958), 1, + anon_sym_CARET, + ACTIONS(2960), 1, + anon_sym_AMP, + ACTIONS(2970), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2913), 2, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + ACTIONS(2948), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2962), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2964), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2966), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2968), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2950), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2901), 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_identifier, + [31676] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2952), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2954), 1, + anon_sym_AMP_AMP, + ACTIONS(2956), 1, + anon_sym_PIPE, + ACTIONS(2958), 1, + anon_sym_CARET, + ACTIONS(2960), 1, + anon_sym_AMP, + ACTIONS(2970), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2948), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2962), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2964), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2966), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2968), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2974), 2, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + ACTIONS(2950), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2972), 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_identifier, + [31762] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2952), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2954), 1, + anon_sym_AMP_AMP, + ACTIONS(2956), 1, + anon_sym_PIPE, + ACTIONS(2958), 1, + anon_sym_CARET, + ACTIONS(2960), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2930), 2, + aux_sym_preproc_elif_token1, + anon_sym_EQ, + ACTIONS(2948), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2962), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2964), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2966), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2968), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2950), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2928), 17, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_identifier, + [31846] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2907), 1, + anon_sym_PIPE, + ACTIONS(2909), 1, + anon_sym_CARET, + ACTIONS(2911), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2469), 2, + anon_sym___attribute, + anon_sym_EQ, + ACTIONS(2877), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2893), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2895), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2897), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2899), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2879), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2471), 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, + [31926] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2905), 1, + anon_sym_AMP_AMP, + ACTIONS(2907), 1, + anon_sym_PIPE, + ACTIONS(2909), 1, + anon_sym_CARET, + ACTIONS(2911), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2469), 2, + anon_sym___attribute, + anon_sym_EQ, + ACTIONS(2877), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2893), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2895), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2897), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2899), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2879), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2471), 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, + [32008] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2903), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2905), 1, + anon_sym_AMP_AMP, + ACTIONS(2907), 1, + anon_sym_PIPE, + ACTIONS(2909), 1, + anon_sym_CARET, + ACTIONS(2911), 1, + anon_sym_AMP, + ACTIONS(2915), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2877), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2893), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2895), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2897), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2899), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2974), 2, + anon_sym___attribute, + anon_sym_EQ, + ACTIONS(2879), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2972), 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, + [32094] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2909), 1, + anon_sym_CARET, + ACTIONS(2911), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2877), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2893), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2895), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2897), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2899), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2469), 3, + anon_sym_PIPE, + anon_sym___attribute, + anon_sym_EQ, + ACTIONS(2879), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2471), 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, + [32172] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2976), 1, + anon_sym_EQ, + STATE(630), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2978), 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(1778), 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(1772), 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, + [32232] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2903), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2905), 1, + anon_sym_AMP_AMP, + ACTIONS(2907), 1, + anon_sym_PIPE, + ACTIONS(2909), 1, + anon_sym_CARET, + ACTIONS(2911), 1, + anon_sym_AMP, + ACTIONS(2915), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2877), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2893), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2895), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2897), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2899), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2946), 2, + anon_sym___attribute, + anon_sym_EQ, + ACTIONS(2879), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2944), 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, + [32318] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2958), 1, + anon_sym_CARET, + ACTIONS(2960), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2948), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2962), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2964), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2966), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2968), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2469), 3, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_EQ, + ACTIONS(2950), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2471), 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_identifier, + [32396] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1790), 1, + anon_sym_EQ, + ACTIONS(1794), 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(1778), 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___attribute, + ACTIONS(1772), 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, + [32451] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2924), 1, + anon_sym_LBRACE, + STATE(776), 1, + sym_attribute_specifier, + STATE(876), 1, + sym_enumerator_list, + ACTIONS(2984), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2982), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + ACTIONS(2980), 32, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [32510] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2532), 1, + anon_sym_EQ, + ACTIONS(2534), 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(1778), 13, + 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, + ACTIONS(1772), 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_identifier, + [32565] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2276), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(2274), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [32615] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1823), 1, + anon_sym_LPAREN2, + ACTIONS(1825), 1, + anon_sym_STAR, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(2813), 1, + anon_sym_LBRACK, + ACTIONS(2853), 1, + anon_sym_RPAREN, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1302), 1, + sym__declarator, + STATE(1418), 1, + sym__abstract_declarator, + STATE(1442), 1, + sym_parameter_list, + STATE(1967), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(848), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(957), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [32701] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1823), 1, + anon_sym_LPAREN2, + ACTIONS(1825), 1, + anon_sym_STAR, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(2803), 1, + anon_sym_RPAREN, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1299), 1, + sym__declarator, + STATE(1430), 1, + sym__abstract_declarator, + STATE(1442), 1, + sym_parameter_list, + STATE(1967), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(950), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(953), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [32787] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2260), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(2258), 40, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [32837] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2579), 1, + anon_sym_LBRACK_LBRACK, + STATE(503), 1, + sym_string_literal, + ACTIONS(2987), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2577), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [32890] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1378), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1376), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [32939] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1274), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1272), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [32988] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(777), 1, + sym_attribute_specifier, + ACTIONS(2993), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2991), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + ACTIONS(2989), 32, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [33041] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2869), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2867), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33090] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2873), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2871), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33139] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2817), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2815), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33188] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1322), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1320), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33237] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2865), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2863), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33286] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1314), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1312), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33335] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2825), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2823), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33384] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2851), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2849), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33433] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2847), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2845), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33482] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1314), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1312), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33531] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2829), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2827), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33580] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1358), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1356), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33629] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1370), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1368), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33678] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2851), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2849), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33727] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2579), 1, + anon_sym_LBRACK_LBRACK, + STATE(506), 1, + sym_string_literal, + ACTIONS(2987), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2577), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33780] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2579), 1, + anon_sym_LBRACK_LBRACK, + STATE(497), 1, + sym_string_literal, + ACTIONS(2987), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2577), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33833] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2865), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2863), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33882] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1274), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1272), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33931] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2821), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2819), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [33980] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2825), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2823), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34029] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1322), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1320), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34078] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2821), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2819), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34127] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(769), 1, + sym_attribute_specifier, + ACTIONS(3000), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2998), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + ACTIONS(2996), 32, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [34180] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2869), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2867), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34229] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2579), 1, + anon_sym_LBRACK_LBRACK, + STATE(499), 1, + sym_string_literal, + ACTIONS(2987), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(2577), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34282] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(758), 1, + sym_attribute_specifier, + ACTIONS(3007), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(3005), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + ACTIONS(3003), 32, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [34335] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2829), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2827), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34384] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2831), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34433] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2873), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2871), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34482] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2837), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2835), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34531] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2841), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2839), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34580] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2847), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2845), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34629] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1358), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1356), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34678] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2833), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2831), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34727] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2817), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2815), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34776] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1370), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1368), 40, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34825] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2837), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2835), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34874] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2841), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2839), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34923] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1378), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1376), 39, + 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___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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [34972] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1335), 1, + sym__type_declarator, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(908), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1016), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [35049] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3022), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK_LBRACK, + ACTIONS(3020), 36, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [35096] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2469), 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(2471), 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, + [35155] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2453), 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(2455), 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, + [35214] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2738), 1, + anon_sym_LPAREN2, + ACTIONS(3028), 1, + anon_sym_COMMA, + ACTIONS(3031), 1, + anon_sym_RPAREN, + STATE(768), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1666), 1, + aux_sym__old_style_parameter_list_repeat1, + ACTIONS(1786), 2, + anon_sym_STAR, + anon_sym_LBRACK_LBRACK, + ACTIONS(1788), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(1770), 28, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [35273] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(2946), 1, + anon_sym_EQ, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3038), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3040), 1, + anon_sym_AMP_AMP, + ACTIONS(3042), 1, + anon_sym_PIPE, + ACTIONS(3044), 1, + anon_sym_CARET, + ACTIONS(3046), 1, + anon_sym_AMP, + ACTIONS(3056), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3034), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3048), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3050), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3052), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3054), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3036), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2944), 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, + [35356] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3036), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 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(2471), 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, + [35417] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(2469), 1, + anon_sym_EQ, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3040), 1, + anon_sym_AMP_AMP, + ACTIONS(3042), 1, + anon_sym_PIPE, + ACTIONS(3044), 1, + anon_sym_CARET, + ACTIONS(3046), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3034), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3048), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3050), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3052), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3054), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3036), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2471), 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, + [35496] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(2469), 1, + anon_sym_EQ, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3042), 1, + anon_sym_PIPE, + ACTIONS(3044), 1, + anon_sym_CARET, + ACTIONS(3046), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3034), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3048), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3050), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3052), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3054), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3036), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2471), 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, + [35573] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3044), 1, + anon_sym_CARET, + ACTIONS(3046), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2469), 2, + anon_sym_PIPE, + anon_sym_EQ, + ACTIONS(3034), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3048), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3050), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3052), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3054), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3036), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2471), 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, + [35648] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3046), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3034), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3048), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3050), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3052), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3054), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2469), 3, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + ACTIONS(3036), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2471), 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, + [35721] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3034), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3048), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3050), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3052), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3054), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3036), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(2471), 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, + [35792] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3034), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3050), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3052), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3054), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3036), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(2471), 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, + [35861] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3034), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3054), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3036), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 6, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(2471), 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, + [35926] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3034), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3036), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2469), 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(2471), 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, + [35989] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1345), 1, + sym__type_declarator, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(950), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1013), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [36066] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(2913), 1, + anon_sym_EQ, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3038), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3040), 1, + anon_sym_AMP_AMP, + ACTIONS(3042), 1, + anon_sym_PIPE, + ACTIONS(3044), 1, + anon_sym_CARET, + ACTIONS(3046), 1, + anon_sym_AMP, + ACTIONS(3056), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3034), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3048), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3050), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3052), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3054), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3036), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2901), 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, + [36149] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(2974), 1, + anon_sym_EQ, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3038), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3040), 1, + anon_sym_AMP_AMP, + ACTIONS(3042), 1, + anon_sym_PIPE, + ACTIONS(3044), 1, + anon_sym_CARET, + ACTIONS(3046), 1, + anon_sym_AMP, + ACTIONS(3056), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3034), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3048), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3050), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3052), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3054), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3036), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2972), 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, + [36232] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(2930), 1, + anon_sym_EQ, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3038), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3040), 1, + anon_sym_AMP_AMP, + ACTIONS(3042), 1, + anon_sym_PIPE, + ACTIONS(3044), 1, + anon_sym_CARET, + ACTIONS(3046), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3034), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3048), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3050), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3052), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3054), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3036), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2928), 13, + anon_sym_DOT_DOT_DOT, + 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, + [36313] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + STATE(676), 1, + sym_argument_list, + ACTIONS(2489), 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(2491), 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, + [36370] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2485), 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(2487), 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, + [36429] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2473), 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(2475), 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, + [36488] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2477), 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(2479), 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, + [36547] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1357), 1, + sym__type_declarator, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(950), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1017), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [36624] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1345), 1, + sym__type_declarator, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(916), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1013), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [36701] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1154), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym___extension__, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym_identifier, + ACTIONS(1156), 19, + 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, + [36747] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1174), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym___extension__, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym_identifier, + ACTIONS(1176), 19, + 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, + [36793] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1198), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym___extension__, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym_identifier, + ACTIONS(1200), 19, + 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, + [36839] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1202), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym___extension__, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym_identifier, + ACTIONS(1204), 19, + 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, + [36885] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1202), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym___extension__, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym_identifier, + ACTIONS(1204), 19, + 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, + [36931] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3061), 1, + anon_sym_LPAREN2, + ACTIONS(3065), 1, + anon_sym_LBRACK, + STATE(768), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(1786), 2, + anon_sym_COMMA, + anon_sym_STAR, + ACTIONS(3058), 2, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + ACTIONS(1788), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(1770), 27, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [36987] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1214), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym___extension__, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym_identifier, + ACTIONS(1216), 19, + 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, + [37033] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2481), 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(2483), 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, + [37079] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1154), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym___extension__, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym_identifier, + ACTIONS(1156), 19, + 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, + [37125] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2493), 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(2495), 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, + [37171] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1170), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym___extension__, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym_identifier, + ACTIONS(1172), 19, + 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, + [37217] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1170), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym___extension__, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym_identifier, + ACTIONS(1172), 19, + 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, + [37263] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1174), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym___extension__, + anon_sym_sizeof, + anon_sym___alignof__, + anon_sym___alignof, + anon_sym__alignof, + anon_sym_alignof, + anon_sym__Alignof, + anon_sym_offsetof, + anon_sym__Generic, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_true, + sym_false, + anon_sym_NULL, + anon_sym_nullptr, + sym_identifier, + ACTIONS(1176), 19, + 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, + [37309] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2465), 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(2467), 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, + [37355] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2976), 1, + anon_sym_EQ, + ACTIONS(2978), 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(1778), 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(1772), 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, + [37405] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2738), 1, + anon_sym_LPAREN2, + STATE(768), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(1786), 2, + anon_sym_STAR, + anon_sym_LBRACK_LBRACK, + ACTIONS(3068), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(1788), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(1770), 28, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_identifier, + [37459] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1823), 1, + anon_sym_LPAREN2, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(2805), 1, + anon_sym_STAR, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1370), 1, + sym__declarator, + STATE(1429), 1, + sym__abstract_declarator, + STATE(1442), 1, + sym_parameter_list, + STATE(1992), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(3071), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(3073), 2, + anon_sym___attribute__, + anon_sym___attribute, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [37534] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1790), 1, + anon_sym_EQ, + ACTIONS(3075), 1, + anon_sym_SEMI, + ACTIONS(1794), 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(1778), 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(1772), 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, + [37585] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1823), 1, + anon_sym_LPAREN2, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(2805), 1, + anon_sym_STAR, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1369), 1, + sym__declarator, + STATE(1430), 1, + sym__abstract_declarator, + STATE(1442), 1, + sym_parameter_list, + STATE(1992), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2803), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(2807), 2, + anon_sym___attribute__, + anon_sym___attribute, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [37660] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1172), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(1170), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [37704] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1176), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(1174), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [37748] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1176), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(1174), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [37792] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3079), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(3077), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [37836] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1200), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(1198), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [37880] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1204), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(1202), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [37924] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1204), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(1202), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [37968] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1216), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(1214), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [38012] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3083), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(3081), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [38056] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3085), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(2886), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [38100] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1156), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(1154), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [38144] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1172), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(1170), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [38188] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1156), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(1154), 34, + anon_sym___extension__, + anon_sym_extern, + anon_sym___attribute__, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [38232] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + ACTIONS(3094), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(950), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(3091), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(3089), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(3087), 21, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [38283] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + anon_sym_const, + ACTIONS(1948), 1, + anon_sym_LPAREN2, + ACTIONS(1950), 1, + anon_sym_STAR, + ACTIONS(2809), 1, + sym_ms_restrict_modifier, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1430), 1, + sym__abstract_declarator, + STATE(1442), 1, + sym_parameter_list, + ACTIONS(3099), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(3101), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(3103), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(950), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1091), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2803), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(3097), 9, + 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__Nonnull, + [38356] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + anon_sym_const, + ACTIONS(1948), 1, + anon_sym_LPAREN2, + ACTIONS(1950), 1, + anon_sym_STAR, + ACTIONS(2809), 1, + sym_ms_restrict_modifier, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1418), 1, + sym__abstract_declarator, + STATE(1442), 1, + sym_parameter_list, + ACTIONS(3099), 2, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(3101), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(3103), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(951), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1085), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2853), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(3097), 9, + 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__Nonnull, + [38429] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1823), 1, + anon_sym_LPAREN2, + ACTIONS(1825), 1, + anon_sym_STAR, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(2813), 1, + anon_sym_LBRACK, + ACTIONS(3071), 1, + anon_sym_RPAREN, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1301), 1, + sym__declarator, + STATE(1429), 1, + sym__abstract_declarator, + STATE(1442), 1, + sym_parameter_list, + STATE(1967), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [38499] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1299), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(955), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1117), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [38567] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1301), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(950), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1114), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [38635] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1302), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(966), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1113), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [38703] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1823), 1, + anon_sym_LPAREN2, + ACTIONS(1825), 1, + anon_sym_STAR, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(2803), 1, + anon_sym_RPAREN, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1299), 1, + sym__declarator, + STATE(1430), 1, + sym__abstract_declarator, + STATE(1442), 1, + sym_parameter_list, + STATE(1967), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [38773] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3109), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1370), 1, + sym__declarator, + STATE(1992), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(950), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1115), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [38841] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3111), 1, + sym_identifier, + ACTIONS(3113), 1, + anon_sym_LPAREN2, + ACTIONS(3115), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1330), 1, + sym__field_declarator, + STATE(1953), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(961), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1118), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1395), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [38909] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3109), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1369), 1, + sym__declarator, + STATE(1992), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(950), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1112), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [38977] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3111), 1, + sym_identifier, + ACTIONS(3113), 1, + anon_sym_LPAREN2, + ACTIONS(3115), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1327), 1, + sym__field_declarator, + STATE(1953), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(950), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1110), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1395), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [39045] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3111), 1, + sym_identifier, + ACTIONS(3113), 1, + anon_sym_LPAREN2, + ACTIONS(3115), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1327), 1, + sym__field_declarator, + STATE(1953), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(965), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1110), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1395), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [39113] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3109), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1369), 1, + sym__declarator, + STATE(1992), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(958), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1112), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [39181] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3109), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1368), 1, + sym__declarator, + STATE(1992), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(960), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1111), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [39249] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3111), 1, + sym_identifier, + ACTIONS(3113), 1, + anon_sym_LPAREN2, + ACTIONS(3115), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1326), 1, + sym__field_declarator, + STATE(1953), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(950), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1109), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1395), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [39317] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(998), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1299), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(2811), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(950), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(1117), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2809), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [39385] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2469), 3, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym___attribute, + ACTIONS(2471), 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, + [39448] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3131), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3137), 1, + anon_sym_SLASH, + ACTIONS(3139), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3141), 1, + anon_sym_AMP_AMP, + ACTIONS(3143), 1, + anon_sym_PIPE, + ACTIONS(3145), 1, + anon_sym_CARET, + ACTIONS(3147), 1, + anon_sym_AMP, + ACTIONS(3157), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3133), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3135), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3149), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3151), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3153), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3155), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3129), 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_identifier, + [39525] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2930), 1, + anon_sym___attribute, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2928), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [39600] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2946), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3137), 1, + anon_sym_SLASH, + ACTIONS(3139), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3141), 1, + anon_sym_AMP_AMP, + ACTIONS(3143), 1, + anon_sym_PIPE, + ACTIONS(3145), 1, + anon_sym_CARET, + ACTIONS(3147), 1, + anon_sym_AMP, + ACTIONS(3157), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3133), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3135), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3149), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3151), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3153), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3155), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2944), 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_identifier, + [39677] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3137), 1, + anon_sym_SLASH, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3135), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2469), 7, + aux_sym_preproc_elif_token1, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2471), 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_identifier, + [39732] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2469), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3137), 1, + anon_sym_SLASH, + ACTIONS(3141), 1, + anon_sym_AMP_AMP, + ACTIONS(3143), 1, + anon_sym_PIPE, + ACTIONS(3145), 1, + anon_sym_CARET, + ACTIONS(3147), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3133), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3135), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3149), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3151), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3153), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3155), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2471), 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_identifier, + [39805] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2469), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3137), 1, + anon_sym_SLASH, + ACTIONS(3143), 1, + anon_sym_PIPE, + ACTIONS(3145), 1, + anon_sym_CARET, + ACTIONS(3147), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3133), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3135), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3149), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3151), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3153), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3155), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2471), 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_identifier, + [39876] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3137), 1, + anon_sym_SLASH, + ACTIONS(3145), 1, + anon_sym_CARET, + ACTIONS(3147), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2469), 2, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + ACTIONS(3133), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3135), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3149), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3151), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3153), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3155), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2471), 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_identifier, + [39945] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3137), 1, + anon_sym_SLASH, + ACTIONS(3147), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2469), 2, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + ACTIONS(3133), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3135), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3149), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3151), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3153), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3155), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2471), 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_identifier, + [40012] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3137), 1, + anon_sym_SLASH, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3133), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3135), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3149), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3151), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3153), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3155), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2469), 3, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(2471), 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_identifier, + [40077] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3137), 1, + anon_sym_SLASH, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3133), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3135), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3151), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3153), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3155), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2469), 3, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(2471), 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_identifier, + [40140] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3137), 1, + anon_sym_SLASH, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3133), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3135), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3155), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2469), 5, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2471), 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_identifier, + [40199] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3137), 1, + anon_sym_SLASH, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3133), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3135), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2469), 5, + aux_sym_preproc_elif_token1, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2471), 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_identifier, + [40256] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2913), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3137), 1, + anon_sym_SLASH, + ACTIONS(3139), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3141), 1, + anon_sym_AMP_AMP, + ACTIONS(3143), 1, + anon_sym_PIPE, + ACTIONS(3145), 1, + anon_sym_CARET, + ACTIONS(3147), 1, + anon_sym_AMP, + ACTIONS(3157), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3133), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3135), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3149), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3151), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3153), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3155), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2901), 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_identifier, + [40333] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2974), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3137), 1, + anon_sym_SLASH, + ACTIONS(3139), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3141), 1, + anon_sym_AMP_AMP, + ACTIONS(3143), 1, + anon_sym_PIPE, + ACTIONS(3145), 1, + anon_sym_CARET, + ACTIONS(3147), 1, + anon_sym_AMP, + ACTIONS(3157), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3133), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3135), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3149), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3151), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3153), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3155), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2972), 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_identifier, + [40410] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2974), 1, + anon_sym___attribute, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2972), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + [40487] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2469), 7, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym___attribute, + ACTIONS(2471), 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, + [40542] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2469), 1, + anon_sym___attribute, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2471), 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, + [40615] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2469), 1, + anon_sym___attribute, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2471), 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, + [40686] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2469), 2, + anon_sym_PIPE, + anon_sym___attribute, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2471), 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, + [40755] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2930), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3137), 1, + anon_sym_SLASH, + ACTIONS(3139), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3141), 1, + anon_sym_AMP_AMP, + ACTIONS(3143), 1, + anon_sym_PIPE, + ACTIONS(3145), 1, + anon_sym_CARET, + ACTIONS(3147), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3133), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3135), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3149), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3151), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3153), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3155), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2928), 7, + anon_sym_COMMA, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + anon_sym_QMARK, + sym_identifier, + [40830] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3167), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(2469), 2, + anon_sym_PIPE, + anon_sym___attribute, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2471), 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, + [40897] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2469), 3, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym___attribute, + ACTIONS(2471), 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, + [40962] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2946), 1, + anon_sym___attribute, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2944), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + [41039] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2469), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym___attribute, + ACTIONS(2471), 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, + [41098] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2469), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym___attribute, + ACTIONS(2471), 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, + [41155] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2913), 1, + anon_sym___attribute, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2901), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_RBRACE, + anon_sym_COLON, + [41232] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1728), 1, + anon_sym_enum, + ACTIONS(3173), 1, + sym_identifier, + ACTIONS(3177), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1122), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1124), 1, + sym_type_specifier, + STATE(1280), 1, + sym__type_definition_type, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1018), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3175), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [41296] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1728), 1, + anon_sym_enum, + ACTIONS(3173), 1, + sym_identifier, + ACTIONS(3177), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1122), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1124), 1, + sym_type_specifier, + STATE(1271), 1, + sym__type_definition_type, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1018), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3175), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [41360] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3181), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(3179), 26, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym___based, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + anon_sym__unaligned, + anon_sym___unaligned, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [41400] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1728), 1, + anon_sym_enum, + ACTIONS(1946), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1063), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1084), 1, + sym_type_specifier, + STATE(1845), 1, + sym_type_descriptor, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1015), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1726), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [41464] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3185), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(3183), 26, + anon_sym___extension__, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym___based, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + anon_sym__unaligned, + anon_sym___unaligned, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [41504] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3187), 13, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_identifier, + ACTIONS(3189), 19, + 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, + [41544] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3191), 13, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_identifier, + ACTIONS(3193), 19, + 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, + [41584] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1728), 1, + anon_sym_enum, + ACTIONS(3173), 1, + sym_identifier, + ACTIONS(3177), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1122), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1124), 1, + sym_type_specifier, + STATE(1277), 1, + sym__type_definition_type, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1018), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3175), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [41648] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1946), 1, + sym_identifier, + ACTIONS(3195), 1, + anon_sym_enum, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1063), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1084), 1, + sym_type_specifier, + STATE(1850), 1, + sym_type_descriptor, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1726), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [41712] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1728), 1, + anon_sym_enum, + ACTIONS(1946), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1063), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1084), 1, + sym_type_specifier, + STATE(1811), 1, + sym_type_descriptor, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1015), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1726), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [41776] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3197), 13, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_identifier, + ACTIONS(3199), 19, + 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, + [41816] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1946), 1, + sym_identifier, + ACTIONS(3195), 1, + anon_sym_enum, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1063), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1084), 1, + sym_type_specifier, + STATE(2020), 1, + sym_type_descriptor, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1014), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1726), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [41880] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1728), 1, + anon_sym_enum, + ACTIONS(3173), 1, + sym_identifier, + ACTIONS(3177), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1122), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1124), 1, + sym_type_specifier, + STATE(1279), 1, + sym__type_definition_type, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1018), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3175), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [41944] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1728), 1, + anon_sym_enum, + ACTIONS(1946), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1063), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1084), 1, + sym_type_specifier, + STATE(1828), 1, + sym_type_descriptor, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1015), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1726), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [42008] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1728), 1, + anon_sym_enum, + ACTIONS(3173), 1, + sym_identifier, + ACTIONS(3177), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1122), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1124), 1, + sym_type_specifier, + STATE(1274), 1, + sym__type_definition_type, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1018), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3175), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [42072] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1728), 1, + anon_sym_enum, + ACTIONS(3173), 1, + sym_identifier, + ACTIONS(3177), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1122), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1124), 1, + sym_type_specifier, + STATE(1278), 1, + sym__type_definition_type, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1018), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3175), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [42136] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1728), 1, + anon_sym_enum, + ACTIONS(3173), 1, + sym_identifier, + ACTIONS(3177), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1122), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1124), 1, + sym_type_specifier, + STATE(1282), 1, + sym__type_definition_type, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1018), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3175), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [42200] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1728), 1, + anon_sym_enum, + ACTIONS(3173), 1, + sym_identifier, + ACTIONS(3177), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1122), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1124), 1, + sym_type_specifier, + STATE(1276), 1, + sym__type_definition_type, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1018), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3175), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [42264] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3201), 13, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_identifier, + ACTIONS(3203), 19, + 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, + [42304] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1357), 1, + sym__type_declarator, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [42365] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1946), 1, + sym_identifier, + ACTIONS(3195), 1, + anon_sym_enum, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1063), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1101), 1, + sym_type_specifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1726), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [42426] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + sym_primitive_type, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1728), 1, + anon_sym_enum, + ACTIONS(1946), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1063), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1101), 1, + sym_type_specifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(1726), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [42487] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1345), 1, + sym__type_declarator, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [42548] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1337), 1, + sym__type_declarator, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [42609] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_struct, + ACTIONS(59), 1, + anon_sym_union, + ACTIONS(1728), 1, + anon_sym_enum, + ACTIONS(3173), 1, + sym_identifier, + ACTIONS(3177), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1122), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1126), 1, + sym_type_specifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3175), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(772), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [42670] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3207), 3, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_COLON, + [42744] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2924), 1, + anon_sym_LBRACE, + ACTIONS(3209), 1, + anon_sym_COLON, + STATE(774), 1, + sym_attribute_specifier, + STATE(1044), 1, + sym_enumerator_list, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2919), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + ACTIONS(2917), 19, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [42792] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3213), 1, + anon_sym___attribute, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3211), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + [42866] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2924), 1, + anon_sym_LBRACE, + STATE(776), 1, + sym_attribute_specifier, + STATE(1062), 1, + sym_enumerator_list, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2982), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(2980), 19, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [42912] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3215), 1, + anon_sym_COMMA, + ACTIONS(3217), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + STATE(1587), 1, + aux_sym_generic_expression_repeat1, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [42987] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3219), 1, + anon_sym_COMMA, + ACTIONS(3221), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + STATE(1572), 1, + aux_sym_argument_list_repeat1, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [43062] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3223), 1, + anon_sym_COMMA, + ACTIONS(3225), 1, + anon_sym_RBRACE, + STATE(676), 1, + sym_argument_list, + STATE(1670), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [43137] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3219), 1, + anon_sym_COMMA, + ACTIONS(3227), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + STATE(1617), 1, + aux_sym_argument_list_repeat1, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [43212] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3229), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [43282] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3231), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + ACTIONS(3257), 1, + anon_sym_RBRACK, + ACTIONS(3259), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [43356] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + ACTIONS(3259), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2944), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_RBRACK, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [43428] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3237), 1, + anon_sym_SLASH, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2469), 6, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2471), 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, + [43480] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2471), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_RBRACK, + anon_sym_QMARK, + [43548] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2471), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + [43614] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(2469), 1, + anon_sym_PIPE, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2471), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + [43680] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(2469), 1, + anon_sym_PIPE, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3247), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2471), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_RBRACK, + anon_sym_QMARK, + [43744] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3237), 1, + anon_sym_SLASH, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2469), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2471), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_RBRACK, + anon_sym_QMARK, + [43806] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3237), 1, + anon_sym_SLASH, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2469), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2471), 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, + [43866] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3237), 1, + anon_sym_SLASH, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2469), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2471), 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, + [43922] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3237), 1, + anon_sym_SLASH, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2469), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2471), 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, + [43976] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3261), 1, + anon_sym_COLON, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [44048] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + ACTIONS(3259), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2901), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_RBRACK, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [44120] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3263), 1, + anon_sym_COLON, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [44192] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + ACTIONS(3259), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2972), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_RBRACK, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [44264] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3265), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [44334] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(758), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(3005), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(3003), 19, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [44374] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3267), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [44444] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3269), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [44514] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3271), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [44584] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3273), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [44656] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3275), 1, + anon_sym_SEMI, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [44728] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3277), 1, + anon_sym_SEMI, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [44800] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3279), 1, + anon_sym_SEMI, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [44872] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3281), 1, + anon_sym_SEMI, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [44944] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3283), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [45016] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3285), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [45088] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3287), 1, + anon_sym_SEMI, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [45160] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3289), 1, + anon_sym_SEMI, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [45232] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3291), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [45302] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3293), 1, + anon_sym_SEMI, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [45374] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3295), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [45446] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(2463), 1, + anon_sym_DASH_GT, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3026), 1, + anon_sym_DOT, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2928), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_RBRACK, + anon_sym_QMARK, + [45516] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3297), 1, + anon_sym_SEMI, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [45588] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(769), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2998), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(2996), 19, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [45628] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2555), 1, + sym_primitive_type, + ACTIONS(3299), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1121), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2552), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1076), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3301), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2543), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(2545), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [45678] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3303), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [45750] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3305), 1, + anon_sym_COLON, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [45822] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3307), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [45894] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3129), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [45964] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3309), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [46036] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(777), 1, + sym_attribute_specifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(2991), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(2989), 19, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [46076] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3311), 1, + anon_sym_COLON, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [46148] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3313), 1, + anon_sym_SEMI, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [46220] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3315), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [46292] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3317), 1, + anon_sym_COLON, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [46364] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3319), 1, + anon_sym_SEMI, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [46436] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3321), 1, + anon_sym_SEMI, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [46508] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2522), 1, + sym_primitive_type, + ACTIONS(3323), 1, + sym_identifier, + STATE(720), 1, + sym_alignas_qualifier, + STATE(754), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2519), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2517), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2510), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(2512), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [46558] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3325), 1, + anon_sym_SEMI, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [46630] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3205), 1, + anon_sym_COMMA, + ACTIONS(3327), 1, + anon_sym_COLON, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [46702] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3329), 1, + anon_sym_COLON, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [46771] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2198), 1, + anon_sym_RBRACK, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + ACTIONS(3259), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [46840] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3331), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [46909] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + ACTIONS(3259), 1, + anon_sym_QMARK, + ACTIONS(3333), 1, + anon_sym_RBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [46978] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3335), 1, + anon_sym_COLON, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [47047] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + anon_sym_const, + ACTIONS(1948), 1, + anon_sym_LPAREN2, + ACTIONS(1950), 1, + anon_sym_STAR, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1442), 1, + sym_parameter_list, + STATE(1486), 1, + sym__abstract_declarator, + ACTIONS(3103), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1093), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3337), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(3097), 9, + 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__Nonnull, + [47102] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + anon_sym_const, + ACTIONS(1948), 1, + anon_sym_LPAREN2, + ACTIONS(1950), 1, + anon_sym_STAR, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1430), 1, + sym__abstract_declarator, + STATE(1442), 1, + sym_parameter_list, + ACTIONS(3103), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(2803), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(3097), 9, + 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__Nonnull, + [47157] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2190), 1, + anon_sym_RBRACK, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + ACTIONS(3259), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [47226] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + anon_sym_const, + ACTIONS(1948), 1, + anon_sym_LPAREN2, + ACTIONS(1950), 1, + anon_sym_STAR, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1442), 1, + sym_parameter_list, + STATE(1484), 1, + sym__abstract_declarator, + ACTIONS(3103), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3339), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(3097), 9, + 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__Nonnull, + [47281] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3341), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [47350] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2188), 1, + anon_sym_RBRACK, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + ACTIONS(3259), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [47419] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3343), 1, + anon_sym_COLON, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [47488] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + anon_sym_const, + ACTIONS(1948), 1, + anon_sym_LPAREN2, + ACTIONS(1950), 1, + anon_sym_STAR, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1429), 1, + sym__abstract_declarator, + STATE(1442), 1, + sym_parameter_list, + ACTIONS(3103), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3071), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(3097), 9, + 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__Nonnull, + [47543] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2178), 1, + anon_sym_RBRACK, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + ACTIONS(3259), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [47612] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + anon_sym_const, + ACTIONS(1948), 1, + anon_sym_LPAREN2, + ACTIONS(1950), 1, + anon_sym_STAR, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1442), 1, + sym_parameter_list, + STATE(1495), 1, + sym__abstract_declarator, + ACTIONS(3103), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3345), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(3097), 9, + 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__Nonnull, + [47667] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2180), 1, + anon_sym_RBRACK, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + ACTIONS(3259), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [47736] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3347), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [47805] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + ACTIONS(3259), 1, + anon_sym_QMARK, + ACTIONS(3349), 1, + anon_sym_RBRACK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [47874] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3351), 1, + anon_sym_COLON, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [47943] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3353), 1, + anon_sym_COMMA, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [48012] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3355), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [48081] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2174), 1, + anon_sym_RBRACK, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + ACTIONS(3259), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [48150] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + anon_sym_const, + ACTIONS(1948), 1, + anon_sym_LPAREN2, + ACTIONS(1950), 1, + anon_sym_STAR, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1442), 1, + sym_parameter_list, + STATE(1474), 1, + sym__abstract_declarator, + ACTIONS(3103), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1087), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3357), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(3097), 9, + 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__Nonnull, + [48205] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2196), 1, + anon_sym_RBRACK, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + ACTIONS(3259), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [48274] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2192), 1, + anon_sym_RBRACK, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + ACTIONS(3259), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [48343] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2184), 1, + anon_sym_RBRACK, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + ACTIONS(3259), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [48412] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3359), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [48481] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2176), 1, + anon_sym_RBRACK, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3024), 1, + anon_sym_LPAREN2, + ACTIONS(3237), 1, + anon_sym_SLASH, + ACTIONS(3239), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3241), 1, + anon_sym_AMP_AMP, + ACTIONS(3243), 1, + anon_sym_PIPE, + ACTIONS(3245), 1, + anon_sym_CARET, + ACTIONS(3247), 1, + anon_sym_AMP, + ACTIONS(3259), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3233), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3235), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3249), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3251), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3253), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3255), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [48550] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3361), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [48619] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + ACTIONS(3363), 1, + anon_sym_COLON, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [48688] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3111), 1, + sym_identifier, + ACTIONS(3113), 1, + anon_sym_LPAREN2, + ACTIONS(3115), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1325), 1, + sym__field_declarator, + STATE(1953), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1395), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [48740] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3111), 1, + sym_identifier, + ACTIONS(3113), 1, + anon_sym_LPAREN2, + ACTIONS(3115), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1326), 1, + sym__field_declarator, + STATE(1953), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1395), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [48792] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3109), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1369), 1, + sym__declarator, + STATE(1992), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [48844] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3109), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1370), 1, + sym__declarator, + STATE(1992), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [48896] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1299), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [48948] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1300), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [49000] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3109), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1371), 1, + sym__declarator, + STATE(1992), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [49052] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(2459), 1, + anon_sym_LBRACK, + ACTIONS(3121), 1, + anon_sym_SLASH, + ACTIONS(3159), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3161), 1, + anon_sym_AMP_AMP, + ACTIONS(3163), 1, + anon_sym_PIPE, + ACTIONS(3165), 1, + anon_sym_CARET, + ACTIONS(3167), 1, + anon_sym_AMP, + ACTIONS(3171), 1, + anon_sym_QMARK, + STATE(676), 1, + sym_argument_list, + ACTIONS(2461), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(2463), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3117), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3119), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3123), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3125), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3127), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3169), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [49118] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1301), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [49170] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3111), 1, + sym_identifier, + ACTIONS(3113), 1, + anon_sym_LPAREN2, + ACTIONS(3115), 1, + anon_sym_STAR, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1327), 1, + sym__field_declarator, + STATE(1953), 1, + sym_ms_based_modifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + STATE(1395), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [49222] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3075), 1, + anon_sym_SEMI, + ACTIONS(1778), 7, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1772), 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, + [49258] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2515), 1, + anon_sym___based, + ACTIONS(3365), 1, + sym_identifier, + ACTIONS(3371), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1134), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2510), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(2519), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3368), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2512), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [49307] = 6, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2601), 2, + sym_primitive_type, + sym_identifier, + ACTIONS(2605), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2663), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(2660), 12, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + [49346] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2548), 1, + anon_sym___based, + ACTIONS(3374), 1, + sym_identifier, + ACTIONS(3380), 1, + sym_primitive_type, + STATE(720), 1, + sym_alignas_qualifier, + STATE(1143), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2543), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(2552), 2, + anon_sym_alignas, + anon_sym__Alignas, + STATE(1120), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3377), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2545), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [49395] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(720), 1, + sym_alignas_qualifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(3385), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3383), 7, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + sym_identifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [49435] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(720), 1, + sym_alignas_qualifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(3389), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + STATE(1125), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3387), 7, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + sym_identifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [49475] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(720), 1, + sym_alignas_qualifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(3393), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + STATE(672), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3391), 7, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + sym_identifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [49515] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(720), 1, + sym_alignas_qualifier, + ACTIONS(51), 2, + anon_sym_alignas, + anon_sym__Alignas, + ACTIONS(3397), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + STATE(1123), 2, + sym_type_qualifier, + aux_sym__type_definition_type_repeat1, + ACTIONS(3395), 7, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + sym_identifier, + ACTIONS(49), 10, + anon_sym___extension__, + anon_sym_const, + anon_sym_constexpr, + anon_sym_volatile, + anon_sym_restrict, + anon_sym___restrict__, + anon_sym__Atomic, + anon_sym__Noreturn, + anon_sym_noreturn, + anon_sym__Nonnull, + [49555] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1823), 1, + anon_sym_LPAREN2, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(2805), 1, + anon_sym_STAR, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(1329), 1, + sym__declarator, + STATE(1389), 1, + sym__abstract_declarator, + STATE(1442), 1, + sym_parameter_list, + STATE(1992), 1, + sym_ms_based_modifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(3399), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(1478), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [49611] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(1287), 1, + sym_ms_call_modifier, + STATE(1438), 1, + sym__type_declarator, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [49660] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2747), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(3401), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2745), 15, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [49694] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2668), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(3404), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2666), 15, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [49728] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2672), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(3407), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2670), 15, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [49762] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1140), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2676), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(3410), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2674), 15, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [49796] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1141), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2682), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(3413), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2680), 15, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [49830] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2688), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(3416), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2686), 15, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [49864] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2652), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(3419), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2650), 15, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [49898] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(653), 1, + sym__old_style_function_declarator, + STATE(1306), 1, + sym_ms_call_modifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1365), 1, + sym__declarator, + STATE(1446), 1, + sym__declaration_declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1597), 1, + sym_init_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [49952] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(649), 1, + sym__old_style_function_declarator, + STATE(1310), 1, + sym_ms_call_modifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1376), 1, + sym__declarator, + STATE(1445), 1, + sym__declaration_declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1586), 1, + sym_init_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [50006] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(652), 1, + sym__old_style_function_declarator, + STATE(1311), 1, + sym_function_declarator, + STATE(1316), 1, + sym_ms_call_modifier, + STATE(1374), 1, + sym__declarator, + STATE(1468), 1, + sym__declaration_declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1673), 1, + sym_init_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [50060] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(658), 1, + sym__old_style_function_declarator, + STATE(1311), 1, + sym_function_declarator, + STATE(1319), 1, + sym_ms_call_modifier, + STATE(1373), 1, + sym__declarator, + STATE(1459), 1, + sym__declaration_declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1644), 1, + sym_init_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [50114] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2755), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(3424), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2753), 15, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [50148] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2759), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(3427), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2757), 15, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [50182] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1135), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2692), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(3430), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2690), 15, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [50216] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(736), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2663), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(3433), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2660), 15, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [50250] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1786), 1, + anon_sym_STAR, + ACTIONS(2738), 1, + anon_sym_LPAREN2, + STATE(1129), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3437), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(1770), 15, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [50286] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3442), 1, + anon_sym_LPAREN2, + STATE(1012), 1, + sym_preproc_argument_list, + ACTIONS(3444), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3440), 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, + [50320] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1130), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2642), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(3446), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2640), 15, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [50354] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1131), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2698), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(3449), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2696), 15, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + sym_primitive_type, + sym_identifier, + [50388] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1306), 1, + sym_ms_call_modifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1394), 1, + sym__declarator, + STATE(1446), 1, + sym__declaration_declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1597), 1, + sym_init_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [50439] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1318), 1, + sym_ms_call_modifier, + STATE(1445), 1, + sym__declaration_declarator, + STATE(1469), 1, + sym__declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1586), 1, + sym_init_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [50490] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3452), 1, + anon_sym_COMMA, + ACTIONS(3454), 1, + anon_sym_RPAREN, + ACTIONS(3460), 1, + anon_sym_SLASH, + ACTIONS(3462), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3464), 1, + anon_sym_AMP_AMP, + ACTIONS(3466), 1, + anon_sym_PIPE, + ACTIONS(3468), 1, + anon_sym_CARET, + ACTIONS(3470), 1, + anon_sym_AMP, + STATE(1619), 1, + aux_sym_preproc_argument_list_repeat1, + ACTIONS(3456), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3458), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3472), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3474), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3476), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3478), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [50545] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3452), 1, + anon_sym_COMMA, + ACTIONS(3460), 1, + anon_sym_SLASH, + ACTIONS(3462), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3464), 1, + anon_sym_AMP_AMP, + ACTIONS(3466), 1, + anon_sym_PIPE, + ACTIONS(3468), 1, + anon_sym_CARET, + ACTIONS(3470), 1, + anon_sym_AMP, + ACTIONS(3480), 1, + anon_sym_RPAREN, + STATE(1604), 1, + aux_sym_preproc_argument_list_repeat1, + ACTIONS(3456), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3458), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3472), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3474), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3476), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3478), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [50600] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1320), 1, + sym_ms_call_modifier, + STATE(1459), 1, + sym__declaration_declarator, + STATE(1469), 1, + sym__declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1644), 1, + sym_init_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [50651] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1319), 1, + sym_ms_call_modifier, + STATE(1402), 1, + sym__declarator, + STATE(1459), 1, + sym__declaration_declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1644), 1, + sym_init_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [50702] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1323), 1, + sym_ms_call_modifier, + STATE(1446), 1, + sym__declaration_declarator, + STATE(1469), 1, + sym__declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1597), 1, + sym_init_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [50753] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(2917), 1, + anon_sym_const, + ACTIONS(2924), 1, + anon_sym_LBRACE, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(3484), 1, + anon_sym_COLON, + STATE(774), 1, + sym_attribute_specifier, + STATE(1044), 1, + sym_enumerator_list, + ACTIONS(2919), 14, + 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__Nonnull, + anon_sym_alignas, + anon_sym__Alignas, + [50794] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1309), 1, + sym_ms_call_modifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1469), 1, + sym__declarator, + STATE(1494), 1, + sym__declaration_declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1740), 1, + sym_init_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [50845] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3452), 1, + anon_sym_COMMA, + ACTIONS(3460), 1, + anon_sym_SLASH, + ACTIONS(3462), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3464), 1, + anon_sym_AMP_AMP, + ACTIONS(3466), 1, + anon_sym_PIPE, + ACTIONS(3468), 1, + anon_sym_CARET, + ACTIONS(3470), 1, + anon_sym_AMP, + ACTIONS(3487), 1, + anon_sym_RPAREN, + STATE(1582), 1, + aux_sym_preproc_argument_list_repeat1, + ACTIONS(3456), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3458), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3472), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3474), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3476), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3478), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [50900] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1322), 1, + sym_ms_call_modifier, + STATE(1468), 1, + sym__declaration_declarator, + STATE(1469), 1, + sym__declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1673), 1, + sym_init_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [50951] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1312), 1, + sym_ms_call_modifier, + STATE(1457), 1, + sym__declaration_declarator, + STATE(1469), 1, + sym__declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1635), 1, + sym_init_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [51002] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1307), 1, + sym_ms_call_modifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1453), 1, + sym__declaration_declarator, + STATE(1469), 1, + sym__declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1620), 1, + sym_init_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [51053] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3491), 1, + anon_sym_RPAREN, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3501), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1150), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [51096] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1310), 1, + sym_ms_call_modifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1404), 1, + sym__declarator, + STATE(1445), 1, + sym__declaration_declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1586), 1, + sym_init_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [51147] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3505), 1, + anon_sym_RPAREN, + ACTIONS(3507), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1151), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [51190] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3509), 1, + anon_sym_RPAREN, + ACTIONS(3511), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1157), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [51233] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1316), 1, + sym_ms_call_modifier, + STATE(1378), 1, + sym__declarator, + STATE(1468), 1, + sym__declaration_declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1673), 1, + sym_init_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [51284] = 5, + ACTIONS(3440), 1, + anon_sym_LF, + ACTIONS(3513), 1, + anon_sym_LPAREN2, + ACTIONS(3515), 1, + sym_comment, + STATE(1240), 1, + sym_preproc_argument_list, + ACTIONS(3444), 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, + [51317] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3517), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1202), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [51357] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2413), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2415), 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, + [51385] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3521), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3519), 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, + [51413] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3533), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1226), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [51453] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3460), 1, + anon_sym_SLASH, + ACTIONS(3464), 1, + anon_sym_AMP_AMP, + ACTIONS(3466), 1, + anon_sym_PIPE, + ACTIONS(3468), 1, + anon_sym_CARET, + ACTIONS(3470), 1, + anon_sym_AMP, + ACTIONS(3456), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3458), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3472), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3474), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3476), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3478), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3519), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + [51501] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3537), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1239), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [51541] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3539), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1178), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [51581] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3541), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1250), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [51621] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3543), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1241), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [51661] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3547), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3545), 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, + [51689] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3549), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1220), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [51729] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3460), 1, + anon_sym_SLASH, + ACTIONS(3466), 1, + anon_sym_PIPE, + ACTIONS(3468), 1, + anon_sym_CARET, + ACTIONS(3470), 1, + anon_sym_AMP, + ACTIONS(3456), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3458), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3472), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3474), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3476), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3478), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3519), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [51775] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3551), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1251), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [51815] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3460), 1, + anon_sym_SLASH, + ACTIONS(3462), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3464), 1, + anon_sym_AMP_AMP, + ACTIONS(3466), 1, + anon_sym_PIPE, + ACTIONS(3468), 1, + anon_sym_CARET, + ACTIONS(3470), 1, + anon_sym_AMP, + ACTIONS(3456), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3458), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3472), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3474), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3476), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3478), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3553), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [51865] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3555), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1227), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [51905] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3460), 1, + anon_sym_SLASH, + ACTIONS(3468), 1, + anon_sym_CARET, + ACTIONS(3470), 1, + anon_sym_AMP, + ACTIONS(3521), 1, + anon_sym_PIPE, + ACTIONS(3456), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3458), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3472), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3474), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3476), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3478), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3519), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [51951] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3557), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1222), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [51991] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3460), 1, + anon_sym_SLASH, + ACTIONS(3470), 1, + anon_sym_AMP, + ACTIONS(3521), 1, + anon_sym_PIPE, + ACTIONS(3456), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3458), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3472), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3474), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3476), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3478), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3519), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [52035] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3559), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1242), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52075] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3561), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1187), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52115] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3460), 1, + anon_sym_SLASH, + ACTIONS(3456), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3458), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3472), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3474), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3476), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3478), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3521), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(3519), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [52157] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3563), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1228), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52197] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3460), 1, + anon_sym_SLASH, + ACTIONS(3456), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3458), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3474), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3476), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3478), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3521), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(3519), 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, + [52237] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3567), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3565), 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, + [52265] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3569), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1238), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52305] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3571), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1189), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52345] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3573), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1180), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52385] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3575), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1237), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52425] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3577), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1229), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52465] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3579), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1233), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52505] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3581), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1205), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52545] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3583), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1176), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52585] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3585), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1235), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52625] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3587), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1260), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52665] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3589), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1230), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52705] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3460), 1, + anon_sym_SLASH, + ACTIONS(3456), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3458), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3478), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3521), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3519), 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, + [52741] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3591), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1225), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52781] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3593), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1253), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52821] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3460), 1, + anon_sym_SLASH, + ACTIONS(3456), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3458), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3521), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3519), 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, + [52855] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3595), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1254), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52895] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3597), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1231), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52935] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3599), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1171), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [52975] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3601), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1236), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [53015] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3603), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1257), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [53055] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3605), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1258), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [53095] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3607), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1224), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [53135] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3611), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3609), 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, + [53163] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3613), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1223), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [53203] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3615), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1232), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [53243] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3617), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1182), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [53283] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3619), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1184), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [53323] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3623), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3621), 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, + [53351] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 1, + sym_identifier, + ACTIONS(3493), 1, + anon_sym_LPAREN2, + ACTIONS(3495), 1, + anon_sym_defined, + ACTIONS(3625), 1, + sym_number_literal, + ACTIONS(3497), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3499), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3503), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1169), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [53391] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3460), 1, + anon_sym_SLASH, + ACTIONS(3458), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3521), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3519), 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, + [53423] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3523), 1, + sym_identifier, + ACTIONS(3525), 1, + anon_sym_LPAREN2, + ACTIONS(3527), 1, + anon_sym_defined, + ACTIONS(3627), 1, + sym_number_literal, + ACTIONS(3529), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(3531), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3535), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(1248), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [53463] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3460), 1, + anon_sym_SLASH, + ACTIONS(3462), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3464), 1, + anon_sym_AMP_AMP, + ACTIONS(3466), 1, + anon_sym_PIPE, + ACTIONS(3468), 1, + anon_sym_CARET, + ACTIONS(3470), 1, + anon_sym_AMP, + ACTIONS(3629), 1, + anon_sym_RPAREN, + ACTIONS(3456), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3458), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3472), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3474), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3476), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3478), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [53512] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3519), 1, + anon_sym_LF, + ACTIONS(3521), 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, + [53539] = 12, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3519), 1, + anon_sym_LF, + ACTIONS(3521), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3635), 1, + anon_sym_AMP_AMP, + ACTIONS(3637), 1, + anon_sym_PIPE, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [53584] = 11, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3519), 1, + anon_sym_LF, + ACTIONS(3637), 1, + anon_sym_PIPE, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3521), 2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [53627] = 10, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3519), 1, + anon_sym_LF, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3521), 3, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [53668] = 9, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3519), 1, + anon_sym_LF, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3521), 4, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [53707] = 8, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3519), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(3521), 5, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + [53744] = 7, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3519), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(3521), 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, + [53779] = 6, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3519), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3521), 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, + [53812] = 5, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3519), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3521), 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, + [53843] = 12, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3635), 1, + anon_sym_AMP_AMP, + ACTIONS(3637), 1, + anon_sym_PIPE, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3649), 1, + anon_sym_LF, + ACTIONS(3651), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [53888] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3460), 1, + anon_sym_SLASH, + ACTIONS(3462), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3464), 1, + anon_sym_AMP_AMP, + ACTIONS(3466), 1, + anon_sym_PIPE, + ACTIONS(3468), 1, + anon_sym_CARET, + ACTIONS(3470), 1, + anon_sym_AMP, + ACTIONS(3653), 1, + anon_sym_RPAREN, + ACTIONS(3456), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3458), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(3472), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3474), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(3476), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(3478), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [53937] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3621), 1, + anon_sym_LF, + ACTIONS(3623), 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, + [53964] = 12, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3635), 1, + anon_sym_AMP_AMP, + ACTIONS(3637), 1, + anon_sym_PIPE, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3651), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3655), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [54009] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3545), 1, + anon_sym_LF, + ACTIONS(3547), 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, + [54036] = 12, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3635), 1, + anon_sym_AMP_AMP, + ACTIONS(3637), 1, + anon_sym_PIPE, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3651), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3657), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [54081] = 4, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3519), 1, + anon_sym_LF, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3521), 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, + [54110] = 12, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3635), 1, + anon_sym_AMP_AMP, + ACTIONS(3637), 1, + anon_sym_PIPE, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3651), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3659), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [54155] = 3, + ACTIONS(3203), 1, + anon_sym_LF, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3201), 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, + [54182] = 12, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3635), 1, + anon_sym_AMP_AMP, + ACTIONS(3637), 1, + anon_sym_PIPE, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3651), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3661), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [54227] = 12, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3635), 1, + anon_sym_AMP_AMP, + ACTIONS(3637), 1, + anon_sym_PIPE, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3651), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3663), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [54272] = 3, + ACTIONS(2415), 1, + anon_sym_LF, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(2413), 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, + [54299] = 3, + ACTIONS(3199), 1, + anon_sym_LF, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3197), 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, + [54326] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3565), 1, + anon_sym_LF, + ACTIONS(3567), 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, + [54353] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(662), 1, + sym__old_style_function_declarator, + STATE(1354), 1, + sym_ms_call_modifier, + STATE(1393), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [54396] = 3, + ACTIONS(3193), 1, + anon_sym_LF, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3191), 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, + [54423] = 12, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3635), 1, + anon_sym_AMP_AMP, + ACTIONS(3637), 1, + anon_sym_PIPE, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3651), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3665), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [54468] = 3, + ACTIONS(3189), 1, + anon_sym_LF, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3187), 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, + [54495] = 12, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3635), 1, + anon_sym_AMP_AMP, + ACTIONS(3637), 1, + anon_sym_PIPE, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3651), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3667), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [54540] = 12, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3635), 1, + anon_sym_AMP_AMP, + ACTIONS(3637), 1, + anon_sym_PIPE, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3651), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3669), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [54585] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(659), 1, + sym__old_style_function_declarator, + STATE(1349), 1, + sym_ms_call_modifier, + STATE(1381), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [54628] = 12, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3635), 1, + anon_sym_AMP_AMP, + ACTIONS(3637), 1, + anon_sym_PIPE, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3651), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3671), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [54673] = 12, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3635), 1, + anon_sym_AMP_AMP, + ACTIONS(3637), 1, + anon_sym_PIPE, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3651), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3673), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [54718] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(655), 1, + sym__old_style_function_declarator, + STATE(1355), 1, + sym_ms_call_modifier, + STATE(1400), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [54761] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3609), 1, + anon_sym_LF, + ACTIONS(3611), 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, + [54788] = 12, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3635), 1, + anon_sym_AMP_AMP, + ACTIONS(3637), 1, + anon_sym_PIPE, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3651), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3675), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [54833] = 12, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3635), 1, + anon_sym_AMP_AMP, + ACTIONS(3637), 1, + anon_sym_PIPE, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3651), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3677), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [54878] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(648), 1, + sym__old_style_function_declarator, + STATE(1358), 1, + sym_ms_call_modifier, + STATE(1401), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [54921] = 12, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(3635), 1, + anon_sym_AMP_AMP, + ACTIONS(3637), 1, + anon_sym_PIPE, + ACTIONS(3639), 1, + anon_sym_CARET, + ACTIONS(3641), 1, + anon_sym_AMP, + ACTIONS(3651), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3679), 1, + anon_sym_LF, + ACTIONS(3631), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(3643), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(3647), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(3633), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(3645), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [54966] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(1355), 1, + sym_ms_call_modifier, + STATE(1416), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [55006] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(1358), 1, + sym_ms_call_modifier, + STATE(1435), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [55046] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3681), 1, + sym_identifier, + ACTIONS(3685), 1, + anon_sym_LBRACK, + STATE(1275), 1, + sym_gnu_asm_expression, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + STATE(1273), 3, + sym_preproc_call_expression, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(3683), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [55082] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(1338), 1, + sym_ms_call_modifier, + STATE(1454), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [55122] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3111), 1, + sym_identifier, + ACTIONS(3113), 1, + anon_sym_LPAREN2, + ACTIONS(3115), 1, + anon_sym_STAR, + STATE(1356), 1, + sym_ms_call_modifier, + STATE(1470), 1, + sym__field_declarator, + STATE(1953), 1, + sym_ms_based_modifier, + STATE(1395), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [55162] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1823), 1, + anon_sym_LPAREN2, + ACTIONS(1825), 1, + anon_sym_STAR, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(1442), 1, + sym_parameter_list, + STATE(1443), 1, + sym__declarator, + STATE(1547), 1, + sym__abstract_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [55206] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(1354), 1, + sym_ms_call_modifier, + STATE(1412), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [55246] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3681), 1, + sym_identifier, + ACTIONS(3685), 1, + anon_sym_LBRACK, + STATE(1272), 1, + sym_gnu_asm_expression, + STATE(1313), 1, + sym_attribute_specifier, + STATE(1396), 1, + aux_sym_type_definition_repeat1, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(3687), 2, + anon_sym_COMMA, + anon_sym_SEMI, + STATE(1273), 2, + sym_preproc_call_expression, + aux_sym_function_declarator_repeat1, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(3683), 4, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [55288] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(1349), 1, + sym_ms_call_modifier, + STATE(1408), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + ACTIONS(41), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + [55328] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3689), 1, + sym_identifier, + ACTIONS(3694), 2, + anon_sym___attribute__, + anon_sym___attribute, + STATE(1270), 3, + sym_preproc_call_expression, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(3697), 4, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(3692), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [55359] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(1350), 1, + sym__type_declarator, + STATE(1523), 1, + sym__type_definition_declarators, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [55400] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3681), 1, + sym_identifier, + ACTIONS(3703), 1, + anon_sym_LBRACK, + STATE(1313), 1, + sym_attribute_specifier, + STATE(1380), 1, + aux_sym_type_definition_repeat1, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(3699), 2, + anon_sym_COMMA, + anon_sym_SEMI, + STATE(1281), 2, + sym_preproc_call_expression, + aux_sym_function_declarator_repeat1, + ACTIONS(3705), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(3701), 4, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [55439] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3681), 1, + sym_identifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + STATE(1270), 3, + sym_preproc_call_expression, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(3703), 4, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(3701), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [55470] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(1350), 1, + sym__type_declarator, + STATE(1510), 1, + sym__type_definition_declarators, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [55511] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3681), 1, + sym_identifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + STATE(1281), 3, + sym_preproc_call_expression, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(3703), 4, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(3701), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [55542] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(1350), 1, + sym__type_declarator, + STATE(1499), 1, + sym__type_definition_declarators, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [55583] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(1350), 1, + sym__type_declarator, + STATE(1501), 1, + sym__type_definition_declarators, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [55624] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(1350), 1, + sym__type_declarator, + STATE(1503), 1, + sym__type_definition_declarators, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [55665] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(1350), 1, + sym__type_declarator, + STATE(1508), 1, + sym__type_definition_declarators, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [55706] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(1350), 1, + sym__type_declarator, + STATE(1519), 1, + sym__type_definition_declarators, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [55747] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3681), 1, + sym_identifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + STATE(1270), 3, + sym_preproc_call_expression, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(3709), 4, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(3707), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [55778] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(1350), 1, + sym__type_declarator, + STATE(1522), 1, + sym__type_definition_declarators, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [55819] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3111), 1, + sym_identifier, + ACTIONS(3113), 1, + anon_sym_LPAREN2, + ACTIONS(3115), 1, + anon_sym_STAR, + ACTIONS(3711), 1, + anon_sym_SEMI, + STATE(1303), 1, + sym__field_declarator, + STATE(1543), 1, + sym__field_declaration_declarator, + STATE(1921), 1, + sym_attribute_specifier, + STATE(1953), 1, + sym_ms_based_modifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + STATE(1395), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [55861] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3111), 1, + sym_identifier, + ACTIONS(3113), 1, + anon_sym_LPAREN2, + ACTIONS(3115), 1, + anon_sym_STAR, + ACTIONS(3713), 1, + anon_sym_SEMI, + STATE(1303), 1, + sym__field_declarator, + STATE(1533), 1, + sym__field_declaration_declarator, + STATE(1929), 1, + sym_attribute_specifier, + STATE(1953), 1, + sym_ms_based_modifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + STATE(1395), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [55903] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3719), 1, + anon_sym_LBRACK_LBRACK, + STATE(1285), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3717), 3, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym___asm, + ACTIONS(3715), 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__, + [55931] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3111), 1, + sym_identifier, + ACTIONS(3113), 1, + anon_sym_LPAREN2, + ACTIONS(3115), 1, + anon_sym_STAR, + ACTIONS(3722), 1, + anon_sym_SEMI, + STATE(1303), 1, + sym__field_declarator, + STATE(1568), 1, + sym__field_declaration_declarator, + STATE(1886), 1, + sym_attribute_specifier, + STATE(1953), 1, + sym_ms_based_modifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + STATE(1395), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [55973] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(1461), 1, + sym__type_declarator, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [56011] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3010), 1, + sym_identifier, + ACTIONS(3012), 1, + anon_sym_LPAREN2, + ACTIONS(3014), 1, + anon_sym_STAR, + ACTIONS(3018), 1, + sym_primitive_type, + STATE(1363), 1, + sym__type_declarator, + STATE(1810), 1, + sym_ms_based_modifier, + ACTIONS(3016), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1421), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [56049] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3442), 1, + anon_sym_LPAREN2, + STATE(1012), 1, + sym_preproc_argument_list, + ACTIONS(3726), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + ACTIONS(3724), 7, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_identifier, + [56076] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2891), 7, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_identifier, + ACTIONS(2884), 8, + 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, + [56099] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3728), 1, + sym_identifier, + ACTIONS(3730), 1, + aux_sym_preproc_if_token2, + ACTIONS(3732), 1, + aux_sym_preproc_else_token1, + ACTIONS(3734), 1, + aux_sym_preproc_elif_token1, + STATE(1332), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1359), 1, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1463), 1, + sym_enumerator, + ACTIONS(3736), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(2012), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + STATE(2015), 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, + [56138] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3728), 1, + sym_identifier, + ACTIONS(3732), 1, + aux_sym_preproc_else_token1, + ACTIONS(3734), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3738), 1, + aux_sym_preproc_if_token2, + STATE(1342), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1343), 1, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1463), 1, + sym_enumerator, + ACTIONS(3736), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1835), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + STATE(1836), 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, + [56177] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3728), 1, + sym_identifier, + ACTIONS(3732), 1, + aux_sym_preproc_else_token1, + ACTIONS(3734), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3740), 1, + aux_sym_preproc_if_token2, + STATE(1340), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1341), 1, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1463), 1, + sym_enumerator, + ACTIONS(3736), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1926), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + STATE(1927), 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, + [56216] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3728), 1, + sym_identifier, + ACTIONS(3732), 1, + aux_sym_preproc_else_token1, + ACTIONS(3734), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3742), 1, + aux_sym_preproc_if_token2, + STATE(1352), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1353), 1, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1463), 1, + sym_enumerator, + ACTIONS(3736), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1896), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + STATE(1897), 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, + [56255] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + STATE(1285), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3746), 3, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym___asm, + ACTIONS(3744), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [56282] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3681), 1, + sym_identifier, + ACTIONS(3685), 1, + anon_sym_LBRACK, + STATE(1351), 1, + sym_gnu_asm_expression, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(93), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + STATE(1333), 3, + sym_preproc_call_expression, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(3683), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + [56315] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2942), 7, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_identifier, + ACTIONS(2935), 8, + 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, + [56338] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3748), 7, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + sym_identifier, + ACTIONS(3750), 8, + 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, + [56361] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3758), 1, + anon_sym___asm, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3752), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [56393] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3762), 1, + anon_sym___asm, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3760), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [56425] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3766), 1, + anon_sym___asm, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3764), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [56457] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3770), 1, + anon_sym___asm, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3768), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [56489] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3772), 1, + anon_sym_COMMA, + ACTIONS(3776), 1, + anon_sym___attribute, + ACTIONS(3778), 1, + anon_sym_LBRACK, + ACTIONS(3780), 1, + anon_sym_COLON, + STATE(1403), 1, + sym_parameter_list, + STATE(1524), 1, + sym_bitfield_clause, + STATE(1526), 1, + aux_sym__field_declaration_declarator_repeat1, + ACTIONS(3774), 2, + anon_sym_SEMI, + anon_sym___attribute__, + STATE(1362), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [56528] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3784), 3, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym___asm, + ACTIONS(3782), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [56549] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3788), 3, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym___asm, + ACTIONS(3786), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [56570] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1407), 1, + sym__declarator, + STATE(1462), 1, + sym__declaration_declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + [56607] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1455), 1, + sym__declaration_declarator, + STATE(1481), 1, + sym__declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + [56644] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3792), 3, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym___asm, + ACTIONS(3790), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [56665] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1475), 1, + sym__declaration_declarator, + STATE(1481), 1, + sym__declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + [56702] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1411), 1, + sym__declarator, + STATE(1448), 1, + sym__declaration_declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + [56739] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3796), 3, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym___asm, + ACTIONS(3794), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [56760] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1458), 1, + sym__declaration_declarator, + STATE(1481), 1, + sym__declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + [56797] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3724), 2, + anon_sym_LBRACK, + sym_identifier, + ACTIONS(3798), 2, + anon_sym_COMMA, + anon_sym_SEMI, + ACTIONS(3800), 2, + anon_sym___attribute__, + anon_sym___attribute, + ACTIONS(3803), 3, + anon_sym_asm, + anon_sym___asm__, + anon_sym___asm, + ACTIONS(3726), 4, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [56824] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3807), 3, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym___asm, + ACTIONS(3805), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [56845] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3811), 3, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym___asm, + ACTIONS(3809), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [56866] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1428), 1, + sym__declarator, + STATE(1440), 1, + sym__declaration_declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + [56903] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(3813), 1, + sym_identifier, + ACTIONS(3815), 1, + aux_sym_preproc_if_token1, + ACTIONS(3819), 1, + anon_sym_RBRACE, + ACTIONS(3817), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1696), 2, + sym_preproc_call, + sym_enumerator, + STATE(1862), 2, + sym_preproc_if_in_enumerator_list_no_comma, + sym_preproc_ifdef_in_enumerator_list_no_comma, + STATE(1334), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [56936] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1448), 1, + sym__declaration_declarator, + STATE(1481), 1, + sym__declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + [56973] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1425), 1, + sym__declarator, + STATE(1460), 1, + sym__declaration_declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + [57010] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1460), 1, + sym__declaration_declarator, + STATE(1481), 1, + sym__declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + [57047] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3823), 3, + anon_sym___attribute, + anon_sym_LBRACK, + anon_sym___asm, + ACTIONS(3821), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_asm, + anon_sym___asm__, + [57068] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1440), 1, + sym__declaration_declarator, + STATE(1481), 1, + sym__declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + [57105] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + ACTIONS(3422), 1, + sym_identifier, + STATE(1311), 1, + sym_function_declarator, + STATE(1462), 1, + sym__declaration_declarator, + STATE(1481), 1, + sym__declarator, + STATE(1512), 1, + sym__function_declaration_declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1375), 4, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + [57142] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + sym_preproc_directive, + ACTIONS(3813), 1, + sym_identifier, + ACTIONS(3815), 1, + aux_sym_preproc_if_token1, + ACTIONS(3825), 1, + anon_sym_RBRACE, + ACTIONS(3817), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1768), 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, + [57175] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3778), 1, + anon_sym_LBRACK, + ACTIONS(3829), 1, + anon_sym___attribute, + STATE(1403), 1, + sym_parameter_list, + STATE(1362), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3827), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_COLON, + [57205] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3778), 1, + anon_sym_LBRACK, + ACTIONS(3833), 1, + anon_sym___attribute, + STATE(1403), 1, + sym_parameter_list, + STATE(1362), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3831), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_COLON, + [57235] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3778), 1, + anon_sym_LBRACK, + ACTIONS(3837), 1, + anon_sym___attribute, + STATE(1403), 1, + sym_parameter_list, + STATE(1362), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3835), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_COLON, + [57265] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3778), 1, + anon_sym_LBRACK, + ACTIONS(3780), 1, + anon_sym_COLON, + ACTIONS(3841), 1, + anon_sym___attribute, + STATE(1403), 1, + sym_parameter_list, + STATE(1552), 1, + sym_bitfield_clause, + STATE(1362), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3839), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + [57299] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + STATE(1296), 1, + sym_parameter_list, + ACTIONS(3843), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(1491), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [57333] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3778), 1, + anon_sym_LBRACK, + ACTIONS(3847), 1, + anon_sym___attribute, + STATE(1403), 1, + sym_parameter_list, + STATE(1362), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3845), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_COLON, + [57363] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3849), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + ACTIONS(3851), 2, + anon_sym_RPAREN, + anon_sym_COLON, + STATE(1566), 2, + sym__string, + sym_concatenated_string, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [57388] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3813), 1, + sym_identifier, + ACTIONS(3853), 1, + aux_sym_preproc_if_token2, + ACTIONS(3855), 1, + aux_sym_preproc_else_token1, + ACTIONS(3857), 1, + aux_sym_preproc_elif_token1, + STATE(1415), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1900), 1, + sym_enumerator, + ACTIONS(3859), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1775), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [57419] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3681), 1, + sym_identifier, + ACTIONS(3703), 3, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + STATE(1270), 3, + sym_preproc_call_expression, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(3701), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + [57442] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3861), 1, + sym_identifier, + ACTIONS(3864), 1, + aux_sym_preproc_if_token1, + ACTIONS(3870), 1, + sym_preproc_directive, + ACTIONS(3873), 1, + anon_sym_RBRACE, + ACTIONS(3867), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1905), 2, + sym_preproc_call, + sym_enumerator, + STATE(1334), 3, + sym_preproc_if_in_enumerator_list, + sym_preproc_ifdef_in_enumerator_list, + aux_sym_enumerator_list_repeat1, + [57471] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3877), 1, + anon_sym___attribute, + ACTIONS(3879), 1, + anon_sym_LBRACK, + STATE(1410), 1, + sym_parameter_list, + STATE(1366), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3875), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + [57500] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3728), 1, + sym_identifier, + ACTIONS(3881), 1, + aux_sym_preproc_if_token2, + ACTIONS(3883), 1, + aux_sym_preproc_else_token1, + ACTIONS(3885), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3887), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1359), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(2015), 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, + [57529] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3879), 1, + anon_sym_LBRACK, + ACTIONS(3891), 1, + anon_sym___attribute, + STATE(1410), 1, + sym_parameter_list, + STATE(1366), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3889), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + [57558] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(1443), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [57587] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3681), 1, + sym_identifier, + ACTIONS(3709), 3, + anon_sym___attribute__, + anon_sym___attribute, + anon_sym_LBRACK, + STATE(1270), 3, + sym_preproc_call_expression, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(3707), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + [57610] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3813), 1, + sym_identifier, + ACTIONS(3855), 1, + aux_sym_preproc_else_token1, + ACTIONS(3857), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3893), 1, + aux_sym_preproc_if_token2, + STATE(1415), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1900), 1, + sym_enumerator, + ACTIONS(3859), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1870), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [57641] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3728), 1, + sym_identifier, + ACTIONS(3883), 1, + aux_sym_preproc_else_token1, + ACTIONS(3885), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3895), 1, + aux_sym_preproc_if_token2, + ACTIONS(3887), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1427), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1954), 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, + [57670] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3813), 1, + sym_identifier, + ACTIONS(3855), 1, + aux_sym_preproc_else_token1, + ACTIONS(3857), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3897), 1, + aux_sym_preproc_if_token2, + STATE(1415), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1900), 1, + sym_enumerator, + ACTIONS(3859), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1776), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [57701] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3728), 1, + sym_identifier, + ACTIONS(3883), 1, + aux_sym_preproc_else_token1, + ACTIONS(3885), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3899), 1, + aux_sym_preproc_if_token2, + ACTIONS(3887), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1427), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1986), 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, + [57730] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3738), 1, + aux_sym_preproc_if_token2, + ACTIONS(3813), 1, + sym_identifier, + ACTIONS(3855), 1, + aux_sym_preproc_else_token1, + ACTIONS(3857), 1, + aux_sym_preproc_elif_token1, + STATE(1342), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1900), 1, + sym_enumerator, + ACTIONS(3859), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1835), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [57761] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3879), 1, + anon_sym_LBRACK, + ACTIONS(3903), 1, + anon_sym___attribute, + STATE(1410), 1, + sym_parameter_list, + STATE(1366), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3901), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + [57790] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3728), 1, + sym_identifier, + ACTIONS(3883), 1, + aux_sym_preproc_else_token1, + ACTIONS(3885), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3905), 1, + aux_sym_preproc_if_token2, + ACTIONS(3887), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1343), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1836), 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, + [57819] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3813), 1, + sym_identifier, + ACTIONS(3855), 1, + aux_sym_preproc_else_token1, + ACTIONS(3857), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3907), 1, + aux_sym_preproc_if_token2, + STATE(1352), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1900), 1, + sym_enumerator, + ACTIONS(3859), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1896), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [57850] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3813), 1, + sym_identifier, + ACTIONS(3855), 1, + aux_sym_preproc_else_token1, + ACTIONS(3857), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3909), 1, + aux_sym_preproc_if_token2, + STATE(1340), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1900), 1, + sym_enumerator, + ACTIONS(3859), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1926), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [57881] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(1406), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [57910] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3879), 1, + anon_sym_LBRACK, + ACTIONS(3911), 1, + anon_sym_COMMA, + ACTIONS(3915), 1, + anon_sym___attribute, + STATE(1410), 1, + sym_parameter_list, + STATE(1518), 1, + aux_sym__type_definition_declarators_repeat1, + ACTIONS(3913), 2, + anon_sym_SEMI, + anon_sym___attribute__, + STATE(1366), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [57943] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3681), 1, + sym_identifier, + ACTIONS(3703), 1, + anon_sym_LBRACK, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + STATE(1339), 3, + sym_preproc_call_expression, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(3701), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + [57968] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3813), 1, + sym_identifier, + ACTIONS(3855), 1, + aux_sym_preproc_else_token1, + ACTIONS(3857), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3917), 1, + aux_sym_preproc_if_token2, + STATE(1415), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1900), 1, + sym_enumerator, + ACTIONS(3859), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1899), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [57999] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3728), 1, + sym_identifier, + ACTIONS(3883), 1, + aux_sym_preproc_else_token1, + ACTIONS(3885), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3919), 1, + aux_sym_preproc_if_token2, + ACTIONS(3887), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1427), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1934), 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, + [58028] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(1422), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [58057] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(1433), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [58086] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3111), 1, + sym_identifier, + ACTIONS(3113), 1, + anon_sym_LPAREN2, + ACTIONS(3115), 1, + anon_sym_STAR, + STATE(1439), 1, + sym__field_declarator, + STATE(1953), 1, + sym_ms_based_modifier, + STATE(1395), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [58115] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3879), 1, + anon_sym_LBRACK, + ACTIONS(3923), 1, + anon_sym___attribute, + STATE(1410), 1, + sym_parameter_list, + STATE(1366), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3921), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym___attribute__, + [58144] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(2801), 1, + sym_identifier, + ACTIONS(3105), 1, + anon_sym_LPAREN2, + ACTIONS(3107), 1, + anon_sym_STAR, + STATE(1434), 1, + sym__declarator, + STATE(1967), 1, + sym_ms_based_modifier, + STATE(1311), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [58173] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3728), 1, + sym_identifier, + ACTIONS(3883), 1, + aux_sym_preproc_else_token1, + ACTIONS(3885), 1, + aux_sym_preproc_elif_token1, + ACTIONS(3925), 1, + aux_sym_preproc_if_token2, + ACTIONS(3887), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(1427), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + STATE(1903), 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, + [58202] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3730), 1, + aux_sym_preproc_if_token2, + ACTIONS(3813), 1, + sym_identifier, + ACTIONS(3855), 1, + aux_sym_preproc_else_token1, + ACTIONS(3857), 1, + aux_sym_preproc_elif_token1, + STATE(1332), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1900), 1, + sym_enumerator, + ACTIONS(3859), 2, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + STATE(2012), 3, + sym_preproc_else_in_enumerator_list, + sym_preproc_elif_in_enumerator_list, + sym_preproc_elifdef_in_enumerator_list, + [58233] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1827), 1, + anon_sym___based, + ACTIONS(3111), 1, + sym_identifier, + ACTIONS(3113), 1, + anon_sym_LPAREN2, + ACTIONS(3115), 1, + anon_sym_STAR, + STATE(1328), 1, + sym__field_declarator, + STATE(1953), 1, + sym_ms_based_modifier, + STATE(1395), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [58262] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3929), 2, + anon_sym___attribute, + anon_sym_LBRACK, + STATE(1285), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3927), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_COLON, + [58285] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3879), 1, + anon_sym_LBRACK, + ACTIONS(3933), 1, + anon_sym___attribute, + STATE(1410), 1, + sym_parameter_list, + STATE(1366), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3931), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + [58313] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3937), 1, + anon_sym_LBRACK, + STATE(1532), 1, + sym_gnu_asm_output_operand, + STATE(1963), 1, + sym_string_literal, + ACTIONS(3935), 2, + anon_sym_RPAREN, + anon_sym_COLON, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [58337] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3939), 1, + anon_sym_LPAREN2, + ACTIONS(3941), 1, + anon_sym_EQ, + STATE(320), 1, + sym_compound_statement, + STATE(945), 1, + sym__old_style_parameter_list, + STATE(1268), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [58369] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3945), 2, + anon_sym___attribute, + anon_sym_LBRACK, + STATE(1285), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3943), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + [58391] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3949), 1, + anon_sym___attribute__, + ACTIONS(3952), 1, + anon_sym___attribute, + ACTIONS(3955), 1, + anon_sym___asm, + STATE(1367), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + ACTIONS(3947), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_asm, + anon_sym___asm__, + [58415] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3770), 1, + anon_sym___attribute, + STATE(1296), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3768), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym___attribute__, + [58443] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3758), 1, + anon_sym___attribute, + STATE(1296), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3752), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym___attribute__, + [58471] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3766), 1, + anon_sym___attribute, + STATE(1296), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3764), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym___attribute__, + [58499] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3762), 1, + anon_sym___attribute, + STATE(1296), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3760), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym___attribute__, + [58527] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3959), 1, + anon_sym_LBRACK, + STATE(1551), 1, + sym_gnu_asm_input_operand, + STATE(1975), 1, + sym_string_literal, + ACTIONS(3957), 2, + anon_sym_RPAREN, + anon_sym_COLON, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [58551] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(506), 1, + anon_sym_LBRACE, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3939), 1, + anon_sym_LPAREN2, + ACTIONS(3941), 1, + anon_sym_EQ, + STATE(292), 1, + sym_compound_statement, + STATE(945), 1, + sym__old_style_parameter_list, + STATE(1268), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [58583] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(378), 1, + anon_sym_LBRACE, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3939), 1, + anon_sym_LPAREN2, + ACTIONS(3941), 1, + anon_sym_EQ, + STATE(263), 1, + sym_compound_statement, + STATE(945), 1, + sym__old_style_parameter_list, + STATE(1268), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [58615] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3796), 1, + anon_sym_LBRACK, + ACTIONS(3963), 1, + anon_sym___asm, + ACTIONS(3794), 4, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + ACTIONS(3961), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_asm, + anon_sym___asm__, + [58637] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(133), 1, + anon_sym_LBRACE, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3939), 1, + anon_sym_LPAREN2, + ACTIONS(3941), 1, + anon_sym_EQ, + STATE(146), 1, + sym_compound_statement, + STATE(945), 1, + sym__old_style_parameter_list, + STATE(1268), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [58669] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3849), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1608), 2, + sym__string, + sym_concatenated_string, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [58690] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(378), 1, + anon_sym_LBRACE, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3941), 1, + anon_sym_EQ, + STATE(263), 1, + sym_compound_statement, + STATE(1268), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [58719] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3965), 1, + sym_identifier, + ACTIONS(3969), 1, + sym_system_lib_string, + STATE(1861), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(3967), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [58740] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(3973), 1, + anon_sym___asm, + STATE(1367), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + ACTIONS(3971), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_asm, + anon_sym___asm__, + [58763] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(378), 1, + anon_sym_LBRACE, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3939), 1, + anon_sym_LPAREN2, + STATE(276), 1, + sym_compound_statement, + STATE(945), 1, + sym__old_style_parameter_list, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [58792] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3977), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(3975), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [58809] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3981), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(3979), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [58826] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(3983), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [58843] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3849), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1605), 2, + sym__string, + sym_concatenated_string, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [58864] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3849), 1, + sym_identifier, + STATE(673), 1, + sym_string_literal, + STATE(1598), 2, + sym__string, + sym_concatenated_string, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [58885] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3987), 1, + sym_identifier, + ACTIONS(3989), 1, + sym_system_lib_string, + STATE(1989), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(3967), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [58906] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3993), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(3991), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [58923] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3995), 1, + anon_sym_LBRACK, + STATE(1465), 1, + sym_parameter_list, + ACTIONS(3843), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(1492), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [58950] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3997), 1, + sym_identifier, + ACTIONS(3999), 1, + sym_system_lib_string, + STATE(1879), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(3967), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [58971] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1948), 1, + anon_sym_LPAREN2, + ACTIONS(1950), 1, + anon_sym_STAR, + ACTIONS(2813), 1, + anon_sym_LBRACK, + STATE(1442), 1, + sym_parameter_list, + STATE(1547), 1, + sym__abstract_declarator, + STATE(1467), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + [58996] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4003), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(4001), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [59013] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3939), 1, + anon_sym_LPAREN2, + STATE(344), 1, + sym_compound_statement, + STATE(945), 1, + sym__old_style_parameter_list, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59042] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3941), 1, + anon_sym_EQ, + STATE(320), 1, + sym_compound_statement, + STATE(1268), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59071] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4007), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(4005), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [59088] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(3705), 1, + anon_sym___asm, + STATE(1367), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + ACTIONS(3699), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_asm, + anon_sym___asm__, + [59111] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4011), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(4009), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [59128] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4013), 1, + sym_identifier, + ACTIONS(4015), 1, + sym_system_lib_string, + STATE(1817), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(3967), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [59149] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4019), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(4017), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [59166] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(133), 1, + anon_sym_LBRACE, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3939), 1, + anon_sym_LPAREN2, + STATE(130), 1, + sym_compound_statement, + STATE(945), 1, + sym__old_style_parameter_list, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59195] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(506), 1, + anon_sym_LBRACE, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3939), 1, + anon_sym_LPAREN2, + STATE(300), 1, + sym_compound_statement, + STATE(945), 1, + sym__old_style_parameter_list, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59224] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(506), 1, + anon_sym_LBRACE, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3941), 1, + anon_sym_EQ, + STATE(292), 1, + sym_compound_statement, + STATE(1268), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59253] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4023), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(4021), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [59270] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(133), 1, + anon_sym_LBRACE, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3941), 1, + anon_sym_EQ, + STATE(146), 1, + sym_compound_statement, + STATE(1268), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59299] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4027), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(4025), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [59315] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(378), 1, + anon_sym_LBRACE, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + STATE(283), 1, + sym_compound_statement, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59341] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + STATE(342), 1, + sym_compound_statement, + STATE(1268), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59367] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(378), 1, + anon_sym_LBRACE, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + STATE(276), 1, + sym_compound_statement, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59393] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4031), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(4029), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [59409] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4035), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(4033), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [59425] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(133), 1, + anon_sym_LBRACE, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + STATE(120), 1, + sym_compound_statement, + STATE(1268), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59451] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + STATE(344), 1, + sym_compound_statement, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59477] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(2501), 1, + anon_sym_LBRACE, + ACTIONS(4037), 1, + sym_identifier, + STATE(735), 1, + sym_field_declaration_list, + STATE(1511), 1, + sym_attribute_specifier, + STATE(1611), 1, + sym_ms_declspec_modifier, + ACTIONS(35), 2, + anon_sym___attribute__, + anon_sym___attribute, + [59503] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4041), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(4039), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [59519] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4043), 1, + sym_identifier, + ACTIONS(4048), 1, + aux_sym_preproc_elif_token1, + STATE(1415), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1900), 1, + sym_enumerator, + ACTIONS(4046), 4, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + [59541] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(133), 1, + anon_sym_LBRACE, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + STATE(130), 1, + sym_compound_statement, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59567] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4052), 1, + aux_sym_preproc_elif_token1, + ACTIONS(4054), 1, + anon_sym_EQ, + ACTIONS(4050), 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_identifier, + [59585] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3995), 1, + anon_sym_LBRACK, + ACTIONS(4058), 1, + anon_sym___attribute, + STATE(1465), 1, + sym_parameter_list, + ACTIONS(4056), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym___attribute__, + anon_sym_COLON, + [59607] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3937), 1, + anon_sym_LBRACK, + STATE(1677), 1, + sym_gnu_asm_output_operand, + STATE(1963), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [59627] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4062), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(4060), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [59643] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4066), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(4064), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [59659] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + STATE(323), 1, + sym_compound_statement, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59685] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4070), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(4068), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [59701] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4074), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(4072), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [59717] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(506), 1, + anon_sym_LBRACE, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + STATE(298), 1, + sym_compound_statement, + STATE(1268), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59743] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4078), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(4076), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [59759] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4080), 1, + sym_identifier, + ACTIONS(4085), 1, + aux_sym_preproc_elif_token1, + STATE(1427), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + ACTIONS(4083), 4, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + [59779] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(378), 1, + anon_sym_LBRACE, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + STATE(274), 1, + sym_compound_statement, + STATE(1268), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59805] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3995), 1, + anon_sym_LBRACK, + ACTIONS(4089), 1, + anon_sym___attribute, + STATE(1465), 1, + sym_parameter_list, + ACTIONS(4087), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym___attribute__, + anon_sym_COLON, + [59827] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3995), 1, + anon_sym_LBRACK, + ACTIONS(4093), 1, + anon_sym___attribute, + STATE(1465), 1, + sym_parameter_list, + ACTIONS(4091), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym___attribute__, + anon_sym_COLON, + [59849] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3959), 1, + anon_sym_LBRACK, + STATE(1599), 1, + sym_gnu_asm_input_operand, + STATE(1975), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [59869] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4097), 2, + anon_sym___attribute, + anon_sym_LBRACK, + ACTIONS(4095), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + [59885] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(133), 1, + anon_sym_LBRACE, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + STATE(123), 1, + sym_compound_statement, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59911] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(506), 1, + anon_sym_LBRACE, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + STATE(306), 1, + sym_compound_statement, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59937] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(506), 1, + anon_sym_LBRACE, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + STATE(300), 1, + sym_compound_statement, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [59963] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4101), 1, + anon_sym___attribute, + ACTIONS(4099), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_COLON, + [59978] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4105), 1, + anon_sym___attribute, + ACTIONS(4103), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_COLON, + [59993] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3879), 1, + anon_sym_LBRACK, + ACTIONS(4107), 1, + anon_sym_RPAREN, + STATE(1410), 1, + sym_parameter_list, + STATE(1366), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [60016] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3778), 1, + anon_sym_LBRACK, + ACTIONS(4109), 1, + anon_sym_RPAREN, + STATE(1403), 1, + sym_parameter_list, + STATE(1362), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [60039] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(93), 1, + anon_sym___asm, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4113), 1, + anon_sym_SEMI, + STATE(1571), 1, + sym_gnu_asm_expression, + STATE(1613), 1, + aux_sym_declaration_repeat1, + ACTIONS(4115), 2, + anon_sym_asm, + anon_sym___asm__, + [60062] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4117), 1, + anon_sym_LPAREN2, + STATE(1450), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(4119), 4, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + anon_sym___volatile__, + [60079] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4123), 1, + anon_sym___attribute, + ACTIONS(4121), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_COLON, + [60094] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(4125), 1, + anon_sym_RPAREN, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [60117] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4127), 1, + anon_sym_LBRACK, + ACTIONS(4130), 1, + anon_sym_EQ, + ACTIONS(4132), 1, + anon_sym_DOT, + STATE(1444), 4, + sym_subscript_designator, + sym_subscript_range_designator, + sym_field_designator, + aux_sym_initializer_pair_repeat1, + [60136] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(93), 1, + anon_sym___asm, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4135), 1, + anon_sym_SEMI, + STATE(1592), 1, + sym_gnu_asm_expression, + STATE(1593), 1, + aux_sym_declaration_repeat1, + ACTIONS(4115), 2, + anon_sym_asm, + anon_sym___asm__, + [60159] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(93), 1, + anon_sym___asm, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4137), 1, + anon_sym_SEMI, + STATE(1659), 1, + sym_gnu_asm_expression, + STATE(1660), 1, + aux_sym_declaration_repeat1, + ACTIONS(4115), 2, + anon_sym_asm, + anon_sym___asm__, + [60182] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4141), 1, + anon_sym___attribute, + ACTIONS(4139), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_COLON, + [60197] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(93), 1, + anon_sym___asm, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4143), 1, + anon_sym_SEMI, + STATE(1600), 1, + sym_gnu_asm_expression, + STATE(1601), 1, + aux_sym_declaration_repeat1, + ACTIONS(4115), 2, + anon_sym_asm, + anon_sym___asm__, + [60220] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4147), 1, + anon_sym___attribute, + ACTIONS(4145), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_COLON, + [60235] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4149), 1, + anon_sym_LPAREN2, + STATE(1450), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(4151), 4, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + anon_sym___volatile__, + [60252] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4156), 1, + anon_sym___attribute, + ACTIONS(4154), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_COLON, + [60267] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4160), 1, + anon_sym___attribute, + ACTIONS(4158), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_COLON, + [60282] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(93), 1, + anon_sym___asm, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4162), 1, + anon_sym_SEMI, + STATE(1623), 1, + sym_gnu_asm_expression, + STATE(1624), 1, + aux_sym_declaration_repeat1, + ACTIONS(4115), 2, + anon_sym_asm, + anon_sym___asm__, + [60305] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(4164), 1, + anon_sym_RPAREN, + STATE(1263), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [60328] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(93), 1, + anon_sym___asm, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4166), 1, + anon_sym_SEMI, + STATE(1629), 1, + sym_gnu_asm_expression, + STATE(1630), 1, + aux_sym_declaration_repeat1, + ACTIONS(4115), 2, + anon_sym_asm, + anon_sym___asm__, + [60351] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2002), 1, + anon_sym_LBRACK, + ACTIONS(4168), 1, + anon_sym_EQ, + ACTIONS(4170), 1, + anon_sym_DOT, + STATE(1444), 4, + sym_subscript_designator, + sym_subscript_range_designator, + sym_field_designator, + aux_sym_initializer_pair_repeat1, + [60370] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(93), 1, + anon_sym___asm, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4172), 1, + anon_sym_SEMI, + STATE(1637), 1, + sym_gnu_asm_expression, + STATE(1638), 1, + aux_sym_declaration_repeat1, + ACTIONS(4115), 2, + anon_sym_asm, + anon_sym___asm__, + [60393] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(93), 1, + anon_sym___asm, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4174), 1, + anon_sym_SEMI, + STATE(1640), 1, + sym_gnu_asm_expression, + STATE(1641), 1, + aux_sym_declaration_repeat1, + ACTIONS(4115), 2, + anon_sym_asm, + anon_sym___asm__, + [60416] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(93), 1, + anon_sym___asm, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4176), 1, + anon_sym_SEMI, + STATE(1645), 1, + sym_gnu_asm_expression, + STATE(1646), 1, + aux_sym_declaration_repeat1, + ACTIONS(4115), 2, + anon_sym_asm, + anon_sym___asm__, + [60439] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(93), 1, + anon_sym___asm, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4178), 1, + anon_sym_SEMI, + STATE(1648), 1, + sym_gnu_asm_expression, + STATE(1649), 1, + aux_sym_declaration_repeat1, + ACTIONS(4115), 2, + anon_sym_asm, + anon_sym___asm__, + [60462] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3879), 1, + anon_sym_LBRACK, + ACTIONS(4180), 1, + anon_sym_RPAREN, + STATE(1410), 1, + sym_parameter_list, + STATE(1366), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [60485] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(93), 1, + anon_sym___asm, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4182), 1, + anon_sym_SEMI, + STATE(1618), 1, + sym_gnu_asm_expression, + STATE(1627), 1, + aux_sym_declaration_repeat1, + ACTIONS(4115), 2, + anon_sym_asm, + anon_sym___asm__, + [60508] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4186), 1, + anon_sym_COMMA, + ACTIONS(4188), 1, + aux_sym_preproc_elif_token1, + ACTIONS(4184), 5, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_identifier, + [60525] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4192), 1, + anon_sym___attribute, + ACTIONS(4190), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_COLON, + [60540] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4196), 1, + anon_sym___attribute, + ACTIONS(4194), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_COLON, + [60555] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4198), 1, + anon_sym_LPAREN2, + STATE(1441), 2, + sym_gnu_asm_qualifier, + aux_sym_gnu_asm_expression_repeat1, + ACTIONS(4119), 4, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + anon_sym___volatile__, + [60572] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4202), 1, + anon_sym___attribute, + ACTIONS(4200), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_COLON, + [60587] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(93), 1, + anon_sym___asm, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4204), 1, + anon_sym_SEMI, + STATE(1621), 1, + sym_gnu_asm_expression, + STATE(1632), 1, + aux_sym_declaration_repeat1, + ACTIONS(4115), 2, + anon_sym_asm, + anon_sym___asm__, + [60610] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + ACTIONS(3941), 1, + anon_sym_EQ, + STATE(1268), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [60633] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3778), 1, + anon_sym_LBRACK, + ACTIONS(4206), 1, + anon_sym_RPAREN, + STATE(1403), 1, + sym_parameter_list, + STATE(1362), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [60656] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4210), 1, + anon_sym___attribute, + ACTIONS(4208), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_COLON, + [60671] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4214), 1, + anon_sym___attribute, + ACTIONS(4212), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_COLON, + [60686] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4218), 1, + anon_sym___attribute, + ACTIONS(4216), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym___attribute__, + anon_sym_LBRACK, + anon_sym_COLON, + [60701] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3995), 1, + anon_sym_LBRACK, + STATE(1465), 1, + sym_parameter_list, + ACTIONS(4220), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [60719] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(93), 1, + anon_sym___asm, + STATE(1770), 1, + sym_gnu_asm_expression, + ACTIONS(4115), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(4222), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [60737] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4224), 2, + anon_sym_RBRACE, + sym_identifier, + ACTIONS(4226), 4, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + [60751] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(1952), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [60765] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4228), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(1367), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [60783] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(630), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [60797] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4230), 2, + anon_sym_RBRACE, + sym_identifier, + ACTIONS(4232), 4, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + [60811] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3756), 1, + anon_sym_LBRACK, + STATE(1268), 1, + sym_parameter_list, + STATE(1295), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [60831] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4234), 2, + anon_sym_RBRACE, + sym_identifier, + ACTIONS(4236), 4, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + [60845] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4238), 2, + anon_sym_RBRACE, + sym_identifier, + ACTIONS(4240), 4, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + [60859] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3995), 1, + anon_sym_LBRACK, + STATE(1465), 1, + sym_parameter_list, + ACTIONS(4242), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [60877] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4244), 2, + anon_sym_RBRACE, + sym_identifier, + ACTIONS(4246), 4, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + [60891] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3995), 1, + anon_sym_LBRACK, + STATE(1465), 1, + sym_parameter_list, + ACTIONS(4248), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [60909] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4048), 1, + aux_sym_preproc_elif_token1, + ACTIONS(4046), 5, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elifdef_token1, + aux_sym_preproc_elifdef_token2, + sym_identifier, + [60923] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4250), 2, + anon_sym_RBRACE, + sym_identifier, + ACTIONS(4252), 4, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + [60937] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4254), 2, + anon_sym_RBRACE, + sym_identifier, + ACTIONS(4256), 4, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + [60951] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4258), 2, + anon_sym_RBRACE, + sym_identifier, + ACTIONS(4260), 4, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + [60965] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4262), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(1367), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [60983] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4262), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(1367), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61001] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4258), 2, + anon_sym_RBRACE, + sym_identifier, + ACTIONS(4260), 4, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + [61015] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(93), 1, + anon_sym___asm, + STATE(1772), 1, + sym_gnu_asm_expression, + ACTIONS(4115), 2, + anon_sym_asm, + anon_sym___asm__, + ACTIONS(4264), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [61033] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3995), 1, + anon_sym_LBRACK, + STATE(1465), 1, + sym_parameter_list, + ACTIONS(4266), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [61051] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4224), 2, + anon_sym_RBRACE, + sym_identifier, + ACTIONS(4226), 4, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + [61065] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(1991), 1, + sym_string_literal, + ACTIONS(99), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [61079] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3873), 2, + anon_sym_RBRACE, + sym_identifier, + ACTIONS(4268), 4, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + [61093] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4270), 1, + anon_sym_SEMI, + STATE(1525), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61110] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4272), 1, + anon_sym_SEMI, + STATE(1367), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61127] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4274), 1, + anon_sym_SEMI, + STATE(1514), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61144] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4276), 1, + anon_sym_SEMI, + STATE(1367), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61161] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4278), 1, + anon_sym_SEMI, + STATE(1520), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61178] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4280), 1, + anon_sym_SEMI, + STATE(1367), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61195] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4282), 1, + anon_sym_SEMI, + STATE(1367), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61212] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3772), 1, + anon_sym_COMMA, + ACTIONS(4286), 1, + anon_sym___attribute, + STATE(1507), 1, + aux_sym__field_declaration_declarator_repeat1, + ACTIONS(4284), 2, + anon_sym_SEMI, + anon_sym___attribute__, + [61229] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4288), 1, + anon_sym_COMMA, + ACTIONS(4293), 1, + anon_sym___attribute, + STATE(1507), 1, + aux_sym__field_declaration_declarator_repeat1, + ACTIONS(4291), 2, + anon_sym_SEMI, + anon_sym___attribute__, + [61246] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4295), 1, + anon_sym_SEMI, + STATE(1505), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61263] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4297), 1, + anon_sym_SEMI, + STATE(1367), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61280] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4299), 1, + anon_sym_SEMI, + STATE(1500), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61297] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(2501), 1, + anon_sym_LBRACE, + ACTIONS(4301), 1, + sym_identifier, + STATE(737), 1, + sym_field_declaration_list, + STATE(1636), 1, + sym_ms_declspec_modifier, + [61316] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4305), 1, + anon_sym___asm, + ACTIONS(4303), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_asm, + anon_sym___asm__, + [61329] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4307), 1, + anon_sym_COMMA, + ACTIONS(4312), 1, + anon_sym___attribute, + STATE(1513), 1, + aux_sym__type_definition_declarators_repeat1, + ACTIONS(4310), 2, + anon_sym_SEMI, + anon_sym___attribute__, + [61346] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4314), 1, + anon_sym_SEMI, + STATE(1367), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61363] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___declspec, + ACTIONS(2501), 1, + anon_sym_LBRACE, + ACTIONS(4316), 1, + sym_identifier, + STATE(732), 1, + sym_field_declaration_list, + STATE(1610), 1, + sym_ms_declspec_modifier, + [61382] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + ACTIONS(4320), 1, + anon_sym_COLON_COLON, + STATE(1727), 1, + sym_argument_list, + ACTIONS(4318), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [61399] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3728), 1, + sym_identifier, + ACTIONS(4322), 1, + aux_sym_preproc_if_token2, + STATE(1463), 1, + sym_enumerator, + STATE(1529), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1535), 1, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + [61418] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3911), 1, + anon_sym_COMMA, + ACTIONS(4326), 1, + anon_sym___attribute, + STATE(1513), 1, + aux_sym__type_definition_declarators_repeat1, + ACTIONS(4324), 2, + anon_sym_SEMI, + anon_sym___attribute__, + [61435] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4328), 1, + anon_sym_SEMI, + STATE(1504), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61452] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4330), 1, + anon_sym_SEMI, + STATE(1367), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61469] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4332), 5, + anon_sym_LPAREN2, + anon_sym_inline, + anon_sym_volatile, + anon_sym_goto, + anon_sym___volatile__, + [61480] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4334), 1, + anon_sym_SEMI, + STATE(1502), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61497] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4336), 1, + anon_sym_SEMI, + STATE(1509), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61514] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3772), 1, + anon_sym_COMMA, + ACTIONS(4340), 1, + anon_sym___attribute, + STATE(1506), 1, + aux_sym__field_declaration_declarator_repeat1, + ACTIONS(4338), 2, + anon_sym_SEMI, + anon_sym___attribute__, + [61531] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4342), 1, + anon_sym_SEMI, + STATE(1367), 2, + sym_attribute_specifier, + aux_sym_type_definition_repeat1, + [61548] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3772), 1, + anon_sym_COMMA, + ACTIONS(4346), 1, + anon_sym___attribute, + STATE(1507), 1, + aux_sym__field_declaration_declarator_repeat1, + ACTIONS(4344), 2, + anon_sym_SEMI, + anon_sym___attribute__, + [61565] = 4, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4348), 1, + anon_sym_SQUOTE, + STATE(1557), 1, + aux_sym_char_literal_repeat1, + ACTIONS(4350), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [61579] = 5, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4352), 1, + aux_sym_preproc_include_token2, + ACTIONS(4354), 1, + anon_sym_LPAREN, + ACTIONS(4356), 1, + sym_preproc_arg, + STATE(1718), 1, + sym_preproc_params, + [61595] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3813), 1, + sym_identifier, + ACTIONS(4358), 1, + aux_sym_preproc_if_token2, + STATE(1415), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1900), 1, + sym_enumerator, + [61611] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4360), 1, + anon_sym_COMMA, + STATE(1538), 1, + aux_sym_gnu_asm_clobber_list_repeat1, + ACTIONS(4362), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [61625] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4364), 1, + anon_sym_COMMA, + ACTIONS(4366), 1, + anon_sym_RPAREN, + STATE(1607), 1, + aux_sym_parameter_list_repeat1, + STATE(1666), 1, + aux_sym__old_style_parameter_list_repeat1, + [61641] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4368), 1, + anon_sym_COMMA, + STATE(1549), 1, + aux_sym_gnu_asm_output_operand_list_repeat1, + ACTIONS(4370), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [61655] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4372), 1, + anon_sym_SEMI, + STATE(2014), 1, + sym_attribute_specifier, + [61671] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3813), 1, + sym_identifier, + ACTIONS(4322), 1, + aux_sym_preproc_if_token2, + STATE(1529), 1, + aux_sym_preproc_if_in_enumerator_list_repeat1, + STATE(1900), 1, + sym_enumerator, + [61687] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3728), 1, + sym_identifier, + ACTIONS(4374), 1, + aux_sym_preproc_if_token2, + STATE(1427), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + [61701] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + STATE(1774), 1, + sym_argument_list, + ACTIONS(4376), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [61715] = 5, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4378), 1, + anon_sym_DQUOTE, + ACTIONS(4380), 1, + aux_sym_string_literal_token1, + ACTIONS(4382), 1, + sym_escape_sequence, + STATE(1554), 1, + aux_sym_string_literal_repeat1, + [61731] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4384), 1, + anon_sym_COMMA, + STATE(1538), 1, + aux_sym_gnu_asm_clobber_list_repeat1, + ACTIONS(4387), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [61745] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4389), 1, + anon_sym___except, + ACTIONS(4391), 1, + anon_sym___finally, + STATE(198), 2, + sym_seh_except_clause, + sym_seh_finally_clause, + [61759] = 5, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4393), 1, + anon_sym_DQUOTE, + ACTIONS(4395), 1, + aux_sym_string_literal_token1, + ACTIONS(4397), 1, + sym_escape_sequence, + STATE(1570), 1, + aux_sym_string_literal_repeat1, + [61775] = 5, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4354), 1, + anon_sym_LPAREN, + ACTIONS(4399), 1, + aux_sym_preproc_include_token2, + ACTIONS(4401), 1, + sym_preproc_arg, + STATE(1708), 1, + sym_preproc_params, + [61791] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4403), 1, + anon_sym___except, + ACTIONS(4405), 1, + anon_sym___finally, + STATE(242), 2, + sym_seh_except_clause, + sym_seh_finally_clause, + [61805] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4407), 1, + anon_sym_SEMI, + STATE(2008), 1, + sym_attribute_specifier, + [61821] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4409), 1, + anon_sym___except, + ACTIONS(4411), 1, + anon_sym___finally, + STATE(242), 2, + sym_seh_except_clause, + sym_seh_finally_clause, + [61835] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4413), 1, + anon_sym_COMMA, + STATE(1545), 1, + aux_sym_gnu_asm_input_operand_list_repeat1, + ACTIONS(4416), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [61849] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4418), 1, + anon_sym___except, + ACTIONS(4420), 1, + anon_sym___finally, + STATE(222), 2, + sym_seh_except_clause, + sym_seh_finally_clause, + [61863] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3995), 1, + anon_sym_LBRACK, + ACTIONS(4422), 1, + anon_sym_RPAREN, + STATE(1465), 1, + sym_parameter_list, + [61879] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4424), 1, + anon_sym___except, + ACTIONS(4426), 1, + anon_sym___finally, + STATE(89), 2, + sym_seh_except_clause, + sym_seh_finally_clause, + [61893] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4368), 1, + anon_sym_COMMA, + STATE(1561), 1, + aux_sym_gnu_asm_output_operand_list_repeat1, + ACTIONS(4428), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [61907] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3728), 1, + sym_identifier, + ACTIONS(4430), 1, + aux_sym_preproc_if_token2, + STATE(1535), 2, + sym_enumerator, + aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, + [61921] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4432), 1, + anon_sym_COMMA, + STATE(1563), 1, + aux_sym_gnu_asm_input_operand_list_repeat1, + ACTIONS(4434), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [61935] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4438), 1, + anon_sym___attribute, + ACTIONS(4436), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym___attribute__, + [61947] = 4, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4440), 1, + anon_sym_SQUOTE, + STATE(1557), 1, + aux_sym_char_literal_repeat1, + ACTIONS(4350), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [61961] = 5, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4442), 1, + anon_sym_DQUOTE, + ACTIONS(4444), 1, + aux_sym_string_literal_token1, + ACTIONS(4446), 1, + sym_escape_sequence, + STATE(1565), 1, + aux_sym_string_literal_repeat1, + [61977] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3754), 1, + anon_sym_LPAREN2, + ACTIONS(3995), 1, + anon_sym_LBRACK, + ACTIONS(4448), 1, + anon_sym_RPAREN, + STATE(1465), 1, + sym_parameter_list, + [61993] = 5, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4354), 1, + anon_sym_LPAREN, + ACTIONS(4450), 1, + aux_sym_preproc_include_token2, + ACTIONS(4452), 1, + sym_preproc_arg, + STATE(1692), 1, + sym_preproc_params, + [62009] = 4, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4454), 1, + anon_sym_SQUOTE, + STATE(1557), 1, + aux_sym_char_literal_repeat1, + ACTIONS(4456), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [62023] = 5, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4459), 1, + anon_sym_DQUOTE, + ACTIONS(4461), 1, + aux_sym_string_literal_token1, + ACTIONS(4463), 1, + sym_escape_sequence, + STATE(1569), 1, + aux_sym_string_literal_repeat1, + [62039] = 5, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4354), 1, + anon_sym_LPAREN, + ACTIONS(4465), 1, + aux_sym_preproc_include_token2, + ACTIONS(4467), 1, + sym_preproc_arg, + STATE(1699), 1, + sym_preproc_params, + [62055] = 5, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4354), 1, + anon_sym_LPAREN, + ACTIONS(4469), 1, + aux_sym_preproc_include_token2, + ACTIONS(4471), 1, + sym_preproc_arg, + STATE(1707), 1, + sym_preproc_params, + [62071] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4473), 1, + anon_sym_COMMA, + STATE(1561), 1, + aux_sym_gnu_asm_output_operand_list_repeat1, + ACTIONS(4476), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [62085] = 5, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4354), 1, + anon_sym_LPAREN, + ACTIONS(4478), 1, + aux_sym_preproc_include_token2, + ACTIONS(4480), 1, + sym_preproc_arg, + STATE(1700), 1, + sym_preproc_params, + [62101] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4432), 1, + anon_sym_COMMA, + STATE(1545), 1, + aux_sym_gnu_asm_input_operand_list_repeat1, + ACTIONS(4482), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [62115] = 4, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4484), 1, + anon_sym_SQUOTE, + STATE(1557), 1, + aux_sym_char_literal_repeat1, + ACTIONS(4350), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [62129] = 5, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4486), 1, + anon_sym_DQUOTE, + ACTIONS(4488), 1, + aux_sym_string_literal_token1, + ACTIONS(4491), 1, + sym_escape_sequence, + STATE(1565), 1, + aux_sym_string_literal_repeat1, + [62145] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4360), 1, + anon_sym_COMMA, + STATE(1530), 1, + aux_sym_gnu_asm_clobber_list_repeat1, + ACTIONS(4494), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [62159] = 5, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4354), 1, + anon_sym_LPAREN, + ACTIONS(4496), 1, + aux_sym_preproc_include_token2, + ACTIONS(4498), 1, + sym_preproc_arg, + STATE(1712), 1, + sym_preproc_params, + [62175] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym___attribute, + ACTIONS(3482), 1, + anon_sym___attribute__, + ACTIONS(4500), 1, + anon_sym_SEMI, + STATE(2018), 1, + sym_attribute_specifier, + [62191] = 5, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4444), 1, + aux_sym_string_literal_token1, + ACTIONS(4446), 1, + sym_escape_sequence, + ACTIONS(4502), 1, + anon_sym_DQUOTE, + STATE(1565), 1, + aux_sym_string_literal_repeat1, + [62207] = 5, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4444), 1, + aux_sym_string_literal_token1, + ACTIONS(4446), 1, + sym_escape_sequence, + ACTIONS(4504), 1, + anon_sym_DQUOTE, + STATE(1565), 1, + aux_sym_string_literal_repeat1, + [62223] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4506), 1, + anon_sym_SEMI, + STATE(1634), 1, + aux_sym_declaration_repeat1, + [62236] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3219), 1, + anon_sym_COMMA, + ACTIONS(4508), 1, + anon_sym_RPAREN, + STATE(1661), 1, + aux_sym_argument_list_repeat1, + [62249] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2924), 1, + anon_sym_LBRACE, + ACTIONS(4510), 1, + sym_identifier, + STATE(1069), 1, + sym_enumerator_list, + [62262] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4512), 1, + anon_sym_RPAREN, + ACTIONS(4514), 1, + anon_sym_COLON, + STATE(1682), 1, + sym_gnu_asm_clobber_list, + [62275] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4516), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [62284] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4518), 1, + anon_sym_COMMA, + ACTIONS(4521), 1, + anon_sym_RPAREN, + STATE(1576), 1, + aux_sym_generic_expression_repeat1, + [62297] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4523), 1, + anon_sym_COMMA, + ACTIONS(4526), 1, + anon_sym_RPAREN, + STATE(1577), 1, + aux_sym_preproc_params_repeat1, + [62310] = 4, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4528), 1, + aux_sym_preproc_include_token2, + ACTIONS(4530), 1, + anon_sym_LPAREN2, + STATE(1802), 1, + sym_preproc_argument_list, + [62323] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4532), 1, + anon_sym_RPAREN, + ACTIONS(4534), 1, + anon_sym_COLON, + STATE(1574), 1, + sym_gnu_asm_input_operand_list, + [62336] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4536), 1, + anon_sym_COMMA, + ACTIONS(4539), 1, + anon_sym_RPAREN, + STATE(1580), 1, + aux_sym__old_style_parameter_list_repeat1, + [62349] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4541), 1, + anon_sym_COMMA, + ACTIONS(4543), 1, + anon_sym_RBRACK_RBRACK, + STATE(1590), 1, + aux_sym_attribute_declaration_repeat1, + [62362] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3452), 1, + anon_sym_COMMA, + ACTIONS(4545), 1, + anon_sym_RPAREN, + STATE(1672), 1, + aux_sym_preproc_argument_list_repeat1, + [62375] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4541), 1, + anon_sym_COMMA, + ACTIONS(4547), 1, + anon_sym_RBRACK_RBRACK, + STATE(1656), 1, + aux_sym_attribute_declaration_repeat1, + [62388] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4549), 1, + anon_sym_COMMA, + ACTIONS(4551), 1, + anon_sym_RPAREN, + STATE(1577), 1, + aux_sym_preproc_params_repeat1, + [62401] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4553), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [62410] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4555), 1, + anon_sym_SEMI, + STATE(1594), 1, + aux_sym_declaration_repeat1, + [62423] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3215), 1, + anon_sym_COMMA, + ACTIONS(4557), 1, + anon_sym_RPAREN, + STATE(1576), 1, + aux_sym_generic_expression_repeat1, + [62436] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1819), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4559), 1, + sym_identifier, + STATE(1695), 1, + sym_variadic_parameter, + [62449] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4563), 1, + anon_sym_RPAREN, + ACTIONS(4561), 2, + anon_sym_DOT_DOT_DOT, + sym_identifier, + [62460] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4541), 1, + anon_sym_COMMA, + ACTIONS(4565), 1, + anon_sym_RBRACK_RBRACK, + STATE(1656), 1, + aux_sym_attribute_declaration_repeat1, + [62473] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4567), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [62482] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4569), 1, + anon_sym_SEMI, + STATE(1602), 1, + aux_sym_declaration_repeat1, + [62495] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4571), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [62508] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4573), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [62521] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4575), 3, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + [62530] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4541), 1, + anon_sym_COMMA, + ACTIONS(4577), 1, + anon_sym_RBRACK_RBRACK, + STATE(1657), 1, + aux_sym_attribute_declaration_repeat1, + [62543] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4579), 1, + anon_sym_SEMI, + STATE(1664), 1, + aux_sym_declaration_repeat1, + [62556] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4581), 1, + anon_sym_RPAREN, + ACTIONS(4583), 1, + anon_sym_COLON, + STATE(1579), 1, + sym_gnu_asm_output_operand_list, + [62569] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4585), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [62578] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4587), 1, + anon_sym_SEMI, + STATE(1606), 1, + aux_sym_declaration_repeat1, + [62591] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4589), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [62604] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4591), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [62617] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4593), 1, + anon_sym_COMMA, + ACTIONS(4595), 1, + anon_sym_RPAREN, + STATE(1607), 1, + aux_sym_parameter_list_repeat1, + [62630] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3452), 1, + anon_sym_COMMA, + ACTIONS(4597), 1, + anon_sym_RPAREN, + STATE(1672), 1, + aux_sym_preproc_argument_list_repeat1, + [62643] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4599), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [62652] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4601), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [62665] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4593), 1, + anon_sym_COMMA, + ACTIONS(4603), 1, + anon_sym_RPAREN, + STATE(1676), 1, + aux_sym_parameter_list_repeat1, + [62678] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4583), 1, + anon_sym_COLON, + ACTIONS(4605), 1, + anon_sym_RPAREN, + STATE(1616), 1, + sym_gnu_asm_output_operand_list, + [62691] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3267), 1, + anon_sym_RBRACE, + ACTIONS(4607), 1, + anon_sym_COMMA, + STATE(1609), 1, + aux_sym_initializer_list_repeat1, + [62704] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2501), 1, + anon_sym_LBRACE, + ACTIONS(4610), 1, + sym_identifier, + STATE(740), 1, + sym_field_declaration_list, + [62717] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2501), 1, + anon_sym_LBRACE, + ACTIONS(4612), 1, + sym_identifier, + STATE(737), 1, + sym_field_declaration_list, + [62730] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4614), 1, + anon_sym_COMMA, + ACTIONS(4616), 1, + anon_sym_RPAREN, + STATE(1668), 1, + aux_sym_gnu_asm_goto_list_repeat1, + [62743] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4618), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [62756] = 4, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4530), 1, + anon_sym_LPAREN2, + ACTIONS(4620), 1, + aux_sym_preproc_include_token2, + STATE(1802), 1, + sym_preproc_argument_list, + [62769] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4622), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [62782] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4534), 1, + anon_sym_COLON, + ACTIONS(4624), 1, + anon_sym_RPAREN, + STATE(1667), 1, + sym_gnu_asm_input_operand_list, + [62795] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3219), 1, + anon_sym_COMMA, + ACTIONS(4626), 1, + anon_sym_RPAREN, + STATE(1661), 1, + aux_sym_argument_list_repeat1, + [62808] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4628), 1, + anon_sym_SEMI, + STATE(1622), 1, + aux_sym_declaration_repeat1, + [62821] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3452), 1, + anon_sym_COMMA, + ACTIONS(4630), 1, + anon_sym_RPAREN, + STATE(1672), 1, + aux_sym_preproc_argument_list_repeat1, + [62834] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4632), 1, + anon_sym_SEMI, + STATE(1625), 1, + aux_sym_declaration_repeat1, + [62847] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4634), 1, + anon_sym_SEMI, + STATE(1615), 1, + aux_sym_declaration_repeat1, + [62860] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4636), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [62873] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4638), 1, + anon_sym_SEMI, + STATE(1686), 1, + aux_sym_declaration_repeat1, + [62886] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4640), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [62899] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4642), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [62912] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3223), 1, + anon_sym_COMMA, + ACTIONS(3225), 1, + anon_sym_RBRACE, + STATE(1670), 1, + aux_sym_initializer_list_repeat1, + [62925] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4644), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [62938] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4614), 1, + anon_sym_COMMA, + ACTIONS(4646), 1, + anon_sym_RPAREN, + STATE(1612), 1, + aux_sym_gnu_asm_goto_list_repeat1, + [62951] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4648), 1, + anon_sym_SEMI, + STATE(1633), 1, + aux_sym_declaration_repeat1, + [62964] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4650), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [62977] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4652), 3, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + [62986] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4654), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [62999] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4656), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63012] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4658), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63025] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4660), 1, + anon_sym_SEMI, + STATE(1639), 1, + aux_sym_declaration_repeat1, + [63038] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2501), 1, + anon_sym_LBRACE, + ACTIONS(4662), 1, + sym_identifier, + STATE(731), 1, + sym_field_declaration_list, + [63051] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4664), 1, + anon_sym_SEMI, + STATE(1642), 1, + aux_sym_declaration_repeat1, + [63064] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4666), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63077] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4668), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63090] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4670), 1, + anon_sym_SEMI, + STATE(1643), 1, + aux_sym_declaration_repeat1, + [63103] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4672), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63116] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4674), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63129] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4676), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63142] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4678), 1, + anon_sym_SEMI, + STATE(1647), 1, + aux_sym_declaration_repeat1, + [63155] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4680), 1, + anon_sym_SEMI, + STATE(1650), 1, + aux_sym_declaration_repeat1, + [63168] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4682), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63181] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4684), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63194] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4686), 1, + anon_sym_SEMI, + STATE(1651), 1, + aux_sym_declaration_repeat1, + [63207] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4688), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63220] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4690), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63233] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4692), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63246] = 3, + ACTIONS(3515), 1, + sym_comment, + STATE(1553), 1, + aux_sym_char_literal_repeat1, + ACTIONS(4694), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [63257] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4696), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63270] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2924), 1, + anon_sym_LBRACE, + ACTIONS(4698), 1, + sym_identifier, + STATE(1069), 1, + sym_enumerator_list, + [63283] = 4, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4530), 1, + anon_sym_LPAREN2, + ACTIONS(4700), 1, + aux_sym_preproc_include_token2, + STATE(1802), 1, + sym_preproc_argument_list, + [63296] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4702), 1, + anon_sym_COMMA, + ACTIONS(4705), 1, + anon_sym_RBRACK_RBRACK, + STATE(1656), 1, + aux_sym_attribute_declaration_repeat1, + [63309] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4541), 1, + anon_sym_COMMA, + ACTIONS(4707), 1, + anon_sym_RBRACK_RBRACK, + STATE(1656), 1, + aux_sym_attribute_declaration_repeat1, + [63322] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3219), 1, + anon_sym_COMMA, + ACTIONS(3227), 1, + anon_sym_RPAREN, + STATE(1617), 1, + aux_sym_argument_list_repeat1, + [63335] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4709), 1, + anon_sym_SEMI, + STATE(1663), 1, + aux_sym_declaration_repeat1, + [63348] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4711), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63361] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3271), 1, + anon_sym_RPAREN, + ACTIONS(4713), 1, + anon_sym_COMMA, + STATE(1661), 1, + aux_sym_argument_list_repeat1, + [63374] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4541), 1, + anon_sym_COMMA, + ACTIONS(4716), 1, + anon_sym_RBRACK_RBRACK, + STATE(1583), 1, + aux_sym_attribute_declaration_repeat1, + [63387] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4718), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63400] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4720), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63413] = 3, + ACTIONS(3515), 1, + sym_comment, + STATE(1527), 1, + aux_sym_char_literal_repeat1, + ACTIONS(4722), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [63424] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4724), 1, + anon_sym_COMMA, + ACTIONS(4726), 1, + anon_sym_RPAREN, + STATE(1580), 1, + aux_sym__old_style_parameter_list_repeat1, + [63437] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4514), 1, + anon_sym_COLON, + ACTIONS(4728), 1, + anon_sym_RPAREN, + STATE(1683), 1, + sym_gnu_asm_clobber_list, + [63450] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4730), 1, + anon_sym_COMMA, + ACTIONS(4733), 1, + anon_sym_RPAREN, + STATE(1668), 1, + aux_sym_gnu_asm_goto_list_repeat1, + [63463] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3219), 1, + anon_sym_COMMA, + ACTIONS(3221), 1, + anon_sym_RPAREN, + STATE(1572), 1, + aux_sym_argument_list_repeat1, + [63476] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2008), 1, + anon_sym_RBRACE, + ACTIONS(4735), 1, + anon_sym_COMMA, + STATE(1609), 1, + aux_sym_initializer_list_repeat1, + [63489] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3207), 3, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_COLON, + [63498] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3553), 1, + anon_sym_RPAREN, + ACTIONS(4737), 1, + anon_sym_COMMA, + STATE(1672), 1, + aux_sym_preproc_argument_list_repeat1, + [63511] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4740), 1, + anon_sym_SEMI, + STATE(1653), 1, + aux_sym_declaration_repeat1, + [63524] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4742), 3, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + [63533] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4744), 1, + anon_sym_EQ, + ACTIONS(4050), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [63544] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4746), 1, + anon_sym_COMMA, + ACTIONS(4749), 1, + anon_sym_RPAREN, + STATE(1676), 1, + aux_sym_parameter_list_repeat1, + [63557] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4751), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [63566] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4753), 1, + anon_sym_COMMA, + ACTIONS(4756), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63579] = 3, + ACTIONS(3515), 1, + sym_comment, + STATE(1564), 1, + aux_sym_char_literal_repeat1, + ACTIONS(4758), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [63590] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4760), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + [63599] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2924), 1, + anon_sym_LBRACE, + ACTIONS(4762), 1, + sym_identifier, + STATE(853), 1, + sym_enumerator_list, + [63612] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4764), 1, + anon_sym_RPAREN, + ACTIONS(4766), 1, + anon_sym_COLON, + STATE(1961), 1, + sym_gnu_asm_goto_list, + [63625] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4766), 1, + anon_sym_COLON, + ACTIONS(4768), 1, + anon_sym_RPAREN, + STATE(1999), 1, + sym_gnu_asm_goto_list, + [63638] = 4, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4530), 1, + anon_sym_LPAREN2, + ACTIONS(4770), 1, + aux_sym_preproc_include_token2, + STATE(1802), 1, + sym_preproc_argument_list, + [63651] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4549), 1, + anon_sym_COMMA, + ACTIONS(4772), 1, + anon_sym_RPAREN, + STATE(1584), 1, + aux_sym_preproc_params_repeat1, + [63664] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4111), 1, + anon_sym_COMMA, + ACTIONS(4774), 1, + anon_sym_SEMI, + STATE(1678), 1, + aux_sym_declaration_repeat1, + [63677] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(506), 1, + anon_sym_LBRACE, + STATE(204), 1, + sym_compound_statement, + [63687] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3267), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [63695] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4776), 1, + anon_sym_LPAREN2, + STATE(381), 1, + sym_parenthesized_expression, + [63705] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4778), 1, + aux_sym_preproc_include_token2, + ACTIONS(4780), 1, + sym_preproc_arg, + [63715] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3269), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [63723] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4782), 1, + aux_sym_preproc_include_token2, + ACTIONS(4784), 1, + sym_preproc_arg, + [63733] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4786), 1, + anon_sym_LPAREN2, + STATE(1759), 1, + sym_parenthesized_expression, + [63743] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4788), 1, + sym_identifier, + STATE(1596), 1, + sym_attribute, + [63753] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4539), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [63761] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4790), 1, + anon_sym_COMMA, + ACTIONS(4792), 1, + anon_sym_RBRACE, + [63771] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACE, + STATE(1544), 1, + sym_compound_statement, + [63781] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(506), 1, + anon_sym_LBRACE, + STATE(190), 1, + sym_compound_statement, + [63791] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4794), 1, + aux_sym_preproc_include_token2, + ACTIONS(4796), 1, + sym_preproc_arg, + [63801] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4798), 1, + aux_sym_preproc_include_token2, + ACTIONS(4800), 1, + sym_preproc_arg, + [63811] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACE, + STATE(176), 1, + sym_compound_statement, + [63821] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4776), 1, + anon_sym_LPAREN2, + STATE(355), 1, + sym_parenthesized_expression, + [63831] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4802), 1, + aux_sym_preproc_include_token2, + ACTIONS(4804), 1, + sym_preproc_arg, + [63841] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(133), 1, + anon_sym_LBRACE, + STATE(81), 1, + sym_compound_statement, + [63851] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(133), 1, + anon_sym_LBRACE, + STATE(104), 1, + sym_compound_statement, + [63861] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4806), 1, + aux_sym_preproc_include_token2, + ACTIONS(4808), 1, + sym_preproc_arg, + [63871] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4810), 1, + aux_sym_preproc_include_token2, + ACTIONS(4812), 1, + sym_preproc_arg, + [63881] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4814), 1, + aux_sym_preproc_include_token2, + ACTIONS(4816), 1, + sym_preproc_arg, + [63891] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4818), 1, + aux_sym_preproc_include_token2, + ACTIONS(4820), 1, + sym_preproc_arg, + [63901] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(506), 1, + anon_sym_LBRACE, + STATE(209), 1, + sym_compound_statement, + [63911] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4822), 1, + aux_sym_preproc_include_token2, + ACTIONS(4824), 1, + sym_preproc_arg, + [63921] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4826), 1, + aux_sym_preproc_include_token2, + ACTIONS(4828), 1, + sym_preproc_arg, + [63931] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3271), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [63939] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3229), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [63947] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + STATE(1849), 1, + sym_argument_list, + [63957] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4786), 1, + anon_sym_LPAREN2, + STATE(1959), 1, + sym_parenthesized_expression, + [63967] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4830), 1, + aux_sym_preproc_include_token2, + ACTIONS(4832), 1, + sym_preproc_arg, + [63977] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4834), 1, + aux_sym_preproc_include_token2, + ACTIONS(4836), 1, + sym_preproc_arg, + [63987] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4788), 1, + sym_identifier, + STATE(1662), 1, + sym_attribute, + [63997] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4776), 1, + anon_sym_LPAREN2, + STATE(350), 1, + sym_parenthesized_expression, + [64007] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4786), 1, + anon_sym_LPAREN2, + STATE(1749), 1, + sym_parenthesized_expression, + [64017] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4776), 1, + anon_sym_LPAREN2, + STATE(351), 1, + sym_parenthesized_expression, + [64027] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4838), 1, + aux_sym_preproc_include_token2, + ACTIONS(4840), 1, + sym_preproc_arg, + [64037] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4776), 1, + anon_sym_LPAREN2, + STATE(368), 1, + sym_parenthesized_expression, + [64047] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACE, + STATE(1546), 1, + sym_compound_statement, + [64057] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4776), 1, + anon_sym_LPAREN2, + STATE(372), 1, + sym_parenthesized_expression, + [64067] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4842), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [64075] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4788), 1, + sym_identifier, + STATE(1730), 1, + sym_attribute, + [64085] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3265), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [64093] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4705), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [64101] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4844), 1, + aux_sym_preproc_include_token2, + ACTIONS(4846), 1, + sym_preproc_arg, + [64111] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(378), 1, + anon_sym_LBRACE, + STATE(176), 1, + sym_compound_statement, + [64121] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4848), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [64129] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4850), 1, + sym_identifier, + ACTIONS(4852), 1, + anon_sym_LPAREN2, + [64139] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4786), 1, + anon_sym_LPAREN2, + STATE(1930), 1, + sym_parenthesized_expression, + [64149] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4776), 1, + anon_sym_LPAREN2, + STATE(334), 1, + sym_parenthesized_expression, + [64159] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4786), 1, + anon_sym_LPAREN2, + STATE(1732), 1, + sym_parenthesized_expression, + [64169] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4786), 1, + anon_sym_LPAREN2, + STATE(1701), 1, + sym_parenthesized_expression, + [64179] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(378), 1, + anon_sym_LBRACE, + STATE(207), 1, + sym_compound_statement, + [64189] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4264), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [64197] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACE, + STATE(239), 1, + sym_compound_statement, + [64207] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4776), 1, + anon_sym_LPAREN2, + STATE(328), 1, + sym_parenthesized_expression, + [64217] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4749), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [64225] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4788), 1, + sym_identifier, + STATE(1581), 1, + sym_attribute, + [64235] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4776), 1, + anon_sym_LPAREN2, + STATE(363), 1, + sym_parenthesized_expression, + [64245] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4786), 1, + anon_sym_LPAREN2, + STATE(1757), 1, + sym_parenthesized_expression, + [64255] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4776), 1, + anon_sym_LPAREN2, + STATE(364), 1, + sym_parenthesized_expression, + [64265] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4854), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [64273] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(378), 1, + anon_sym_LBRACE, + STATE(173), 1, + sym_compound_statement, + [64283] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACE, + STATE(1548), 1, + sym_compound_statement, + [64293] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4857), 1, + sym_identifier, + ACTIONS(4859), 1, + anon_sym_LPAREN2, + [64303] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4786), 1, + anon_sym_LPAREN2, + STATE(1944), 1, + sym_parenthesized_expression, + [64313] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4786), 1, + anon_sym_LPAREN2, + STATE(1767), 1, + sym_parenthesized_expression, + [64323] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4786), 1, + anon_sym_LPAREN2, + STATE(1698), 1, + sym_parenthesized_expression, + [64333] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4861), 1, + aux_sym_preproc_include_token2, + ACTIONS(4863), 1, + sym_preproc_arg, + [64343] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4865), 2, + anon_sym_DOT_DOT_DOT, + sym_identifier, + [64351] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(133), 1, + anon_sym_LBRACE, + STATE(116), 1, + sym_compound_statement, + [64361] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACE, + STATE(1539), 1, + sym_compound_statement, + [64371] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACE, + STATE(220), 1, + sym_compound_statement, + [64381] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4786), 1, + anon_sym_LPAREN2, + STATE(1990), 1, + sym_parenthesized_expression, + [64391] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4867), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [64399] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4786), 1, + anon_sym_LPAREN2, + STATE(1705), 1, + sym_parenthesized_expression, + [64409] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4786), 1, + anon_sym_LPAREN2, + STATE(1710), 1, + sym_parenthesized_expression, + [64419] = 3, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4869), 1, + aux_sym_preproc_include_token2, + ACTIONS(4871), 1, + sym_preproc_arg, + [64429] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACE, + STATE(207), 1, + sym_compound_statement, + [64439] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACE, + STATE(1542), 1, + sym_compound_statement, + [64449] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACE, + STATE(155), 1, + sym_compound_statement, + [64459] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3819), 1, + anon_sym_RBRACE, + ACTIONS(4790), 1, + anon_sym_COMMA, + [64469] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4526), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [64477] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4873), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [64485] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4875), 1, + sym_identifier, + ACTIONS(4877), 1, + anon_sym_RPAREN, + [64495] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4222), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [64503] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2457), 1, + anon_sym_LPAREN2, + STATE(1841), 1, + sym_argument_list, + [64513] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4879), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [64521] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4881), 1, + aux_sym_preproc_if_token2, + [64528] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4883), 1, + aux_sym_preproc_if_token2, + [64535] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4885), 1, + aux_sym_preproc_if_token2, + [64542] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4887), 1, + anon_sym_LPAREN2, + [64549] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4889), 1, + aux_sym_preproc_if_token2, + [64556] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4891), 1, + anon_sym_COLON, + [64563] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4893), 1, + anon_sym_RBRACE, + [64570] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4895), 1, + aux_sym_preproc_if_token2, + [64577] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4897), 1, + aux_sym_preproc_include_token2, + [64584] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4899), 1, + aux_sym_preproc_include_token2, + [64591] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4901), 1, + sym_identifier, + [64598] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4903), 1, + aux_sym_preproc_include_token2, + [64605] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4905), 1, + aux_sym_preproc_include_token2, + [64612] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4907), 1, + aux_sym_preproc_if_token2, + [64619] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4909), 1, + anon_sym_RPAREN, + [64626] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4911), 1, + anon_sym_RPAREN, + [64633] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4913), 1, + anon_sym_SEMI, + [64640] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4915), 1, + aux_sym_preproc_if_token2, + [64647] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4917), 1, + aux_sym_preproc_if_token2, + [64654] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4919), 1, + aux_sym_preproc_include_token2, + [64661] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3277), 1, + anon_sym_SEMI, + [64668] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4921), 1, + anon_sym_RPAREN, + [64675] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4923), 1, + aux_sym_preproc_if_token2, + [64682] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4925), 1, + anon_sym_COLON, + [64689] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4927), 1, + sym_identifier, + [64696] = 2, + ACTIONS(3193), 1, + aux_sym_preproc_include_token2, + ACTIONS(3515), 1, + sym_comment, + [64703] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4929), 1, + anon_sym_SEMI, + [64710] = 2, + ACTIONS(3203), 1, + aux_sym_preproc_include_token2, + ACTIONS(3515), 1, + sym_comment, + [64717] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4931), 1, + aux_sym_preproc_include_token2, + [64724] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4933), 1, + aux_sym_preproc_if_token2, + [64731] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4935), 1, + aux_sym_preproc_if_token2, + [64738] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4937), 1, + aux_sym_preproc_include_token2, + [64745] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4939), 1, + anon_sym_SEMI, + [64752] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4941), 1, + aux_sym_preproc_include_token2, + [64759] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4943), 1, + anon_sym_COLON, + [64766] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4945), 1, + anon_sym_STAR, + [64773] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4947), 1, + anon_sym_RPAREN, + [64780] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4949), 1, + aux_sym_preproc_include_token2, + [64787] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4951), 1, + aux_sym_preproc_if_token2, + [64794] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4953), 1, + anon_sym_SEMI, + [64801] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4955), 1, + anon_sym_RPAREN, + [64808] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4957), 1, + anon_sym_RPAREN, + [64815] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4620), 1, + aux_sym_preproc_include_token2, + [64822] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4959), 1, + aux_sym_preproc_if_token2, + [64829] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4961), 1, + aux_sym_preproc_include_token2, + [64836] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4963), 1, + aux_sym_preproc_include_token2, + [64843] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4965), 1, + sym_identifier, + [64850] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4967), 1, + aux_sym_preproc_include_token2, + [64857] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4969), 1, + anon_sym_RPAREN, + [64864] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4971), 1, + sym_identifier, + [64871] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4973), 1, + sym_identifier, + [64878] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3295), 1, + anon_sym_RPAREN, + [64885] = 2, + ACTIONS(2276), 1, + aux_sym_preproc_include_token2, + ACTIONS(3515), 1, + sym_comment, + [64892] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4975), 1, + anon_sym_COMMA, + [64899] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4977), 1, + aux_sym_preproc_if_token2, + [64906] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4979), 1, + aux_sym_preproc_include_token2, + [64913] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4981), 1, + aux_sym_preproc_if_token2, + [64920] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4983), 1, + anon_sym_RPAREN, + [64927] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4985), 1, + sym_identifier, + [64934] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3327), 1, + anon_sym_COLON, + [64941] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4987), 1, + aux_sym_preproc_if_token2, + [64948] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4989), 1, + aux_sym_preproc_if_token2, + [64955] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3293), 1, + anon_sym_SEMI, + [64962] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4991), 1, + anon_sym_RPAREN, + [64969] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4993), 1, + anon_sym_RPAREN, + [64976] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3303), 1, + anon_sym_RPAREN, + [64983] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4995), 1, + anon_sym_STAR, + [64990] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4997), 1, + anon_sym_while, + [64997] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4999), 1, + anon_sym_LPAREN2, + [65004] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(5001), 1, + aux_sym_preproc_include_token2, + [65011] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5003), 1, + anon_sym_RPAREN, + [65018] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5005), 1, + aux_sym_preproc_if_token2, + [65025] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5007), 1, + anon_sym_COLON, + [65032] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5009), 1, + anon_sym_SEMI, + [65039] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5011), 1, + anon_sym_RPAREN, + [65046] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5013), 1, + anon_sym_COLON, + [65053] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5015), 1, + anon_sym_SEMI, + [65060] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5017), 1, + sym_identifier, + [65067] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5019), 1, + anon_sym_LPAREN2, + [65074] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5021), 1, + anon_sym_SEMI, + [65081] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5023), 1, + sym_identifier, + [65088] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5025), 1, + anon_sym_RPAREN, + [65095] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3307), 1, + anon_sym_RPAREN, + [65102] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3281), 1, + anon_sym_SEMI, + [65109] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5027), 1, + anon_sym_RBRACE, + [65116] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3285), 1, + anon_sym_RPAREN, + [65123] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4700), 1, + aux_sym_preproc_include_token2, + [65130] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4792), 1, + anon_sym_RBRACE, + [65137] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5029), 1, + anon_sym_SEMI, + [65144] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5031), 1, + anon_sym_LPAREN2, + [65151] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5033), 1, + aux_sym_preproc_if_token2, + [65158] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5035), 1, + anon_sym_RBRACE, + [65165] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5037), 1, + sym_identifier, + [65172] = 2, + ACTIONS(2260), 1, + aux_sym_preproc_include_token2, + ACTIONS(3515), 1, + sym_comment, + [65179] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5039), 1, + sym_identifier, + [65186] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5041), 1, + aux_sym_preproc_if_token2, + [65193] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3287), 1, + anon_sym_SEMI, + [65200] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5043), 1, + sym_identifier, + [65207] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5045), 1, + anon_sym_SEMI, + [65214] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5047), 1, + anon_sym_RPAREN, + [65221] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5049), 1, + anon_sym_RPAREN, + [65228] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5051), 1, + aux_sym_preproc_if_token2, + [65235] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5053), 1, + sym_identifier, + [65242] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5055), 1, + anon_sym_COLON, + [65249] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4528), 1, + aux_sym_preproc_include_token2, + [65256] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5057), 1, + anon_sym_RPAREN, + [65263] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(5059), 1, + aux_sym_preproc_include_token2, + [65270] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(5061), 1, + aux_sym_preproc_include_token2, + [65277] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3305), 1, + anon_sym_COLON, + [65284] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3315), 1, + anon_sym_RPAREN, + [65291] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3225), 1, + anon_sym_RBRACE, + [65298] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5063), 1, + anon_sym_SEMI, + [65305] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5065), 1, + aux_sym_preproc_if_token2, + [65312] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5067), 1, + anon_sym_RPAREN, + [65319] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5069), 1, + sym_identifier, + [65326] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5071), 1, + sym_identifier, + [65333] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5073), 1, + aux_sym_preproc_if_token2, + [65340] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5075), 1, + anon_sym_LPAREN2, + [65347] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5077), 1, + aux_sym_preproc_if_token2, + [65354] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5079), 1, + aux_sym_preproc_if_token2, + [65361] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5081), 1, + sym_identifier, + [65368] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5083), 1, + aux_sym_preproc_if_token2, + [65375] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5085), 1, + aux_sym_preproc_if_token2, + [65382] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(5087), 1, + aux_sym_preproc_include_token2, + [65389] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5089), 1, + aux_sym_preproc_if_token2, + [65396] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4186), 1, + anon_sym_COMMA, + [65403] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5091), 1, + sym_primitive_type, + [65410] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5093), 1, + anon_sym_SEMI, + [65417] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5095), 1, + aux_sym_preproc_if_token2, + [65424] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + sym_identifier, + [65431] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4790), 1, + anon_sym_COMMA, + [65438] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3313), 1, + anon_sym_SEMI, + [65445] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5099), 1, + aux_sym_preproc_if_token2, + [65452] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3289), 1, + anon_sym_SEMI, + [65459] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_SEMI, + [65466] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5103), 1, + anon_sym_SEMI, + [65473] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3311), 1, + anon_sym_COLON, + [65480] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5105), 1, + anon_sym_RBRACE, + [65487] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3319), 1, + anon_sym_SEMI, + [65494] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5107), 1, + sym_identifier, + [65501] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5109), 1, + sym_identifier, + [65508] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5111), 1, + sym_identifier, + [65515] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5113), 1, + aux_sym_preproc_if_token2, + [65522] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5115), 1, + anon_sym_SEMI, + [65529] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5117), 1, + aux_sym_preproc_if_token2, + [65536] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5119), 1, + sym_identifier, + [65543] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_SEMI, + [65550] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3359), 1, + anon_sym_RPAREN, + [65557] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5123), 1, + sym_identifier, + [65564] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5125), 1, + aux_sym_preproc_if_token2, + [65571] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3309), 1, + anon_sym_RPAREN, + [65578] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5127), 1, + aux_sym_preproc_if_token2, + [65585] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5129), 1, + aux_sym_preproc_if_token2, + [65592] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5131), 1, + anon_sym_RPAREN, + [65599] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5133), 1, + anon_sym_SEMI, + [65606] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5135), 1, + anon_sym_SEMI, + [65613] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5137), 1, + sym_identifier, + [65620] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5139), 1, + sym_identifier, + [65627] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5141), 1, + anon_sym_SEMI, + [65634] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5143), 1, + aux_sym_preproc_if_token2, + [65641] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5145), 1, + sym_identifier, + [65648] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5147), 1, + aux_sym_preproc_if_token2, + [65655] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5149), 1, + anon_sym_RPAREN, + [65662] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3361), 1, + anon_sym_RPAREN, + [65669] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_SEMI, + [65676] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5151), 1, + sym_identifier, + [65683] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5153), 1, + anon_sym_SEMI, + [65690] = 2, + ACTIONS(3189), 1, + aux_sym_preproc_include_token2, + ACTIONS(3515), 1, + sym_comment, + [65697] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5155), 1, + anon_sym_RBRACK, + [65704] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5157), 1, + anon_sym_SEMI, + [65711] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5159), 1, + sym_identifier, + [65718] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5161), 1, + sym_identifier, + [65725] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5163), 1, + aux_sym_preproc_if_token2, + [65732] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(5165), 1, + aux_sym_preproc_include_token2, + [65739] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5167), 1, + anon_sym_RBRACE, + [65746] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3275), 1, + anon_sym_SEMI, + [65753] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 1, + sym_identifier, + [65760] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5171), 1, + anon_sym_LPAREN2, + [65767] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5173), 1, + anon_sym_STAR, + [65774] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5175), 1, + aux_sym_preproc_if_token2, + [65781] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(5177), 1, + aux_sym_preproc_include_token2, + [65788] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5179), 1, + sym_identifier, + [65795] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4595), 1, + anon_sym_RPAREN, + [65802] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5181), 1, + aux_sym_preproc_if_token2, + [65809] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5183), 1, + anon_sym_SEMI, + [65816] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5185), 1, + sym_primitive_type, + [65823] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5187), 1, + anon_sym_RPAREN, + [65830] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5189), 1, + aux_sym_preproc_if_token2, + [65837] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5191), 1, + anon_sym_LPAREN2, + [65844] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3325), 1, + anon_sym_SEMI, + [65851] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3297), 1, + anon_sym_SEMI, + [65858] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5193), 1, + sym_identifier, + [65865] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5195), 1, + anon_sym_STAR, + [65872] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5197), 1, + anon_sym_RPAREN, + [65879] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5199), 1, + sym_identifier, + [65886] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5201), 1, + sym_identifier, + [65893] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5203), 1, + sym_identifier, + [65900] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5205), 1, + aux_sym_preproc_if_token2, + [65907] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3273), 1, + anon_sym_RPAREN, + [65914] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3279), 1, + anon_sym_SEMI, + [65921] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5207), 1, + anon_sym_LPAREN2, + [65928] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5209), 1, + aux_sym_preproc_if_token2, + [65935] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5211), 1, + anon_sym_LPAREN2, + [65942] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5213), 1, + anon_sym_LPAREN2, + [65949] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3261), 1, + anon_sym_COLON, + [65956] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5215), 1, + aux_sym_preproc_if_token2, + [65963] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5217), 1, + ts_builtin_sym_end, + [65970] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5219), 1, + anon_sym_RBRACK, + [65977] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5221), 1, + anon_sym_RPAREN, + [65984] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5223), 1, + anon_sym_SEMI, + [65991] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5225), 1, + anon_sym_LPAREN2, + [65998] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5227), 1, + aux_sym_preproc_if_token2, + [66005] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5229), 1, + aux_sym_preproc_if_token2, + [66012] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5231), 1, + anon_sym_while, + [66019] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(4770), 1, + aux_sym_preproc_include_token2, + [66026] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5233), 1, + anon_sym_SEMI, + [66033] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5235), 1, + anon_sym_LPAREN2, + [66040] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5237), 1, + anon_sym_STAR, + [66047] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5239), 1, + aux_sym_preproc_if_token2, + [66054] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5241), 1, + anon_sym_RPAREN, + [66061] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5243), 1, + anon_sym_RPAREN, + [66068] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5245), 1, + sym_identifier, + [66075] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3317), 1, + anon_sym_COLON, + [66082] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3263), 1, + anon_sym_COLON, + [66089] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5247), 1, + anon_sym_RPAREN, + [66096] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5249), 1, + anon_sym_LPAREN2, + [66103] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5251), 1, + sym_identifier, + [66110] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3283), 1, + anon_sym_RPAREN, + [66117] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5253), 1, + anon_sym_while, + [66124] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3819), 1, + anon_sym_RBRACE, + [66131] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5255), 1, + aux_sym_preproc_if_token2, + [66138] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(5257), 1, + aux_sym_preproc_include_token2, + [66145] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5259), 1, + anon_sym_RPAREN, + [66152] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5261), 1, + anon_sym_SEMI, + [66159] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5263), 1, + aux_sym_preproc_if_token2, + [66166] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5265), 1, + anon_sym_RBRACE, + [66173] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5267), 1, + anon_sym_while, + [66180] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5269), 1, + aux_sym_preproc_if_token2, + [66187] = 2, + ACTIONS(3199), 1, + aux_sym_preproc_include_token2, + ACTIONS(3515), 1, + sym_comment, + [66194] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5271), 1, + anon_sym_SEMI, + [66201] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5273), 1, + aux_sym_preproc_if_token2, + [66208] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5275), 1, + anon_sym_LPAREN2, + [66215] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5277), 1, + aux_sym_preproc_if_token2, + [66222] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5279), 1, + anon_sym_SEMI, + [66229] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5281), 1, + anon_sym_LPAREN2, + [66236] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5283), 1, + anon_sym_COLON, + [66243] = 2, + ACTIONS(3515), 1, + sym_comment, + ACTIONS(5285), 1, + aux_sym_preproc_include_token2, + [66250] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5287), 1, + anon_sym_LPAREN2, +}; + +static const uint32_t ts_small_parse_table_map[] = { + [SMALL_STATE(463)] = 0, + [SMALL_STATE(464)] = 113, + [SMALL_STATE(465)] = 226, + [SMALL_STATE(466)] = 339, + [SMALL_STATE(467)] = 452, + [SMALL_STATE(468)] = 565, + [SMALL_STATE(469)] = 678, + [SMALL_STATE(470)] = 791, + [SMALL_STATE(471)] = 904, + [SMALL_STATE(472)] = 1017, + [SMALL_STATE(473)] = 1130, + [SMALL_STATE(474)] = 1243, + [SMALL_STATE(475)] = 1356, + [SMALL_STATE(476)] = 1469, + [SMALL_STATE(477)] = 1582, + [SMALL_STATE(478)] = 1695, + [SMALL_STATE(479)] = 1808, + [SMALL_STATE(480)] = 1921, + [SMALL_STATE(481)] = 2034, + [SMALL_STATE(482)] = 2147, + [SMALL_STATE(483)] = 2260, + [SMALL_STATE(484)] = 2373, + [SMALL_STATE(485)] = 2486, + [SMALL_STATE(486)] = 2599, + [SMALL_STATE(487)] = 2712, + [SMALL_STATE(488)] = 2825, + [SMALL_STATE(489)] = 2938, + [SMALL_STATE(490)] = 3051, + [SMALL_STATE(491)] = 3164, + [SMALL_STATE(492)] = 3277, + [SMALL_STATE(493)] = 3387, + [SMALL_STATE(494)] = 3497, + [SMALL_STATE(495)] = 3607, + [SMALL_STATE(496)] = 3717, + [SMALL_STATE(497)] = 3827, + [SMALL_STATE(498)] = 3937, + [SMALL_STATE(499)] = 4047, + [SMALL_STATE(500)] = 4157, + [SMALL_STATE(501)] = 4267, + [SMALL_STATE(502)] = 4377, + [SMALL_STATE(503)] = 4487, + [SMALL_STATE(504)] = 4597, + [SMALL_STATE(505)] = 4707, + [SMALL_STATE(506)] = 4817, + [SMALL_STATE(507)] = 4927, + [SMALL_STATE(508)] = 5034, + [SMALL_STATE(509)] = 5141, + [SMALL_STATE(510)] = 5248, + [SMALL_STATE(511)] = 5355, + [SMALL_STATE(512)] = 5462, + [SMALL_STATE(513)] = 5569, + [SMALL_STATE(514)] = 5676, + [SMALL_STATE(515)] = 5783, + [SMALL_STATE(516)] = 5890, + [SMALL_STATE(517)] = 5997, + [SMALL_STATE(518)] = 6104, + [SMALL_STATE(519)] = 6211, + [SMALL_STATE(520)] = 6318, + [SMALL_STATE(521)] = 6425, + [SMALL_STATE(522)] = 6532, + [SMALL_STATE(523)] = 6639, + [SMALL_STATE(524)] = 6746, + [SMALL_STATE(525)] = 6853, + [SMALL_STATE(526)] = 6960, + [SMALL_STATE(527)] = 7067, + [SMALL_STATE(528)] = 7174, + [SMALL_STATE(529)] = 7281, + [SMALL_STATE(530)] = 7388, + [SMALL_STATE(531)] = 7495, + [SMALL_STATE(532)] = 7602, + [SMALL_STATE(533)] = 7709, + [SMALL_STATE(534)] = 7816, + [SMALL_STATE(535)] = 7923, + [SMALL_STATE(536)] = 8030, + [SMALL_STATE(537)] = 8137, + [SMALL_STATE(538)] = 8244, + [SMALL_STATE(539)] = 8351, + [SMALL_STATE(540)] = 8458, + [SMALL_STATE(541)] = 8565, + [SMALL_STATE(542)] = 8672, + [SMALL_STATE(543)] = 8779, + [SMALL_STATE(544)] = 8886, + [SMALL_STATE(545)] = 8993, + [SMALL_STATE(546)] = 9100, + [SMALL_STATE(547)] = 9207, + [SMALL_STATE(548)] = 9314, + [SMALL_STATE(549)] = 9421, + [SMALL_STATE(550)] = 9528, + [SMALL_STATE(551)] = 9619, + [SMALL_STATE(552)] = 9726, + [SMALL_STATE(553)] = 9833, + [SMALL_STATE(554)] = 9940, + [SMALL_STATE(555)] = 10047, + [SMALL_STATE(556)] = 10154, + [SMALL_STATE(557)] = 10261, + [SMALL_STATE(558)] = 10368, + [SMALL_STATE(559)] = 10475, + [SMALL_STATE(560)] = 10582, + [SMALL_STATE(561)] = 10689, + [SMALL_STATE(562)] = 10796, + [SMALL_STATE(563)] = 10903, + [SMALL_STATE(564)] = 11010, + [SMALL_STATE(565)] = 11117, + [SMALL_STATE(566)] = 11224, + [SMALL_STATE(567)] = 11331, + [SMALL_STATE(568)] = 11438, + [SMALL_STATE(569)] = 11545, + [SMALL_STATE(570)] = 11652, + [SMALL_STATE(571)] = 11759, + [SMALL_STATE(572)] = 11866, + [SMALL_STATE(573)] = 11973, + [SMALL_STATE(574)] = 12080, + [SMALL_STATE(575)] = 12187, + [SMALL_STATE(576)] = 12294, + [SMALL_STATE(577)] = 12401, + [SMALL_STATE(578)] = 12508, + [SMALL_STATE(579)] = 12615, + [SMALL_STATE(580)] = 12722, + [SMALL_STATE(581)] = 12829, + [SMALL_STATE(582)] = 12936, + [SMALL_STATE(583)] = 13043, + [SMALL_STATE(584)] = 13150, + [SMALL_STATE(585)] = 13257, + [SMALL_STATE(586)] = 13364, + [SMALL_STATE(587)] = 13471, + [SMALL_STATE(588)] = 13578, + [SMALL_STATE(589)] = 13685, + [SMALL_STATE(590)] = 13792, + [SMALL_STATE(591)] = 13899, + [SMALL_STATE(592)] = 14006, + [SMALL_STATE(593)] = 14113, + [SMALL_STATE(594)] = 14220, + [SMALL_STATE(595)] = 14327, + [SMALL_STATE(596)] = 14434, + [SMALL_STATE(597)] = 14541, + [SMALL_STATE(598)] = 14648, + [SMALL_STATE(599)] = 14755, + [SMALL_STATE(600)] = 14862, + [SMALL_STATE(601)] = 14969, + [SMALL_STATE(602)] = 15076, + [SMALL_STATE(603)] = 15183, + [SMALL_STATE(604)] = 15290, + [SMALL_STATE(605)] = 15397, + [SMALL_STATE(606)] = 15504, + [SMALL_STATE(607)] = 15611, + [SMALL_STATE(608)] = 15718, + [SMALL_STATE(609)] = 15825, + [SMALL_STATE(610)] = 15932, + [SMALL_STATE(611)] = 16039, + [SMALL_STATE(612)] = 16146, + [SMALL_STATE(613)] = 16253, + [SMALL_STATE(614)] = 16360, + [SMALL_STATE(615)] = 16467, + [SMALL_STATE(616)] = 16574, + [SMALL_STATE(617)] = 16681, + [SMALL_STATE(618)] = 16788, + [SMALL_STATE(619)] = 16895, + [SMALL_STATE(620)] = 17002, + [SMALL_STATE(621)] = 17109, + [SMALL_STATE(622)] = 17216, + [SMALL_STATE(623)] = 17323, + [SMALL_STATE(624)] = 17430, + [SMALL_STATE(625)] = 17537, + [SMALL_STATE(626)] = 17644, + [SMALL_STATE(627)] = 17751, + [SMALL_STATE(628)] = 17858, + [SMALL_STATE(629)] = 17930, + [SMALL_STATE(630)] = 18002, + [SMALL_STATE(631)] = 18074, + [SMALL_STATE(632)] = 18143, + [SMALL_STATE(633)] = 18252, + [SMALL_STATE(634)] = 18359, + [SMALL_STATE(635)] = 18423, + [SMALL_STATE(636)] = 18487, + [SMALL_STATE(637)] = 18551, + [SMALL_STATE(638)] = 18615, + [SMALL_STATE(639)] = 18679, + [SMALL_STATE(640)] = 18743, + [SMALL_STATE(641)] = 18807, + [SMALL_STATE(642)] = 18871, + [SMALL_STATE(643)] = 18935, + [SMALL_STATE(644)] = 18999, + [SMALL_STATE(645)] = 19063, + [SMALL_STATE(646)] = 19127, + [SMALL_STATE(647)] = 19207, + [SMALL_STATE(648)] = 19308, + [SMALL_STATE(649)] = 19409, + [SMALL_STATE(650)] = 19510, + [SMALL_STATE(651)] = 19611, + [SMALL_STATE(652)] = 19712, + [SMALL_STATE(653)] = 19813, + [SMALL_STATE(654)] = 19914, + [SMALL_STATE(655)] = 20015, + [SMALL_STATE(656)] = 20116, + [SMALL_STATE(657)] = 20217, + [SMALL_STATE(658)] = 20318, + [SMALL_STATE(659)] = 20419, + [SMALL_STATE(660)] = 20520, + [SMALL_STATE(661)] = 20621, + [SMALL_STATE(662)] = 20722, + [SMALL_STATE(663)] = 20823, + [SMALL_STATE(664)] = 20923, + [SMALL_STATE(665)] = 21021, + [SMALL_STATE(666)] = 21119, + [SMALL_STATE(667)] = 21181, + [SMALL_STATE(668)] = 21252, + [SMALL_STATE(669)] = 21313, + [SMALL_STATE(670)] = 21374, + [SMALL_STATE(671)] = 21435, + [SMALL_STATE(672)] = 21495, + [SMALL_STATE(673)] = 21563, + [SMALL_STATE(674)] = 21629, + [SMALL_STATE(675)] = 21720, + [SMALL_STATE(676)] = 21811, + [SMALL_STATE(677)] = 21870, + [SMALL_STATE(678)] = 21929, + [SMALL_STATE(679)] = 21988, + [SMALL_STATE(680)] = 22047, + [SMALL_STATE(681)] = 22106, + [SMALL_STATE(682)] = 22165, + [SMALL_STATE(683)] = 22224, + [SMALL_STATE(684)] = 22315, + [SMALL_STATE(685)] = 22374, + [SMALL_STATE(686)] = 22433, + [SMALL_STATE(687)] = 22492, + [SMALL_STATE(688)] = 22551, + [SMALL_STATE(689)] = 22610, + [SMALL_STATE(690)] = 22669, + [SMALL_STATE(691)] = 22728, + [SMALL_STATE(692)] = 22819, + [SMALL_STATE(693)] = 22878, + [SMALL_STATE(694)] = 22937, + [SMALL_STATE(695)] = 23028, + [SMALL_STATE(696)] = 23119, + [SMALL_STATE(697)] = 23210, + [SMALL_STATE(698)] = 23301, + [SMALL_STATE(699)] = 23360, + [SMALL_STATE(700)] = 23418, + [SMALL_STATE(701)] = 23486, + [SMALL_STATE(702)] = 23544, + [SMALL_STATE(703)] = 23612, + [SMALL_STATE(704)] = 23670, + [SMALL_STATE(705)] = 23738, + [SMALL_STATE(706)] = 23806, + [SMALL_STATE(707)] = 23864, + [SMALL_STATE(708)] = 23932, + [SMALL_STATE(709)] = 23998, + [SMALL_STATE(710)] = 24056, + [SMALL_STATE(711)] = 24144, + [SMALL_STATE(712)] = 24209, + [SMALL_STATE(713)] = 24274, + [SMALL_STATE(714)] = 24347, + [SMALL_STATE(715)] = 24408, + [SMALL_STATE(716)] = 24465, + [SMALL_STATE(717)] = 24522, + [SMALL_STATE(718)] = 24587, + [SMALL_STATE(719)] = 24652, + [SMALL_STATE(720)] = 24717, + [SMALL_STATE(721)] = 24774, + [SMALL_STATE(722)] = 24839, + [SMALL_STATE(723)] = 24912, + [SMALL_STATE(724)] = 24977, + [SMALL_STATE(725)] = 25049, + [SMALL_STATE(726)] = 25121, + [SMALL_STATE(727)] = 25177, + [SMALL_STATE(728)] = 25249, + [SMALL_STATE(729)] = 25321, + [SMALL_STATE(730)] = 25377, + [SMALL_STATE(731)] = 25433, + [SMALL_STATE(732)] = 25492, + [SMALL_STATE(733)] = 25551, + [SMALL_STATE(734)] = 25610, + [SMALL_STATE(735)] = 25669, + [SMALL_STATE(736)] = 25728, + [SMALL_STATE(737)] = 25787, + [SMALL_STATE(738)] = 25846, + [SMALL_STATE(739)] = 25905, + [SMALL_STATE(740)] = 25964, + [SMALL_STATE(741)] = 26023, + [SMALL_STATE(742)] = 26082, + [SMALL_STATE(743)] = 26136, + [SMALL_STATE(744)] = 26190, + [SMALL_STATE(745)] = 26244, + [SMALL_STATE(746)] = 26302, + [SMALL_STATE(747)] = 26356, + [SMALL_STATE(748)] = 26414, + [SMALL_STATE(749)] = 26468, + [SMALL_STATE(750)] = 26528, + [SMALL_STATE(751)] = 26586, + [SMALL_STATE(752)] = 26644, + [SMALL_STATE(753)] = 26702, + [SMALL_STATE(754)] = 26760, + [SMALL_STATE(755)] = 26818, + [SMALL_STATE(756)] = 26876, + [SMALL_STATE(757)] = 26934, + [SMALL_STATE(758)] = 26988, + [SMALL_STATE(759)] = 27042, + [SMALL_STATE(760)] = 27096, + [SMALL_STATE(761)] = 27150, + [SMALL_STATE(762)] = 27204, + [SMALL_STATE(763)] = 27258, + [SMALL_STATE(764)] = 27312, + [SMALL_STATE(765)] = 27366, + [SMALL_STATE(766)] = 27420, + [SMALL_STATE(767)] = 27480, + [SMALL_STATE(768)] = 27534, + [SMALL_STATE(769)] = 27592, + [SMALL_STATE(770)] = 27646, + [SMALL_STATE(771)] = 27704, + [SMALL_STATE(772)] = 27762, + [SMALL_STATE(773)] = 27816, + [SMALL_STATE(774)] = 27870, + [SMALL_STATE(775)] = 27924, + [SMALL_STATE(776)] = 27978, + [SMALL_STATE(777)] = 28032, + [SMALL_STATE(778)] = 28086, + [SMALL_STATE(779)] = 28140, + [SMALL_STATE(780)] = 28194, + [SMALL_STATE(781)] = 28248, + [SMALL_STATE(782)] = 28302, + [SMALL_STATE(783)] = 28356, + [SMALL_STATE(784)] = 28447, + [SMALL_STATE(785)] = 28500, + [SMALL_STATE(786)] = 28553, + [SMALL_STATE(787)] = 28606, + [SMALL_STATE(788)] = 28659, + [SMALL_STATE(789)] = 28722, + [SMALL_STATE(790)] = 28775, + [SMALL_STATE(791)] = 28828, + [SMALL_STATE(792)] = 28881, + [SMALL_STATE(793)] = 28944, + [SMALL_STATE(794)] = 29015, + [SMALL_STATE(795)] = 29068, + [SMALL_STATE(796)] = 29121, + [SMALL_STATE(797)] = 29184, + [SMALL_STATE(798)] = 29275, + [SMALL_STATE(799)] = 29346, + [SMALL_STATE(800)] = 29409, + [SMALL_STATE(801)] = 29480, + [SMALL_STATE(802)] = 29543, + [SMALL_STATE(803)] = 29596, + [SMALL_STATE(804)] = 29649, + [SMALL_STATE(805)] = 29712, + [SMALL_STATE(806)] = 29765, + [SMALL_STATE(807)] = 29818, + [SMALL_STATE(808)] = 29871, + [SMALL_STATE(809)] = 29924, + [SMALL_STATE(810)] = 29977, + [SMALL_STATE(811)] = 30030, + [SMALL_STATE(812)] = 30083, + [SMALL_STATE(813)] = 30154, + [SMALL_STATE(814)] = 30220, + [SMALL_STATE(815)] = 30278, + [SMALL_STATE(816)] = 30352, + [SMALL_STATE(817)] = 30424, + [SMALL_STATE(818)] = 30510, + [SMALL_STATE(819)] = 30572, + [SMALL_STATE(820)] = 30656, + [SMALL_STATE(821)] = 30724, + [SMALL_STATE(822)] = 30788, + [SMALL_STATE(823)] = 30846, + [SMALL_STATE(824)] = 30932, + [SMALL_STATE(825)] = 30996, + [SMALL_STATE(826)] = 31078, + [SMALL_STATE(827)] = 31158, + [SMALL_STATE(828)] = 31234, + [SMALL_STATE(829)] = 31310, + [SMALL_STATE(830)] = 31384, + [SMALL_STATE(831)] = 31456, + [SMALL_STATE(832)] = 31524, + [SMALL_STATE(833)] = 31590, + [SMALL_STATE(834)] = 31676, + [SMALL_STATE(835)] = 31762, + [SMALL_STATE(836)] = 31846, + [SMALL_STATE(837)] = 31926, + [SMALL_STATE(838)] = 32008, + [SMALL_STATE(839)] = 32094, + [SMALL_STATE(840)] = 32172, + [SMALL_STATE(841)] = 32232, + [SMALL_STATE(842)] = 32318, + [SMALL_STATE(843)] = 32396, + [SMALL_STATE(844)] = 32451, + [SMALL_STATE(845)] = 32510, + [SMALL_STATE(846)] = 32565, + [SMALL_STATE(847)] = 32615, + [SMALL_STATE(848)] = 32701, + [SMALL_STATE(849)] = 32787, + [SMALL_STATE(850)] = 32837, + [SMALL_STATE(851)] = 32890, + [SMALL_STATE(852)] = 32939, + [SMALL_STATE(853)] = 32988, + [SMALL_STATE(854)] = 33041, + [SMALL_STATE(855)] = 33090, + [SMALL_STATE(856)] = 33139, + [SMALL_STATE(857)] = 33188, + [SMALL_STATE(858)] = 33237, + [SMALL_STATE(859)] = 33286, + [SMALL_STATE(860)] = 33335, + [SMALL_STATE(861)] = 33384, + [SMALL_STATE(862)] = 33433, + [SMALL_STATE(863)] = 33482, + [SMALL_STATE(864)] = 33531, + [SMALL_STATE(865)] = 33580, + [SMALL_STATE(866)] = 33629, + [SMALL_STATE(867)] = 33678, + [SMALL_STATE(868)] = 33727, + [SMALL_STATE(869)] = 33780, + [SMALL_STATE(870)] = 33833, + [SMALL_STATE(871)] = 33882, + [SMALL_STATE(872)] = 33931, + [SMALL_STATE(873)] = 33980, + [SMALL_STATE(874)] = 34029, + [SMALL_STATE(875)] = 34078, + [SMALL_STATE(876)] = 34127, + [SMALL_STATE(877)] = 34180, + [SMALL_STATE(878)] = 34229, + [SMALL_STATE(879)] = 34282, + [SMALL_STATE(880)] = 34335, + [SMALL_STATE(881)] = 34384, + [SMALL_STATE(882)] = 34433, + [SMALL_STATE(883)] = 34482, + [SMALL_STATE(884)] = 34531, + [SMALL_STATE(885)] = 34580, + [SMALL_STATE(886)] = 34629, + [SMALL_STATE(887)] = 34678, + [SMALL_STATE(888)] = 34727, + [SMALL_STATE(889)] = 34776, + [SMALL_STATE(890)] = 34825, + [SMALL_STATE(891)] = 34874, + [SMALL_STATE(892)] = 34923, + [SMALL_STATE(893)] = 34972, + [SMALL_STATE(894)] = 35049, + [SMALL_STATE(895)] = 35096, + [SMALL_STATE(896)] = 35155, + [SMALL_STATE(897)] = 35214, + [SMALL_STATE(898)] = 35273, + [SMALL_STATE(899)] = 35356, + [SMALL_STATE(900)] = 35417, + [SMALL_STATE(901)] = 35496, + [SMALL_STATE(902)] = 35573, + [SMALL_STATE(903)] = 35648, + [SMALL_STATE(904)] = 35721, + [SMALL_STATE(905)] = 35792, + [SMALL_STATE(906)] = 35861, + [SMALL_STATE(907)] = 35926, + [SMALL_STATE(908)] = 35989, + [SMALL_STATE(909)] = 36066, + [SMALL_STATE(910)] = 36149, + [SMALL_STATE(911)] = 36232, + [SMALL_STATE(912)] = 36313, + [SMALL_STATE(913)] = 36370, + [SMALL_STATE(914)] = 36429, + [SMALL_STATE(915)] = 36488, + [SMALL_STATE(916)] = 36547, + [SMALL_STATE(917)] = 36624, + [SMALL_STATE(918)] = 36701, + [SMALL_STATE(919)] = 36747, + [SMALL_STATE(920)] = 36793, + [SMALL_STATE(921)] = 36839, + [SMALL_STATE(922)] = 36885, + [SMALL_STATE(923)] = 36931, + [SMALL_STATE(924)] = 36987, + [SMALL_STATE(925)] = 37033, + [SMALL_STATE(926)] = 37079, + [SMALL_STATE(927)] = 37125, + [SMALL_STATE(928)] = 37171, + [SMALL_STATE(929)] = 37217, + [SMALL_STATE(930)] = 37263, + [SMALL_STATE(931)] = 37309, + [SMALL_STATE(932)] = 37355, + [SMALL_STATE(933)] = 37405, + [SMALL_STATE(934)] = 37459, + [SMALL_STATE(935)] = 37534, + [SMALL_STATE(936)] = 37585, + [SMALL_STATE(937)] = 37660, + [SMALL_STATE(938)] = 37704, + [SMALL_STATE(939)] = 37748, + [SMALL_STATE(940)] = 37792, + [SMALL_STATE(941)] = 37836, + [SMALL_STATE(942)] = 37880, + [SMALL_STATE(943)] = 37924, + [SMALL_STATE(944)] = 37968, + [SMALL_STATE(945)] = 38012, + [SMALL_STATE(946)] = 38056, + [SMALL_STATE(947)] = 38100, + [SMALL_STATE(948)] = 38144, + [SMALL_STATE(949)] = 38188, + [SMALL_STATE(950)] = 38232, + [SMALL_STATE(951)] = 38283, + [SMALL_STATE(952)] = 38356, + [SMALL_STATE(953)] = 38429, + [SMALL_STATE(954)] = 38499, + [SMALL_STATE(955)] = 38567, + [SMALL_STATE(956)] = 38635, + [SMALL_STATE(957)] = 38703, + [SMALL_STATE(958)] = 38773, + [SMALL_STATE(959)] = 38841, + [SMALL_STATE(960)] = 38909, + [SMALL_STATE(961)] = 38977, + [SMALL_STATE(962)] = 39045, + [SMALL_STATE(963)] = 39113, + [SMALL_STATE(964)] = 39181, + [SMALL_STATE(965)] = 39249, + [SMALL_STATE(966)] = 39317, + [SMALL_STATE(967)] = 39385, + [SMALL_STATE(968)] = 39448, + [SMALL_STATE(969)] = 39525, + [SMALL_STATE(970)] = 39600, + [SMALL_STATE(971)] = 39677, + [SMALL_STATE(972)] = 39732, + [SMALL_STATE(973)] = 39805, + [SMALL_STATE(974)] = 39876, + [SMALL_STATE(975)] = 39945, + [SMALL_STATE(976)] = 40012, + [SMALL_STATE(977)] = 40077, + [SMALL_STATE(978)] = 40140, + [SMALL_STATE(979)] = 40199, + [SMALL_STATE(980)] = 40256, + [SMALL_STATE(981)] = 40333, + [SMALL_STATE(982)] = 40410, + [SMALL_STATE(983)] = 40487, + [SMALL_STATE(984)] = 40542, + [SMALL_STATE(985)] = 40615, + [SMALL_STATE(986)] = 40686, + [SMALL_STATE(987)] = 40755, + [SMALL_STATE(988)] = 40830, + [SMALL_STATE(989)] = 40897, + [SMALL_STATE(990)] = 40962, + [SMALL_STATE(991)] = 41039, + [SMALL_STATE(992)] = 41098, + [SMALL_STATE(993)] = 41155, + [SMALL_STATE(994)] = 41232, + [SMALL_STATE(995)] = 41296, + [SMALL_STATE(996)] = 41360, + [SMALL_STATE(997)] = 41400, + [SMALL_STATE(998)] = 41464, + [SMALL_STATE(999)] = 41504, + [SMALL_STATE(1000)] = 41544, + [SMALL_STATE(1001)] = 41584, + [SMALL_STATE(1002)] = 41648, + [SMALL_STATE(1003)] = 41712, + [SMALL_STATE(1004)] = 41776, + [SMALL_STATE(1005)] = 41816, + [SMALL_STATE(1006)] = 41880, + [SMALL_STATE(1007)] = 41944, + [SMALL_STATE(1008)] = 42008, + [SMALL_STATE(1009)] = 42072, + [SMALL_STATE(1010)] = 42136, + [SMALL_STATE(1011)] = 42200, + [SMALL_STATE(1012)] = 42264, + [SMALL_STATE(1013)] = 42304, + [SMALL_STATE(1014)] = 42365, + [SMALL_STATE(1015)] = 42426, + [SMALL_STATE(1016)] = 42487, + [SMALL_STATE(1017)] = 42548, + [SMALL_STATE(1018)] = 42609, + [SMALL_STATE(1019)] = 42670, + [SMALL_STATE(1020)] = 42744, + [SMALL_STATE(1021)] = 42792, + [SMALL_STATE(1022)] = 42866, + [SMALL_STATE(1023)] = 42912, + [SMALL_STATE(1024)] = 42987, + [SMALL_STATE(1025)] = 43062, + [SMALL_STATE(1026)] = 43137, + [SMALL_STATE(1027)] = 43212, + [SMALL_STATE(1028)] = 43282, + [SMALL_STATE(1029)] = 43356, + [SMALL_STATE(1030)] = 43428, + [SMALL_STATE(1031)] = 43480, + [SMALL_STATE(1032)] = 43548, + [SMALL_STATE(1033)] = 43614, + [SMALL_STATE(1034)] = 43680, + [SMALL_STATE(1035)] = 43744, + [SMALL_STATE(1036)] = 43806, + [SMALL_STATE(1037)] = 43866, + [SMALL_STATE(1038)] = 43922, + [SMALL_STATE(1039)] = 43976, + [SMALL_STATE(1040)] = 44048, + [SMALL_STATE(1041)] = 44120, + [SMALL_STATE(1042)] = 44192, + [SMALL_STATE(1043)] = 44264, + [SMALL_STATE(1044)] = 44334, + [SMALL_STATE(1045)] = 44374, + [SMALL_STATE(1046)] = 44444, + [SMALL_STATE(1047)] = 44514, + [SMALL_STATE(1048)] = 44584, + [SMALL_STATE(1049)] = 44656, + [SMALL_STATE(1050)] = 44728, + [SMALL_STATE(1051)] = 44800, + [SMALL_STATE(1052)] = 44872, + [SMALL_STATE(1053)] = 44944, + [SMALL_STATE(1054)] = 45016, + [SMALL_STATE(1055)] = 45088, + [SMALL_STATE(1056)] = 45160, + [SMALL_STATE(1057)] = 45232, + [SMALL_STATE(1058)] = 45302, + [SMALL_STATE(1059)] = 45374, + [SMALL_STATE(1060)] = 45446, + [SMALL_STATE(1061)] = 45516, + [SMALL_STATE(1062)] = 45588, + [SMALL_STATE(1063)] = 45628, + [SMALL_STATE(1064)] = 45678, + [SMALL_STATE(1065)] = 45750, + [SMALL_STATE(1066)] = 45822, + [SMALL_STATE(1067)] = 45894, + [SMALL_STATE(1068)] = 45964, + [SMALL_STATE(1069)] = 46036, + [SMALL_STATE(1070)] = 46076, + [SMALL_STATE(1071)] = 46148, + [SMALL_STATE(1072)] = 46220, + [SMALL_STATE(1073)] = 46292, + [SMALL_STATE(1074)] = 46364, + [SMALL_STATE(1075)] = 46436, + [SMALL_STATE(1076)] = 46508, + [SMALL_STATE(1077)] = 46558, + [SMALL_STATE(1078)] = 46630, + [SMALL_STATE(1079)] = 46702, + [SMALL_STATE(1080)] = 46771, + [SMALL_STATE(1081)] = 46840, + [SMALL_STATE(1082)] = 46909, + [SMALL_STATE(1083)] = 46978, + [SMALL_STATE(1084)] = 47047, + [SMALL_STATE(1085)] = 47102, + [SMALL_STATE(1086)] = 47157, + [SMALL_STATE(1087)] = 47226, + [SMALL_STATE(1088)] = 47281, + [SMALL_STATE(1089)] = 47350, + [SMALL_STATE(1090)] = 47419, + [SMALL_STATE(1091)] = 47488, + [SMALL_STATE(1092)] = 47543, + [SMALL_STATE(1093)] = 47612, + [SMALL_STATE(1094)] = 47667, + [SMALL_STATE(1095)] = 47736, + [SMALL_STATE(1096)] = 47805, + [SMALL_STATE(1097)] = 47874, + [SMALL_STATE(1098)] = 47943, + [SMALL_STATE(1099)] = 48012, + [SMALL_STATE(1100)] = 48081, + [SMALL_STATE(1101)] = 48150, + [SMALL_STATE(1102)] = 48205, + [SMALL_STATE(1103)] = 48274, + [SMALL_STATE(1104)] = 48343, + [SMALL_STATE(1105)] = 48412, + [SMALL_STATE(1106)] = 48481, + [SMALL_STATE(1107)] = 48550, + [SMALL_STATE(1108)] = 48619, + [SMALL_STATE(1109)] = 48688, + [SMALL_STATE(1110)] = 48740, + [SMALL_STATE(1111)] = 48792, + [SMALL_STATE(1112)] = 48844, + [SMALL_STATE(1113)] = 48896, + [SMALL_STATE(1114)] = 48948, + [SMALL_STATE(1115)] = 49000, + [SMALL_STATE(1116)] = 49052, + [SMALL_STATE(1117)] = 49118, + [SMALL_STATE(1118)] = 49170, + [SMALL_STATE(1119)] = 49222, + [SMALL_STATE(1120)] = 49258, + [SMALL_STATE(1121)] = 49307, + [SMALL_STATE(1122)] = 49346, + [SMALL_STATE(1123)] = 49395, + [SMALL_STATE(1124)] = 49435, + [SMALL_STATE(1125)] = 49475, + [SMALL_STATE(1126)] = 49515, + [SMALL_STATE(1127)] = 49555, + [SMALL_STATE(1128)] = 49611, + [SMALL_STATE(1129)] = 49660, + [SMALL_STATE(1130)] = 49694, + [SMALL_STATE(1131)] = 49728, + [SMALL_STATE(1132)] = 49762, + [SMALL_STATE(1133)] = 49796, + [SMALL_STATE(1134)] = 49830, + [SMALL_STATE(1135)] = 49864, + [SMALL_STATE(1136)] = 49898, + [SMALL_STATE(1137)] = 49952, + [SMALL_STATE(1138)] = 50006, + [SMALL_STATE(1139)] = 50060, + [SMALL_STATE(1140)] = 50114, + [SMALL_STATE(1141)] = 50148, + [SMALL_STATE(1142)] = 50182, + [SMALL_STATE(1143)] = 50216, + [SMALL_STATE(1144)] = 50250, + [SMALL_STATE(1145)] = 50286, + [SMALL_STATE(1146)] = 50320, + [SMALL_STATE(1147)] = 50354, + [SMALL_STATE(1148)] = 50388, + [SMALL_STATE(1149)] = 50439, + [SMALL_STATE(1150)] = 50490, + [SMALL_STATE(1151)] = 50545, + [SMALL_STATE(1152)] = 50600, + [SMALL_STATE(1153)] = 50651, + [SMALL_STATE(1154)] = 50702, + [SMALL_STATE(1155)] = 50753, + [SMALL_STATE(1156)] = 50794, + [SMALL_STATE(1157)] = 50845, + [SMALL_STATE(1158)] = 50900, + [SMALL_STATE(1159)] = 50951, + [SMALL_STATE(1160)] = 51002, + [SMALL_STATE(1161)] = 51053, + [SMALL_STATE(1162)] = 51096, + [SMALL_STATE(1163)] = 51147, + [SMALL_STATE(1164)] = 51190, + [SMALL_STATE(1165)] = 51233, + [SMALL_STATE(1166)] = 51284, + [SMALL_STATE(1167)] = 51317, + [SMALL_STATE(1168)] = 51357, + [SMALL_STATE(1169)] = 51385, + [SMALL_STATE(1170)] = 51413, + [SMALL_STATE(1171)] = 51453, + [SMALL_STATE(1172)] = 51501, + [SMALL_STATE(1173)] = 51541, + [SMALL_STATE(1174)] = 51581, + [SMALL_STATE(1175)] = 51621, + [SMALL_STATE(1176)] = 51661, + [SMALL_STATE(1177)] = 51689, + [SMALL_STATE(1178)] = 51729, + [SMALL_STATE(1179)] = 51775, + [SMALL_STATE(1180)] = 51815, + [SMALL_STATE(1181)] = 51865, + [SMALL_STATE(1182)] = 51905, + [SMALL_STATE(1183)] = 51951, + [SMALL_STATE(1184)] = 51991, + [SMALL_STATE(1185)] = 52035, + [SMALL_STATE(1186)] = 52075, + [SMALL_STATE(1187)] = 52115, + [SMALL_STATE(1188)] = 52157, + [SMALL_STATE(1189)] = 52197, + [SMALL_STATE(1190)] = 52237, + [SMALL_STATE(1191)] = 52265, + [SMALL_STATE(1192)] = 52305, + [SMALL_STATE(1193)] = 52345, + [SMALL_STATE(1194)] = 52385, + [SMALL_STATE(1195)] = 52425, + [SMALL_STATE(1196)] = 52465, + [SMALL_STATE(1197)] = 52505, + [SMALL_STATE(1198)] = 52545, + [SMALL_STATE(1199)] = 52585, + [SMALL_STATE(1200)] = 52625, + [SMALL_STATE(1201)] = 52665, + [SMALL_STATE(1202)] = 52705, + [SMALL_STATE(1203)] = 52741, + [SMALL_STATE(1204)] = 52781, + [SMALL_STATE(1205)] = 52821, + [SMALL_STATE(1206)] = 52855, + [SMALL_STATE(1207)] = 52895, + [SMALL_STATE(1208)] = 52935, + [SMALL_STATE(1209)] = 52975, + [SMALL_STATE(1210)] = 53015, + [SMALL_STATE(1211)] = 53055, + [SMALL_STATE(1212)] = 53095, + [SMALL_STATE(1213)] = 53135, + [SMALL_STATE(1214)] = 53163, + [SMALL_STATE(1215)] = 53203, + [SMALL_STATE(1216)] = 53243, + [SMALL_STATE(1217)] = 53283, + [SMALL_STATE(1218)] = 53323, + [SMALL_STATE(1219)] = 53351, + [SMALL_STATE(1220)] = 53391, + [SMALL_STATE(1221)] = 53423, + [SMALL_STATE(1222)] = 53463, + [SMALL_STATE(1223)] = 53512, + [SMALL_STATE(1224)] = 53539, + [SMALL_STATE(1225)] = 53584, + [SMALL_STATE(1226)] = 53627, + [SMALL_STATE(1227)] = 53668, + [SMALL_STATE(1228)] = 53707, + [SMALL_STATE(1229)] = 53744, + [SMALL_STATE(1230)] = 53779, + [SMALL_STATE(1231)] = 53812, + [SMALL_STATE(1232)] = 53843, + [SMALL_STATE(1233)] = 53888, + [SMALL_STATE(1234)] = 53937, + [SMALL_STATE(1235)] = 53964, + [SMALL_STATE(1236)] = 54009, + [SMALL_STATE(1237)] = 54036, + [SMALL_STATE(1238)] = 54081, + [SMALL_STATE(1239)] = 54110, + [SMALL_STATE(1240)] = 54155, + [SMALL_STATE(1241)] = 54182, + [SMALL_STATE(1242)] = 54227, + [SMALL_STATE(1243)] = 54272, + [SMALL_STATE(1244)] = 54299, + [SMALL_STATE(1245)] = 54326, + [SMALL_STATE(1246)] = 54353, + [SMALL_STATE(1247)] = 54396, + [SMALL_STATE(1248)] = 54423, + [SMALL_STATE(1249)] = 54468, + [SMALL_STATE(1250)] = 54495, + [SMALL_STATE(1251)] = 54540, + [SMALL_STATE(1252)] = 54585, + [SMALL_STATE(1253)] = 54628, + [SMALL_STATE(1254)] = 54673, + [SMALL_STATE(1255)] = 54718, + [SMALL_STATE(1256)] = 54761, + [SMALL_STATE(1257)] = 54788, + [SMALL_STATE(1258)] = 54833, + [SMALL_STATE(1259)] = 54878, + [SMALL_STATE(1260)] = 54921, + [SMALL_STATE(1261)] = 54966, + [SMALL_STATE(1262)] = 55006, + [SMALL_STATE(1263)] = 55046, + [SMALL_STATE(1264)] = 55082, + [SMALL_STATE(1265)] = 55122, + [SMALL_STATE(1266)] = 55162, + [SMALL_STATE(1267)] = 55206, + [SMALL_STATE(1268)] = 55246, + [SMALL_STATE(1269)] = 55288, + [SMALL_STATE(1270)] = 55328, + [SMALL_STATE(1271)] = 55359, + [SMALL_STATE(1272)] = 55400, + [SMALL_STATE(1273)] = 55439, + [SMALL_STATE(1274)] = 55470, + [SMALL_STATE(1275)] = 55511, + [SMALL_STATE(1276)] = 55542, + [SMALL_STATE(1277)] = 55583, + [SMALL_STATE(1278)] = 55624, + [SMALL_STATE(1279)] = 55665, + [SMALL_STATE(1280)] = 55706, + [SMALL_STATE(1281)] = 55747, + [SMALL_STATE(1282)] = 55778, + [SMALL_STATE(1283)] = 55819, + [SMALL_STATE(1284)] = 55861, + [SMALL_STATE(1285)] = 55903, + [SMALL_STATE(1286)] = 55931, + [SMALL_STATE(1287)] = 55973, + [SMALL_STATE(1288)] = 56011, + [SMALL_STATE(1289)] = 56049, + [SMALL_STATE(1290)] = 56076, + [SMALL_STATE(1291)] = 56099, + [SMALL_STATE(1292)] = 56138, + [SMALL_STATE(1293)] = 56177, + [SMALL_STATE(1294)] = 56216, + [SMALL_STATE(1295)] = 56255, + [SMALL_STATE(1296)] = 56282, + [SMALL_STATE(1297)] = 56315, + [SMALL_STATE(1298)] = 56338, + [SMALL_STATE(1299)] = 56361, + [SMALL_STATE(1300)] = 56393, + [SMALL_STATE(1301)] = 56425, + [SMALL_STATE(1302)] = 56457, + [SMALL_STATE(1303)] = 56489, + [SMALL_STATE(1304)] = 56528, + [SMALL_STATE(1305)] = 56549, + [SMALL_STATE(1306)] = 56570, + [SMALL_STATE(1307)] = 56607, + [SMALL_STATE(1308)] = 56644, + [SMALL_STATE(1309)] = 56665, + [SMALL_STATE(1310)] = 56702, + [SMALL_STATE(1311)] = 56739, + [SMALL_STATE(1312)] = 56760, + [SMALL_STATE(1313)] = 56797, + [SMALL_STATE(1314)] = 56824, + [SMALL_STATE(1315)] = 56845, + [SMALL_STATE(1316)] = 56866, + [SMALL_STATE(1317)] = 56903, + [SMALL_STATE(1318)] = 56936, + [SMALL_STATE(1319)] = 56973, + [SMALL_STATE(1320)] = 57010, + [SMALL_STATE(1321)] = 57047, + [SMALL_STATE(1322)] = 57068, + [SMALL_STATE(1323)] = 57105, + [SMALL_STATE(1324)] = 57142, + [SMALL_STATE(1325)] = 57175, + [SMALL_STATE(1326)] = 57205, + [SMALL_STATE(1327)] = 57235, + [SMALL_STATE(1328)] = 57265, + [SMALL_STATE(1329)] = 57299, + [SMALL_STATE(1330)] = 57333, + [SMALL_STATE(1331)] = 57363, + [SMALL_STATE(1332)] = 57388, + [SMALL_STATE(1333)] = 57419, + [SMALL_STATE(1334)] = 57442, + [SMALL_STATE(1335)] = 57471, + [SMALL_STATE(1336)] = 57500, + [SMALL_STATE(1337)] = 57529, + [SMALL_STATE(1338)] = 57558, + [SMALL_STATE(1339)] = 57587, + [SMALL_STATE(1340)] = 57610, + [SMALL_STATE(1341)] = 57641, + [SMALL_STATE(1342)] = 57670, + [SMALL_STATE(1343)] = 57701, + [SMALL_STATE(1344)] = 57730, + [SMALL_STATE(1345)] = 57761, + [SMALL_STATE(1346)] = 57790, + [SMALL_STATE(1347)] = 57819, + [SMALL_STATE(1348)] = 57850, + [SMALL_STATE(1349)] = 57881, + [SMALL_STATE(1350)] = 57910, + [SMALL_STATE(1351)] = 57943, + [SMALL_STATE(1352)] = 57968, + [SMALL_STATE(1353)] = 57999, + [SMALL_STATE(1354)] = 58028, + [SMALL_STATE(1355)] = 58057, + [SMALL_STATE(1356)] = 58086, + [SMALL_STATE(1357)] = 58115, + [SMALL_STATE(1358)] = 58144, + [SMALL_STATE(1359)] = 58173, + [SMALL_STATE(1360)] = 58202, + [SMALL_STATE(1361)] = 58233, + [SMALL_STATE(1362)] = 58262, + [SMALL_STATE(1363)] = 58285, + [SMALL_STATE(1364)] = 58313, + [SMALL_STATE(1365)] = 58337, + [SMALL_STATE(1366)] = 58369, + [SMALL_STATE(1367)] = 58391, + [SMALL_STATE(1368)] = 58415, + [SMALL_STATE(1369)] = 58443, + [SMALL_STATE(1370)] = 58471, + [SMALL_STATE(1371)] = 58499, + [SMALL_STATE(1372)] = 58527, + [SMALL_STATE(1373)] = 58551, + [SMALL_STATE(1374)] = 58583, + [SMALL_STATE(1375)] = 58615, + [SMALL_STATE(1376)] = 58637, + [SMALL_STATE(1377)] = 58669, + [SMALL_STATE(1378)] = 58690, + [SMALL_STATE(1379)] = 58719, + [SMALL_STATE(1380)] = 58740, + [SMALL_STATE(1381)] = 58763, + [SMALL_STATE(1382)] = 58792, + [SMALL_STATE(1383)] = 58809, + [SMALL_STATE(1384)] = 58826, + [SMALL_STATE(1385)] = 58843, + [SMALL_STATE(1386)] = 58864, + [SMALL_STATE(1387)] = 58885, + [SMALL_STATE(1388)] = 58906, + [SMALL_STATE(1389)] = 58923, + [SMALL_STATE(1390)] = 58950, + [SMALL_STATE(1391)] = 58971, + [SMALL_STATE(1392)] = 58996, + [SMALL_STATE(1393)] = 59013, + [SMALL_STATE(1394)] = 59042, + [SMALL_STATE(1395)] = 59071, + [SMALL_STATE(1396)] = 59088, + [SMALL_STATE(1397)] = 59111, + [SMALL_STATE(1398)] = 59128, + [SMALL_STATE(1399)] = 59149, + [SMALL_STATE(1400)] = 59166, + [SMALL_STATE(1401)] = 59195, + [SMALL_STATE(1402)] = 59224, + [SMALL_STATE(1403)] = 59253, + [SMALL_STATE(1404)] = 59270, + [SMALL_STATE(1405)] = 59299, + [SMALL_STATE(1406)] = 59315, + [SMALL_STATE(1407)] = 59341, + [SMALL_STATE(1408)] = 59367, + [SMALL_STATE(1409)] = 59393, + [SMALL_STATE(1410)] = 59409, + [SMALL_STATE(1411)] = 59425, + [SMALL_STATE(1412)] = 59451, + [SMALL_STATE(1413)] = 59477, + [SMALL_STATE(1414)] = 59503, + [SMALL_STATE(1415)] = 59519, + [SMALL_STATE(1416)] = 59541, + [SMALL_STATE(1417)] = 59567, + [SMALL_STATE(1418)] = 59585, + [SMALL_STATE(1419)] = 59607, + [SMALL_STATE(1420)] = 59627, + [SMALL_STATE(1421)] = 59643, + [SMALL_STATE(1422)] = 59659, + [SMALL_STATE(1423)] = 59685, + [SMALL_STATE(1424)] = 59701, + [SMALL_STATE(1425)] = 59717, + [SMALL_STATE(1426)] = 59743, + [SMALL_STATE(1427)] = 59759, + [SMALL_STATE(1428)] = 59779, + [SMALL_STATE(1429)] = 59805, + [SMALL_STATE(1430)] = 59827, + [SMALL_STATE(1431)] = 59849, + [SMALL_STATE(1432)] = 59869, + [SMALL_STATE(1433)] = 59885, + [SMALL_STATE(1434)] = 59911, + [SMALL_STATE(1435)] = 59937, + [SMALL_STATE(1436)] = 59963, + [SMALL_STATE(1437)] = 59978, + [SMALL_STATE(1438)] = 59993, + [SMALL_STATE(1439)] = 60016, + [SMALL_STATE(1440)] = 60039, + [SMALL_STATE(1441)] = 60062, + [SMALL_STATE(1442)] = 60079, + [SMALL_STATE(1443)] = 60094, + [SMALL_STATE(1444)] = 60117, + [SMALL_STATE(1445)] = 60136, + [SMALL_STATE(1446)] = 60159, + [SMALL_STATE(1447)] = 60182, + [SMALL_STATE(1448)] = 60197, + [SMALL_STATE(1449)] = 60220, + [SMALL_STATE(1450)] = 60235, + [SMALL_STATE(1451)] = 60252, + [SMALL_STATE(1452)] = 60267, + [SMALL_STATE(1453)] = 60282, + [SMALL_STATE(1454)] = 60305, + [SMALL_STATE(1455)] = 60328, + [SMALL_STATE(1456)] = 60351, + [SMALL_STATE(1457)] = 60370, + [SMALL_STATE(1458)] = 60393, + [SMALL_STATE(1459)] = 60416, + [SMALL_STATE(1460)] = 60439, + [SMALL_STATE(1461)] = 60462, + [SMALL_STATE(1462)] = 60485, + [SMALL_STATE(1463)] = 60508, + [SMALL_STATE(1464)] = 60525, + [SMALL_STATE(1465)] = 60540, + [SMALL_STATE(1466)] = 60555, + [SMALL_STATE(1467)] = 60572, + [SMALL_STATE(1468)] = 60587, + [SMALL_STATE(1469)] = 60610, + [SMALL_STATE(1470)] = 60633, + [SMALL_STATE(1471)] = 60656, + [SMALL_STATE(1472)] = 60671, + [SMALL_STATE(1473)] = 60686, + [SMALL_STATE(1474)] = 60701, + [SMALL_STATE(1475)] = 60719, + [SMALL_STATE(1476)] = 60737, + [SMALL_STATE(1477)] = 60751, + [SMALL_STATE(1478)] = 60765, + [SMALL_STATE(1479)] = 60783, + [SMALL_STATE(1480)] = 60797, + [SMALL_STATE(1481)] = 60811, + [SMALL_STATE(1482)] = 60831, + [SMALL_STATE(1483)] = 60845, + [SMALL_STATE(1484)] = 60859, + [SMALL_STATE(1485)] = 60877, + [SMALL_STATE(1486)] = 60891, + [SMALL_STATE(1487)] = 60909, + [SMALL_STATE(1488)] = 60923, + [SMALL_STATE(1489)] = 60937, + [SMALL_STATE(1490)] = 60951, + [SMALL_STATE(1491)] = 60965, + [SMALL_STATE(1492)] = 60983, + [SMALL_STATE(1493)] = 61001, + [SMALL_STATE(1494)] = 61015, + [SMALL_STATE(1495)] = 61033, + [SMALL_STATE(1496)] = 61051, + [SMALL_STATE(1497)] = 61065, + [SMALL_STATE(1498)] = 61079, + [SMALL_STATE(1499)] = 61093, + [SMALL_STATE(1500)] = 61110, + [SMALL_STATE(1501)] = 61127, + [SMALL_STATE(1502)] = 61144, + [SMALL_STATE(1503)] = 61161, + [SMALL_STATE(1504)] = 61178, + [SMALL_STATE(1505)] = 61195, + [SMALL_STATE(1506)] = 61212, + [SMALL_STATE(1507)] = 61229, + [SMALL_STATE(1508)] = 61246, + [SMALL_STATE(1509)] = 61263, + [SMALL_STATE(1510)] = 61280, + [SMALL_STATE(1511)] = 61297, + [SMALL_STATE(1512)] = 61316, + [SMALL_STATE(1513)] = 61329, + [SMALL_STATE(1514)] = 61346, + [SMALL_STATE(1515)] = 61363, + [SMALL_STATE(1516)] = 61382, + [SMALL_STATE(1517)] = 61399, + [SMALL_STATE(1518)] = 61418, + [SMALL_STATE(1519)] = 61435, + [SMALL_STATE(1520)] = 61452, + [SMALL_STATE(1521)] = 61469, + [SMALL_STATE(1522)] = 61480, + [SMALL_STATE(1523)] = 61497, + [SMALL_STATE(1524)] = 61514, + [SMALL_STATE(1525)] = 61531, + [SMALL_STATE(1526)] = 61548, + [SMALL_STATE(1527)] = 61565, + [SMALL_STATE(1528)] = 61579, + [SMALL_STATE(1529)] = 61595, + [SMALL_STATE(1530)] = 61611, + [SMALL_STATE(1531)] = 61625, + [SMALL_STATE(1532)] = 61641, + [SMALL_STATE(1533)] = 61655, + [SMALL_STATE(1534)] = 61671, + [SMALL_STATE(1535)] = 61687, + [SMALL_STATE(1536)] = 61701, + [SMALL_STATE(1537)] = 61715, + [SMALL_STATE(1538)] = 61731, + [SMALL_STATE(1539)] = 61745, + [SMALL_STATE(1540)] = 61759, + [SMALL_STATE(1541)] = 61775, + [SMALL_STATE(1542)] = 61791, + [SMALL_STATE(1543)] = 61805, + [SMALL_STATE(1544)] = 61821, + [SMALL_STATE(1545)] = 61835, + [SMALL_STATE(1546)] = 61849, + [SMALL_STATE(1547)] = 61863, + [SMALL_STATE(1548)] = 61879, + [SMALL_STATE(1549)] = 61893, + [SMALL_STATE(1550)] = 61907, + [SMALL_STATE(1551)] = 61921, + [SMALL_STATE(1552)] = 61935, + [SMALL_STATE(1553)] = 61947, + [SMALL_STATE(1554)] = 61961, + [SMALL_STATE(1555)] = 61977, + [SMALL_STATE(1556)] = 61993, + [SMALL_STATE(1557)] = 62009, + [SMALL_STATE(1558)] = 62023, + [SMALL_STATE(1559)] = 62039, + [SMALL_STATE(1560)] = 62055, + [SMALL_STATE(1561)] = 62071, + [SMALL_STATE(1562)] = 62085, + [SMALL_STATE(1563)] = 62101, + [SMALL_STATE(1564)] = 62115, + [SMALL_STATE(1565)] = 62129, + [SMALL_STATE(1566)] = 62145, + [SMALL_STATE(1567)] = 62159, + [SMALL_STATE(1568)] = 62175, + [SMALL_STATE(1569)] = 62191, + [SMALL_STATE(1570)] = 62207, + [SMALL_STATE(1571)] = 62223, + [SMALL_STATE(1572)] = 62236, + [SMALL_STATE(1573)] = 62249, + [SMALL_STATE(1574)] = 62262, + [SMALL_STATE(1575)] = 62275, + [SMALL_STATE(1576)] = 62284, + [SMALL_STATE(1577)] = 62297, + [SMALL_STATE(1578)] = 62310, + [SMALL_STATE(1579)] = 62323, + [SMALL_STATE(1580)] = 62336, + [SMALL_STATE(1581)] = 62349, + [SMALL_STATE(1582)] = 62362, + [SMALL_STATE(1583)] = 62375, + [SMALL_STATE(1584)] = 62388, + [SMALL_STATE(1585)] = 62401, + [SMALL_STATE(1586)] = 62410, + [SMALL_STATE(1587)] = 62423, + [SMALL_STATE(1588)] = 62436, + [SMALL_STATE(1589)] = 62449, + [SMALL_STATE(1590)] = 62460, + [SMALL_STATE(1591)] = 62473, + [SMALL_STATE(1592)] = 62482, + [SMALL_STATE(1593)] = 62495, + [SMALL_STATE(1594)] = 62508, + [SMALL_STATE(1595)] = 62521, + [SMALL_STATE(1596)] = 62530, + [SMALL_STATE(1597)] = 62543, + [SMALL_STATE(1598)] = 62556, + [SMALL_STATE(1599)] = 62569, + [SMALL_STATE(1600)] = 62578, + [SMALL_STATE(1601)] = 62591, + [SMALL_STATE(1602)] = 62604, + [SMALL_STATE(1603)] = 62617, + [SMALL_STATE(1604)] = 62630, + [SMALL_STATE(1605)] = 62643, + [SMALL_STATE(1606)] = 62652, + [SMALL_STATE(1607)] = 62665, + [SMALL_STATE(1608)] = 62678, + [SMALL_STATE(1609)] = 62691, + [SMALL_STATE(1610)] = 62704, + [SMALL_STATE(1611)] = 62717, + [SMALL_STATE(1612)] = 62730, + [SMALL_STATE(1613)] = 62743, + [SMALL_STATE(1614)] = 62756, + [SMALL_STATE(1615)] = 62769, + [SMALL_STATE(1616)] = 62782, + [SMALL_STATE(1617)] = 62795, + [SMALL_STATE(1618)] = 62808, + [SMALL_STATE(1619)] = 62821, + [SMALL_STATE(1620)] = 62834, + [SMALL_STATE(1621)] = 62847, + [SMALL_STATE(1622)] = 62860, + [SMALL_STATE(1623)] = 62873, + [SMALL_STATE(1624)] = 62886, + [SMALL_STATE(1625)] = 62899, + [SMALL_STATE(1626)] = 62912, + [SMALL_STATE(1627)] = 62925, + [SMALL_STATE(1628)] = 62938, + [SMALL_STATE(1629)] = 62951, + [SMALL_STATE(1630)] = 62964, + [SMALL_STATE(1631)] = 62977, + [SMALL_STATE(1632)] = 62986, + [SMALL_STATE(1633)] = 62999, + [SMALL_STATE(1634)] = 63012, + [SMALL_STATE(1635)] = 63025, + [SMALL_STATE(1636)] = 63038, + [SMALL_STATE(1637)] = 63051, + [SMALL_STATE(1638)] = 63064, + [SMALL_STATE(1639)] = 63077, + [SMALL_STATE(1640)] = 63090, + [SMALL_STATE(1641)] = 63103, + [SMALL_STATE(1642)] = 63116, + [SMALL_STATE(1643)] = 63129, + [SMALL_STATE(1644)] = 63142, + [SMALL_STATE(1645)] = 63155, + [SMALL_STATE(1646)] = 63168, + [SMALL_STATE(1647)] = 63181, + [SMALL_STATE(1648)] = 63194, + [SMALL_STATE(1649)] = 63207, + [SMALL_STATE(1650)] = 63220, + [SMALL_STATE(1651)] = 63233, + [SMALL_STATE(1652)] = 63246, + [SMALL_STATE(1653)] = 63257, + [SMALL_STATE(1654)] = 63270, + [SMALL_STATE(1655)] = 63283, + [SMALL_STATE(1656)] = 63296, + [SMALL_STATE(1657)] = 63309, + [SMALL_STATE(1658)] = 63322, + [SMALL_STATE(1659)] = 63335, + [SMALL_STATE(1660)] = 63348, + [SMALL_STATE(1661)] = 63361, + [SMALL_STATE(1662)] = 63374, + [SMALL_STATE(1663)] = 63387, + [SMALL_STATE(1664)] = 63400, + [SMALL_STATE(1665)] = 63413, + [SMALL_STATE(1666)] = 63424, + [SMALL_STATE(1667)] = 63437, + [SMALL_STATE(1668)] = 63450, + [SMALL_STATE(1669)] = 63463, + [SMALL_STATE(1670)] = 63476, + [SMALL_STATE(1671)] = 63489, + [SMALL_STATE(1672)] = 63498, + [SMALL_STATE(1673)] = 63511, + [SMALL_STATE(1674)] = 63524, + [SMALL_STATE(1675)] = 63533, + [SMALL_STATE(1676)] = 63544, + [SMALL_STATE(1677)] = 63557, + [SMALL_STATE(1678)] = 63566, + [SMALL_STATE(1679)] = 63579, + [SMALL_STATE(1680)] = 63590, + [SMALL_STATE(1681)] = 63599, + [SMALL_STATE(1682)] = 63612, + [SMALL_STATE(1683)] = 63625, + [SMALL_STATE(1684)] = 63638, + [SMALL_STATE(1685)] = 63651, + [SMALL_STATE(1686)] = 63664, + [SMALL_STATE(1687)] = 63677, + [SMALL_STATE(1688)] = 63687, + [SMALL_STATE(1689)] = 63695, + [SMALL_STATE(1690)] = 63705, + [SMALL_STATE(1691)] = 63715, + [SMALL_STATE(1692)] = 63723, + [SMALL_STATE(1693)] = 63733, + [SMALL_STATE(1694)] = 63743, + [SMALL_STATE(1695)] = 63753, + [SMALL_STATE(1696)] = 63761, + [SMALL_STATE(1697)] = 63771, + [SMALL_STATE(1698)] = 63781, + [SMALL_STATE(1699)] = 63791, + [SMALL_STATE(1700)] = 63801, + [SMALL_STATE(1701)] = 63811, + [SMALL_STATE(1702)] = 63821, + [SMALL_STATE(1703)] = 63831, + [SMALL_STATE(1704)] = 63841, + [SMALL_STATE(1705)] = 63851, + [SMALL_STATE(1706)] = 63861, + [SMALL_STATE(1707)] = 63871, + [SMALL_STATE(1708)] = 63881, + [SMALL_STATE(1709)] = 63891, + [SMALL_STATE(1710)] = 63901, + [SMALL_STATE(1711)] = 63911, + [SMALL_STATE(1712)] = 63921, + [SMALL_STATE(1713)] = 63931, + [SMALL_STATE(1714)] = 63939, + [SMALL_STATE(1715)] = 63947, + [SMALL_STATE(1716)] = 63957, + [SMALL_STATE(1717)] = 63967, + [SMALL_STATE(1718)] = 63977, + [SMALL_STATE(1719)] = 63987, + [SMALL_STATE(1720)] = 63997, + [SMALL_STATE(1721)] = 64007, + [SMALL_STATE(1722)] = 64017, + [SMALL_STATE(1723)] = 64027, + [SMALL_STATE(1724)] = 64037, + [SMALL_STATE(1725)] = 64047, + [SMALL_STATE(1726)] = 64057, + [SMALL_STATE(1727)] = 64067, + [SMALL_STATE(1728)] = 64075, + [SMALL_STATE(1729)] = 64085, + [SMALL_STATE(1730)] = 64093, + [SMALL_STATE(1731)] = 64101, + [SMALL_STATE(1732)] = 64111, + [SMALL_STATE(1733)] = 64121, + [SMALL_STATE(1734)] = 64129, + [SMALL_STATE(1735)] = 64139, + [SMALL_STATE(1736)] = 64149, + [SMALL_STATE(1737)] = 64159, + [SMALL_STATE(1738)] = 64169, + [SMALL_STATE(1739)] = 64179, + [SMALL_STATE(1740)] = 64189, + [SMALL_STATE(1741)] = 64197, + [SMALL_STATE(1742)] = 64207, + [SMALL_STATE(1743)] = 64217, + [SMALL_STATE(1744)] = 64225, + [SMALL_STATE(1745)] = 64235, + [SMALL_STATE(1746)] = 64245, + [SMALL_STATE(1747)] = 64255, + [SMALL_STATE(1748)] = 64265, + [SMALL_STATE(1749)] = 64273, + [SMALL_STATE(1750)] = 64283, + [SMALL_STATE(1751)] = 64293, + [SMALL_STATE(1752)] = 64303, + [SMALL_STATE(1753)] = 64313, + [SMALL_STATE(1754)] = 64323, + [SMALL_STATE(1755)] = 64333, + [SMALL_STATE(1756)] = 64343, + [SMALL_STATE(1757)] = 64351, + [SMALL_STATE(1758)] = 64361, + [SMALL_STATE(1759)] = 64371, + [SMALL_STATE(1760)] = 64381, + [SMALL_STATE(1761)] = 64391, + [SMALL_STATE(1762)] = 64399, + [SMALL_STATE(1763)] = 64409, + [SMALL_STATE(1764)] = 64419, + [SMALL_STATE(1765)] = 64429, + [SMALL_STATE(1766)] = 64439, + [SMALL_STATE(1767)] = 64449, + [SMALL_STATE(1768)] = 64459, + [SMALL_STATE(1769)] = 64469, + [SMALL_STATE(1770)] = 64477, + [SMALL_STATE(1771)] = 64485, + [SMALL_STATE(1772)] = 64495, + [SMALL_STATE(1773)] = 64503, + [SMALL_STATE(1774)] = 64513, + [SMALL_STATE(1775)] = 64521, + [SMALL_STATE(1776)] = 64528, + [SMALL_STATE(1777)] = 64535, + [SMALL_STATE(1778)] = 64542, + [SMALL_STATE(1779)] = 64549, + [SMALL_STATE(1780)] = 64556, + [SMALL_STATE(1781)] = 64563, + [SMALL_STATE(1782)] = 64570, + [SMALL_STATE(1783)] = 64577, + [SMALL_STATE(1784)] = 64584, + [SMALL_STATE(1785)] = 64591, + [SMALL_STATE(1786)] = 64598, + [SMALL_STATE(1787)] = 64605, + [SMALL_STATE(1788)] = 64612, + [SMALL_STATE(1789)] = 64619, + [SMALL_STATE(1790)] = 64626, + [SMALL_STATE(1791)] = 64633, + [SMALL_STATE(1792)] = 64640, + [SMALL_STATE(1793)] = 64647, + [SMALL_STATE(1794)] = 64654, + [SMALL_STATE(1795)] = 64661, + [SMALL_STATE(1796)] = 64668, + [SMALL_STATE(1797)] = 64675, + [SMALL_STATE(1798)] = 64682, + [SMALL_STATE(1799)] = 64689, + [SMALL_STATE(1800)] = 64696, + [SMALL_STATE(1801)] = 64703, + [SMALL_STATE(1802)] = 64710, + [SMALL_STATE(1803)] = 64717, + [SMALL_STATE(1804)] = 64724, + [SMALL_STATE(1805)] = 64731, + [SMALL_STATE(1806)] = 64738, + [SMALL_STATE(1807)] = 64745, + [SMALL_STATE(1808)] = 64752, + [SMALL_STATE(1809)] = 64759, + [SMALL_STATE(1810)] = 64766, + [SMALL_STATE(1811)] = 64773, + [SMALL_STATE(1812)] = 64780, + [SMALL_STATE(1813)] = 64787, + [SMALL_STATE(1814)] = 64794, + [SMALL_STATE(1815)] = 64801, + [SMALL_STATE(1816)] = 64808, + [SMALL_STATE(1817)] = 64815, + [SMALL_STATE(1818)] = 64822, + [SMALL_STATE(1819)] = 64829, + [SMALL_STATE(1820)] = 64836, + [SMALL_STATE(1821)] = 64843, + [SMALL_STATE(1822)] = 64850, + [SMALL_STATE(1823)] = 64857, + [SMALL_STATE(1824)] = 64864, + [SMALL_STATE(1825)] = 64871, + [SMALL_STATE(1826)] = 64878, + [SMALL_STATE(1827)] = 64885, + [SMALL_STATE(1828)] = 64892, + [SMALL_STATE(1829)] = 64899, + [SMALL_STATE(1830)] = 64906, + [SMALL_STATE(1831)] = 64913, + [SMALL_STATE(1832)] = 64920, + [SMALL_STATE(1833)] = 64927, + [SMALL_STATE(1834)] = 64934, + [SMALL_STATE(1835)] = 64941, + [SMALL_STATE(1836)] = 64948, + [SMALL_STATE(1837)] = 64955, + [SMALL_STATE(1838)] = 64962, + [SMALL_STATE(1839)] = 64969, + [SMALL_STATE(1840)] = 64976, + [SMALL_STATE(1841)] = 64983, + [SMALL_STATE(1842)] = 64990, + [SMALL_STATE(1843)] = 64997, + [SMALL_STATE(1844)] = 65004, + [SMALL_STATE(1845)] = 65011, + [SMALL_STATE(1846)] = 65018, + [SMALL_STATE(1847)] = 65025, + [SMALL_STATE(1848)] = 65032, + [SMALL_STATE(1849)] = 65039, + [SMALL_STATE(1850)] = 65046, + [SMALL_STATE(1851)] = 65053, + [SMALL_STATE(1852)] = 65060, + [SMALL_STATE(1853)] = 65067, + [SMALL_STATE(1854)] = 65074, + [SMALL_STATE(1855)] = 65081, + [SMALL_STATE(1856)] = 65088, + [SMALL_STATE(1857)] = 65095, + [SMALL_STATE(1858)] = 65102, + [SMALL_STATE(1859)] = 65109, + [SMALL_STATE(1860)] = 65116, + [SMALL_STATE(1861)] = 65123, + [SMALL_STATE(1862)] = 65130, + [SMALL_STATE(1863)] = 65137, + [SMALL_STATE(1864)] = 65144, + [SMALL_STATE(1865)] = 65151, + [SMALL_STATE(1866)] = 65158, + [SMALL_STATE(1867)] = 65165, + [SMALL_STATE(1868)] = 65172, + [SMALL_STATE(1869)] = 65179, + [SMALL_STATE(1870)] = 65186, + [SMALL_STATE(1871)] = 65193, + [SMALL_STATE(1872)] = 65200, + [SMALL_STATE(1873)] = 65207, + [SMALL_STATE(1874)] = 65214, + [SMALL_STATE(1875)] = 65221, + [SMALL_STATE(1876)] = 65228, + [SMALL_STATE(1877)] = 65235, + [SMALL_STATE(1878)] = 65242, + [SMALL_STATE(1879)] = 65249, + [SMALL_STATE(1880)] = 65256, + [SMALL_STATE(1881)] = 65263, + [SMALL_STATE(1882)] = 65270, + [SMALL_STATE(1883)] = 65277, + [SMALL_STATE(1884)] = 65284, + [SMALL_STATE(1885)] = 65291, + [SMALL_STATE(1886)] = 65298, + [SMALL_STATE(1887)] = 65305, + [SMALL_STATE(1888)] = 65312, + [SMALL_STATE(1889)] = 65319, + [SMALL_STATE(1890)] = 65326, + [SMALL_STATE(1891)] = 65333, + [SMALL_STATE(1892)] = 65340, + [SMALL_STATE(1893)] = 65347, + [SMALL_STATE(1894)] = 65354, + [SMALL_STATE(1895)] = 65361, + [SMALL_STATE(1896)] = 65368, + [SMALL_STATE(1897)] = 65375, + [SMALL_STATE(1898)] = 65382, + [SMALL_STATE(1899)] = 65389, + [SMALL_STATE(1900)] = 65396, + [SMALL_STATE(1901)] = 65403, + [SMALL_STATE(1902)] = 65410, + [SMALL_STATE(1903)] = 65417, + [SMALL_STATE(1904)] = 65424, + [SMALL_STATE(1905)] = 65431, + [SMALL_STATE(1906)] = 65438, + [SMALL_STATE(1907)] = 65445, + [SMALL_STATE(1908)] = 65452, + [SMALL_STATE(1909)] = 65459, + [SMALL_STATE(1910)] = 65466, + [SMALL_STATE(1911)] = 65473, + [SMALL_STATE(1912)] = 65480, + [SMALL_STATE(1913)] = 65487, + [SMALL_STATE(1914)] = 65494, + [SMALL_STATE(1915)] = 65501, + [SMALL_STATE(1916)] = 65508, + [SMALL_STATE(1917)] = 65515, + [SMALL_STATE(1918)] = 65522, + [SMALL_STATE(1919)] = 65529, + [SMALL_STATE(1920)] = 65536, + [SMALL_STATE(1921)] = 65543, + [SMALL_STATE(1922)] = 65550, + [SMALL_STATE(1923)] = 65557, + [SMALL_STATE(1924)] = 65564, + [SMALL_STATE(1925)] = 65571, + [SMALL_STATE(1926)] = 65578, + [SMALL_STATE(1927)] = 65585, + [SMALL_STATE(1928)] = 65592, + [SMALL_STATE(1929)] = 65599, + [SMALL_STATE(1930)] = 65606, + [SMALL_STATE(1931)] = 65613, + [SMALL_STATE(1932)] = 65620, + [SMALL_STATE(1933)] = 65627, + [SMALL_STATE(1934)] = 65634, + [SMALL_STATE(1935)] = 65641, + [SMALL_STATE(1936)] = 65648, + [SMALL_STATE(1937)] = 65655, + [SMALL_STATE(1938)] = 65662, + [SMALL_STATE(1939)] = 65669, + [SMALL_STATE(1940)] = 65676, + [SMALL_STATE(1941)] = 65683, + [SMALL_STATE(1942)] = 65690, + [SMALL_STATE(1943)] = 65697, + [SMALL_STATE(1944)] = 65704, + [SMALL_STATE(1945)] = 65711, + [SMALL_STATE(1946)] = 65718, + [SMALL_STATE(1947)] = 65725, + [SMALL_STATE(1948)] = 65732, + [SMALL_STATE(1949)] = 65739, + [SMALL_STATE(1950)] = 65746, + [SMALL_STATE(1951)] = 65753, + [SMALL_STATE(1952)] = 65760, + [SMALL_STATE(1953)] = 65767, + [SMALL_STATE(1954)] = 65774, + [SMALL_STATE(1955)] = 65781, + [SMALL_STATE(1956)] = 65788, + [SMALL_STATE(1957)] = 65795, + [SMALL_STATE(1958)] = 65802, + [SMALL_STATE(1959)] = 65809, + [SMALL_STATE(1960)] = 65816, + [SMALL_STATE(1961)] = 65823, + [SMALL_STATE(1962)] = 65830, + [SMALL_STATE(1963)] = 65837, + [SMALL_STATE(1964)] = 65844, + [SMALL_STATE(1965)] = 65851, + [SMALL_STATE(1966)] = 65858, + [SMALL_STATE(1967)] = 65865, + [SMALL_STATE(1968)] = 65872, + [SMALL_STATE(1969)] = 65879, + [SMALL_STATE(1970)] = 65886, + [SMALL_STATE(1971)] = 65893, + [SMALL_STATE(1972)] = 65900, + [SMALL_STATE(1973)] = 65907, + [SMALL_STATE(1974)] = 65914, + [SMALL_STATE(1975)] = 65921, + [SMALL_STATE(1976)] = 65928, + [SMALL_STATE(1977)] = 65935, + [SMALL_STATE(1978)] = 65942, + [SMALL_STATE(1979)] = 65949, + [SMALL_STATE(1980)] = 65956, + [SMALL_STATE(1981)] = 65963, + [SMALL_STATE(1982)] = 65970, + [SMALL_STATE(1983)] = 65977, + [SMALL_STATE(1984)] = 65984, + [SMALL_STATE(1985)] = 65991, + [SMALL_STATE(1986)] = 65998, + [SMALL_STATE(1987)] = 66005, + [SMALL_STATE(1988)] = 66012, + [SMALL_STATE(1989)] = 66019, + [SMALL_STATE(1990)] = 66026, + [SMALL_STATE(1991)] = 66033, + [SMALL_STATE(1992)] = 66040, + [SMALL_STATE(1993)] = 66047, + [SMALL_STATE(1994)] = 66054, + [SMALL_STATE(1995)] = 66061, + [SMALL_STATE(1996)] = 66068, + [SMALL_STATE(1997)] = 66075, + [SMALL_STATE(1998)] = 66082, + [SMALL_STATE(1999)] = 66089, + [SMALL_STATE(2000)] = 66096, + [SMALL_STATE(2001)] = 66103, + [SMALL_STATE(2002)] = 66110, + [SMALL_STATE(2003)] = 66117, + [SMALL_STATE(2004)] = 66124, + [SMALL_STATE(2005)] = 66131, + [SMALL_STATE(2006)] = 66138, + [SMALL_STATE(2007)] = 66145, + [SMALL_STATE(2008)] = 66152, + [SMALL_STATE(2009)] = 66159, + [SMALL_STATE(2010)] = 66166, + [SMALL_STATE(2011)] = 66173, + [SMALL_STATE(2012)] = 66180, + [SMALL_STATE(2013)] = 66187, + [SMALL_STATE(2014)] = 66194, + [SMALL_STATE(2015)] = 66201, + [SMALL_STATE(2016)] = 66208, + [SMALL_STATE(2017)] = 66215, + [SMALL_STATE(2018)] = 66222, + [SMALL_STATE(2019)] = 66229, + [SMALL_STATE(2020)] = 66236, + [SMALL_STATE(2021)] = 66243, + [SMALL_STATE(2022)] = 66250, +}; + +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(418), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1387), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1877), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1194), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1916), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1709), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(625), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(625), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(627), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(382), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1008), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(869), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1985), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1694), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1853), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(894), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(722), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(729), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(720), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1778), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(755), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1681), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1413), + [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1515), + [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1742), + [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1693), + [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(532), + [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1878), + [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1736), + [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(331), + [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2022), + [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(480), + [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1984), + [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1918), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1996), + [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(549), + [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(611), + [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1864), + [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1892), + [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1843), + [93] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1466), + [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1119), + [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1679), + [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1540), + [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1119), + [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(689), + [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(408), + [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1390), + [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1914), + [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1206), + [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(374), + [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1915), + [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), + [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1215), + [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1890), + [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1703), + [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(383), + [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1009), + [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(878), + [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1720), + [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1746), + [139] = {.entry = {.count = 1, .reusable = false}}, SHIFT(613), + [141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1798), + [143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1722), + [145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(380), + [147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2016), + [149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(464), + [151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1791), + [153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1814), + [155] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1923), + [157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1750), + [159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1902), + [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(693), + [163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(693), + [165] = {.entry = {.count = 1, .reusable = false}}, SHIFT(336), + [167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(332), + [169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(348), + [171] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef, 2, 0, 17), + [173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif, 3, 0, 42), + [175] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef, 3, 0, 17), + [177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif, 4, 0, 42), + [179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(260), + [181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(267), + [183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269), + [185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(280), + [187] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), + [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), + [191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), + [193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), + [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(290), + [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(294), + [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(296), + [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(303), + [203] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(408), + [206] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1390), + [209] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1914), + [212] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1206), + [215] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), + [217] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1915), + [220] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1703), + [223] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(386), + [226] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(625), + [229] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(625), + [232] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(627), + [235] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(107), + [238] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(383), + [241] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1009), + [244] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(878), + [247] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1985), + [250] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1694), + [253] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1853), + [256] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(894), + [259] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(33), + [262] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(722), + [265] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(729), + [268] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(720), + [271] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1778), + [274] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(755), + [277] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1681), + [280] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1413), + [283] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1515), + [286] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1720), + [289] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1746), + [292] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(613), + [295] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1798), + [298] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1722), + [301] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(380), + [304] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2016), + [307] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(464), + [310] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1791), + [313] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1814), + [316] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1923), + [319] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1750), + [322] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1902), + [325] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(549), + [328] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(611), + [331] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1864), + [334] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1892), + [337] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1843), + [340] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1466), + [343] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(693), + [346] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1679), + [349] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1540), + [352] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(693), + [355] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(689), + [358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414), + [360] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1379), + [362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1824), + [364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1221), + [366] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1825), + [368] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1723), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [372] = {.entry = {.count = 1, .reusable = false}}, SHIFT(384), + [374] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1001), + [376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(868), + [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1724), + [384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1721), + [386] = {.entry = {.count = 1, .reusable = false}}, SHIFT(572), + [388] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1847), + [390] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1726), + [392] = {.entry = {.count = 1, .reusable = false}}, SHIFT(379), + [394] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1978), + [396] = {.entry = {.count = 1, .reusable = false}}, SHIFT(483), + [398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1851), + [400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1854), + [402] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1833), + [404] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1697), + [406] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1910), + [408] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(414), + [411] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1379), + [414] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1824), + [417] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1221), + [420] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1825), + [423] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1723), + [426] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(251), + [429] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(384), + [432] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1001), + [435] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(868), + [438] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(25), + [441] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), + [443] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1724), + [446] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1721), + [449] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(572), + [452] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1847), + [455] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1726), + [458] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(379), + [461] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1978), + [464] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(483), + [467] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1851), + [470] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1854), + [473] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1833), + [476] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1697), + [479] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1910), + [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [484] = {.entry = {.count = 1, .reusable = false}}, SHIFT(413), + [486] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1398), + [488] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1966), + [490] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1211), + [492] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else, 2, 0, 0), + [494] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1946), + [496] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1706), + [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [500] = {.entry = {.count = 1, .reusable = false}}, SHIFT(385), + [502] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1011), + [504] = {.entry = {.count = 1, .reusable = false}}, SHIFT(850), + [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [508] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1745), + [510] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1754), + [512] = {.entry = {.count = 1, .reusable = false}}, SHIFT(615), + [514] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1780), + [516] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1747), + [518] = {.entry = {.count = 1, .reusable = false}}, SHIFT(376), + [520] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2019), + [522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(471), + [524] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1801), + [526] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1807), + [528] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1951), + [530] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1758), + [532] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1848), + [534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), + [540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), + [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), + [550] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else, 1, 0, 0), + [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), + [556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [560] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(413), + [563] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1398), + [566] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1966), + [569] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1211), + [572] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1946), + [575] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1706), + [578] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(178), + [581] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(385), + [584] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1011), + [587] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(850), + [590] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(39), + [593] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1745), + [596] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1754), + [599] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(615), + [602] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1780), + [605] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1747), + [608] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(376), + [611] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(2019), + [614] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(471), + [617] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1801), + [620] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1807), + [623] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1951), + [626] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1758), + [629] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_repeat1, 2, 0, 0), SHIFT_REPEAT(1848), + [632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), + [636] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), + [638] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(418), + [641] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1387), + [644] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1877), + [647] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1194), + [650] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1916), + [653] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1709), + [656] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(386), + [659] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(625), + [662] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(625), + [665] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(627), + [668] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(319), + [671] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(382), + [674] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1008), + [677] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(869), + [680] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1985), + [683] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1694), + [686] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1853), + [689] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(894), + [692] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(23), + [695] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(722), + [698] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(729), + [701] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(720), + [704] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1778), + [707] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(755), + [710] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1681), + [713] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1413), + [716] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1515), + [719] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1742), + [722] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1693), + [725] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(532), + [728] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1878), + [731] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1736), + [734] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(331), + [737] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(2022), + [740] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(480), + [743] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1984), + [746] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1918), + [749] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1996), + [752] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(549), + [755] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(611), + [758] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1864), + [761] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1892), + [764] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1843), + [767] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1466), + [770] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1119), + [773] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1679), + [776] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1540), + [779] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(1119), + [782] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2, 0, 0), SHIFT_REPEAT(689), + [785] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 1, 0, 0), + [787] = {.entry = {.count = 1, .reusable = false}}, SHIFT(410), + [789] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 3, 0, 9), + [791] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 2, 0, 0), + [793] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 4, 0, 9), + [795] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 3, 0, 0), + [797] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(410), + [800] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), + [802] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(386), + [805] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(625), + [808] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(625), + [811] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(627), + [814] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(107), + [817] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(383), + [820] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1009), + [823] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(729), + [826] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1985), + [829] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1694), + [832] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1853), + [835] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(33), + [838] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(722), + [841] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(720), + [844] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1778), + [847] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(755), + [850] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1681), + [853] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1413), + [856] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1515), + [859] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1720), + [862] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1746), + [865] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1722), + [868] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(380), + [871] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2016), + [874] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(464), + [877] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1791), + [880] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1814), + [883] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1923), + [886] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1750), + [889] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1902), + [892] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(549), + [895] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(611), + [898] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1864), + [901] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1892), + [904] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1843), + [907] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1466), + [910] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(693), + [913] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1679), + [916] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1540), + [919] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(693), + [922] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(689), + [925] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 3, 0, 0), + [927] = {.entry = {.count = 1, .reusable = false}}, SHIFT(411), + [929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [931] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1725), + [933] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1909), + [935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 2, 0, 0), + [937] = {.entry = {.count = 1, .reusable = false}}, SHIFT(415), + [939] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 4, 0, 9), + [941] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 3, 0, 9), + [943] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(415), + [946] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(251), + [949] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(384), + [952] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1001), + [955] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(25), + [958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), + [960] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1724), + [963] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1721), + [966] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1726), + [969] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(379), + [972] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1978), + [975] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(483), + [978] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1851), + [981] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1854), + [984] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1833), + [987] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1697), + [990] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1910), + [993] = {.entry = {.count = 1, .reusable = false}}, SHIFT(412), + [995] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(412), + [998] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(178), + [1001] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(385), + [1004] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1011), + [1007] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(39), + [1010] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1745), + [1013] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1754), + [1016] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1747), + [1019] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(376), + [1022] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2019), + [1025] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(471), + [1028] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1801), + [1031] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1807), + [1034] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1951), + [1037] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1758), + [1040] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1848), + [1043] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(411), + [1046] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(230), + [1049] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(382), + [1052] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1008), + [1055] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(23), + [1058] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1742), + [1061] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1693), + [1064] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1736), + [1067] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(331), + [1070] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2022), + [1073] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(480), + [1076] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1984), + [1079] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1918), + [1082] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1996), + [1085] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1725), + [1088] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1909), + [1091] = {.entry = {.count = 1, .reusable = false}}, SHIFT(388), + [1093] = {.entry = {.count = 1, .reusable = false}}, SHIFT(409), + [1095] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1689), + [1097] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1702), + [1099] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2000), + [1101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1766), + [1103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(609), + [1105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1809), + [1107] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(409), + [1110] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1689), + [1113] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1702), + [1116] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2000), + [1119] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1766), + [1122] = {.entry = {.count = 1, .reusable = false}}, SHIFT(416), + [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(487), + [1126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1744), + [1128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, 0, 27), + [1130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, 0, 27), + [1132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(353), + [1134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_finally_clause, 2, 0, 8), + [1136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_finally_clause, 2, 0, 8), + [1138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, 0, 28), + [1140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, 0, 28), + [1142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 0), + [1144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 0), + [1146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 3, 0, 29), + [1148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 3, 0, 29), + [1150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_labeled_statement, 3, 0, 31), + [1152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_labeled_statement, 3, 0, 31), + [1154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 3, 0, 35), + [1156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, 0, 35), + [1158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 4, 0, 49), + [1160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 4, 0, 49), + [1162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_try_statement, 3, 0, 8), + [1164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_try_statement, 3, 0, 8), + [1166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 57), + [1168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 57), + [1170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 4, 0, 63), + [1172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 63), + [1174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 4, 0, 65), + [1176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, 0, 65), + [1178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 5, 0, 77), + [1180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 5, 0, 77), + [1182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 5, 0, 49), + [1184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 5, 0, 49), + [1186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 2, 0, 0), + [1188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 2, 0, 0), + [1190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 5, 0, 82), + [1192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 5, 0, 82), + [1194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5, 0, 86), + [1196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5, 0, 86), + [1198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 5, 0, 91), + [1200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, 0, 91), + [1202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 5, 0, 92), + [1204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 5, 0, 92), + [1206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 6, 0, 77), + [1208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 6, 0, 77), + [1210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_except_clause, 3, 0, 101), + [1212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_except_clause, 3, 0, 101), + [1214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 6, 0, 112), + [1216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 6, 0, 112), + [1218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 3, 0, 0), + [1220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 3, 0, 0), + [1222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 1, 0, 0), + [1224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 1, 0, 0), + [1226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), + [1228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0), + [1230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 2, 0, 0), + [1232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 2, 0, 0), + [1234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1, 0, 0), + [1236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, 0, 0), + [1238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2, 0, 0), + [1240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0), + [1242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2, 0, 0), + [1244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2, 0, 0), + [1246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2, 0, 0), + [1248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2, 0, 0), + [1250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_statement, 2, 0, 0), + [1252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_statement, 2, 0, 0), + [1254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 3, 0, 28), + [1256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 3, 0, 28), + [1258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_seh_leave_statement, 2, 0, 0), + [1260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_seh_leave_statement, 2, 0, 0), + [1262] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__block_item, 1, 0, 0), REDUCE(sym_statement, 1, 0, 0), + [1265] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__block_item, 1, 0, 0), REDUCE(sym_statement, 1, 0, 0), + [1268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 62), + [1270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 62), + [1272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_function_def, 4, 0, 41), + [1274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_function_def, 4, 0, 41), + [1276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 4, 0, 42), + [1278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 4, 0, 42), + [1280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 95), + [1282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 95), + [1284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_definition, 5, 0, 96), + [1286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_definition, 5, 0, 96), + [1288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 6, 0, 98), + [1290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 6, 0, 98), + [1292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 4, 0, 43), + [1294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 4, 0, 43), + [1296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_definition, 4, 0, 67), + [1298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_definition, 4, 0, 67), + [1300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 4, 0, 17), + [1302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 4, 0, 17), + [1304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block_item, 1, 0, 2), + [1306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block_item, 1, 0, 2), + [1308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 68), + [1310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 68), + [1312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call, 2, 0, 4), + [1314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call, 2, 0, 4), + [1316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_definition, 4, 0, 69), + [1318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_definition, 4, 0, 69), + [1320] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_function_def, 5, 0, 72), + [1322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_function_def, 5, 0, 72), + [1324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 5, 0, 73), + [1326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 5, 0, 73), + [1328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 5, 0, 42), + [1330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 5, 0, 42), + [1332] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 5, 0, 74), + [1334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 5, 0, 74), + [1336] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_definition, 3, 0, 36), + [1338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_definition, 3, 0, 36), + [1340] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_list, 2, 0, 0), + [1342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 2, 0, 0), + [1344] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__empty_declaration, 2, 0, 0), + [1346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__empty_declaration, 2, 0, 0), + [1348] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_list, 3, 0, 0), + [1350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 3, 0, 0), + [1352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_include, 3, 0, 16), + [1354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_include, 3, 0, 16), + [1356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_def, 3, 0, 17), + [1358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_def, 3, 0, 17), + [1360] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_linkage_specification, 3, 0, 23), + [1362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_linkage_specification, 3, 0, 23), + [1364] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 3, 0, 17), + [1366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 3, 0, 17), + [1368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call, 3, 0, 18), + [1370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call, 3, 0, 18), + [1372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 3, 0, 33), + [1374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 3, 0, 33), + [1376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_def, 4, 0, 40), + [1378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_def, 4, 0, 40), + [1380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(370), + [1382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(339), + [1384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(327), + [1386] = {.entry = {.count = 1, .reusable = false}}, SHIFT(631), + [1388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sizeof_expression, 4, 0, 38), + [1390] = {.entry = {.count = 1, .reusable = false}}, SHIFT(575), + [1392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(575), + [1394] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sizeof_expression, 4, 0, 38), + [1396] = {.entry = {.count = 1, .reusable = false}}, SHIFT(614), + [1398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [1400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(608), + [1402] = {.entry = {.count = 1, .reusable = false}}, SHIFT(560), + [1404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(560), + [1406] = {.entry = {.count = 1, .reusable = false}}, SHIFT(564), + [1408] = {.entry = {.count = 1, .reusable = false}}, SHIFT(562), + [1410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__top_level_expression_statement, 1, 0, 0), + [1412] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__top_level_expression_statement, 1, 0, 0), + [1414] = {.entry = {.count = 1, .reusable = false}}, SHIFT(804), + [1416] = {.entry = {.count = 1, .reusable = false}}, SHIFT(552), + [1418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1719), + [1420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(788), + [1422] = {.entry = {.count = 1, .reusable = false}}, SHIFT(792), + [1424] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(804), + [1427] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(386), + [1430] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(625), + [1433] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(625), + [1436] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(627), + [1439] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(251), + [1442] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(552), + [1445] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1719), + [1448] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(25), + [1451] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1724), + [1454] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1721), + [1457] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(572), + [1460] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1847), + [1463] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1726), + [1466] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(379), + [1469] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1978), + [1472] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(483), + [1475] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1851), + [1478] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1854), + [1481] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1833), + [1484] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1697), + [1487] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1910), + [1490] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(549), + [1493] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(611), + [1496] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1864), + [1499] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1892), + [1502] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1843), + [1505] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1466), + [1508] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(693), + [1511] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1679), + [1514] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1540), + [1517] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(693), + [1520] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(689), + [1523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__top_level_item, 1, 0, 2), + [1525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__top_level_item, 1, 0, 2), + [1527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__top_level_expression_statement, 2, 0, 0), + [1529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__top_level_expression_statement, 2, 0, 0), + [1531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(796), + [1533] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(796), + [1536] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(107), + [1539] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(33), + [1542] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1720), + [1545] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1746), + [1548] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(613), + [1551] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1798), + [1554] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1722), + [1557] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(380), + [1560] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2016), + [1563] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(464), + [1566] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1791), + [1569] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1814), + [1572] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1923), + [1575] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1750), + [1578] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1902), + [1581] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(792), + [1584] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(23), + [1587] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1689), + [1590] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1693), + [1593] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(609), + [1596] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1809), + [1599] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1702), + [1602] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(331), + [1605] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2000), + [1608] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(480), + [1611] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1984), + [1614] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1918), + [1617] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1996), + [1620] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1766), + [1623] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__top_level_item, 1, 0, 0), REDUCE(sym__top_level_statement, 1, 0, 0), + [1626] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__top_level_item, 1, 0, 0), REDUCE(sym__top_level_statement, 1, 0, 0), + [1629] = {.entry = {.count = 1, .reusable = false}}, SHIFT(799), + [1631] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(799), + [1634] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(178), + [1637] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(39), + [1640] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1745), + [1643] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1754), + [1646] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(615), + [1649] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1780), + [1652] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1747), + [1655] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(376), + [1658] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2019), + [1661] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(471), + [1664] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1801), + [1667] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1807), + [1670] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1951), + [1673] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1758), + [1676] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1848), + [1679] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(788), + [1682] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(230), + [1685] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1742), + [1688] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(532), + [1691] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1878), + [1694] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1736), + [1697] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(2022), + [1700] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1725), + [1703] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT(1909), + [1706] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(718), + [1709] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(552), + [1712] = {.entry = {.count = 1, .reusable = false}}, SHIFT(995), + [1714] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), + [1716] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), + [1718] = {.entry = {.count = 1, .reusable = false}}, SHIFT(994), + [1720] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1006), + [1722] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1010), + [1724] = {.entry = {.count = 1, .reusable = false}}, SHIFT(550), + [1726] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1063), + [1728] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1654), + [1730] = {.entry = {.count = 1, .reusable = false}}, SHIFT(602), + [1732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(602), + [1734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(605), + [1736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(604), + [1738] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 4, 0, 0), + [1740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 4, 0, 0), + [1742] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 3, 0, 0), + [1744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 3, 0, 0), + [1746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(718), + [1748] = {.entry = {.count = 1, .reusable = false}}, SHIFT(543), + [1750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(543), + [1752] = {.entry = {.count = 1, .reusable = false}}, SHIFT(547), + [1754] = {.entry = {.count = 1, .reusable = false}}, SHIFT(546), + [1756] = {.entry = {.count = 1, .reusable = false}}, SHIFT(358), + [1758] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__declaration_modifiers, 1, 0, 0), REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0), + [1761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0), + [1763] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0), + [1765] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_modifiers, 1, 0, 0), + [1767] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__declaration_modifiers, 1, 0, 0), REDUCE(aux_sym_attributed_declarator_repeat1, 1, 0, 0), + [1770] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 1), + [1772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), + [1774] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), REDUCE(sym_expression, 1, 0, 0), SHIFT(997), + [1778] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), + [1780] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 1), REDUCE(sym_expression, 1, 0, 0), + [1783] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), REDUCE(sym_expression, 1, 0, 0), + [1786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), + [1788] = {.entry = {.count = 1, .reusable = false}}, SHIFT(768), + [1790] = {.entry = {.count = 1, .reusable = false}}, SHIFT(566), + [1792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [1794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(566), + [1796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [1798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [1800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [1802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [1804] = {.entry = {.count = 1, .reusable = false}}, SHIFT(840), + [1806] = {.entry = {.count = 1, .reusable = false}}, SHIFT(616), + [1808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(616), + [1810] = {.entry = {.count = 1, .reusable = false}}, SHIFT(620), + [1812] = {.entry = {.count = 1, .reusable = false}}, SHIFT(619), + [1814] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(340), + [1817] = {.entry = {.count = 1, .reusable = false}}, SHIFT(923), + [1819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1761), + [1821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1297), + [1823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [1825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(847), + [1827] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1773), + [1829] = {.entry = {.count = 1, .reusable = false}}, SHIFT(425), + [1831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), + [1833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(492), + [1835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(617), + [1837] = {.entry = {.count = 1, .reusable = false}}, SHIFT(430), + [1839] = {.entry = {.count = 1, .reusable = false}}, SHIFT(421), + [1841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1432), + [1843] = {.entry = {.count = 1, .reusable = false}}, SHIFT(703), + [1845] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1977), + [1847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(618), + [1849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(498), + [1851] = {.entry = {.count = 1, .reusable = false}}, SHIFT(667), + [1853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1405), + [1855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(500), + [1857] = {.entry = {.count = 1, .reusable = false}}, SHIFT(427), + [1859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1383), + [1861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(504), + [1863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1314), + [1865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502), + [1867] = {.entry = {.count = 1, .reusable = false}}, SHIFT(423), + [1869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1321), + [1871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501), + [1873] = {.entry = {.count = 1, .reusable = false}}, SHIFT(428), + [1875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1436), + [1877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(494), + [1879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1437), + [1881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(505), + [1883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1399), + [1885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(495), + [1887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1451), + [1889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(496), + [1891] = {.entry = {.count = 1, .reusable = false}}, SHIFT(426), + [1893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1452), + [1895] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(840), + [1898] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(392), + [1901] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(616), + [1904] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(616), + [1907] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(617), + [1910] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(620), + [1913] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(618), + [1916] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(619), + [1919] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1864), + [1922] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1892), + [1925] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1843), + [1928] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1466), + [1931] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(693), + [1934] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1679), + [1937] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(1540), + [1940] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(693), + [1943] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_qualifier, 1, 0, 0), SHIFT(689), + [1946] = {.entry = {.count = 1, .reusable = false}}, SHIFT(766), + [1948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), + [1950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(952), + [1952] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1970), + [1954] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1204), + [1956] = {.entry = {.count = 1, .reusable = false}}, SHIFT(810), + [1958] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1872), + [1960] = {.entry = {.count = 1, .reusable = false}}, SHIFT(458), + [1962] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1185), + [1964] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1931), + [1966] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1711), + [1968] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 3, 0, 17), + [1970] = {.entry = {.count = 1, .reusable = false}}, SHIFT(791), + [1972] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 4, 0, 42), + [1974] = {.entry = {.count = 1, .reusable = false}}, SHIFT(864), + [1976] = {.entry = {.count = 1, .reusable = false}}, SHIFT(877), + [1978] = {.entry = {.count = 1, .reusable = false}}, SHIFT(785), + [1980] = {.entry = {.count = 1, .reusable = false}}, SHIFT(787), + [1982] = {.entry = {.count = 1, .reusable = false}}, SHIFT(891), + [1984] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 2, 0, 17), + [1986] = {.entry = {.count = 1, .reusable = false}}, SHIFT(854), + [1988] = {.entry = {.count = 1, .reusable = false}}, SHIFT(872), + [1990] = {.entry = {.count = 1, .reusable = false}}, SHIFT(880), + [1992] = {.entry = {.count = 1, .reusable = false}}, SHIFT(884), + [1994] = {.entry = {.count = 1, .reusable = false}}, SHIFT(875), + [1996] = {.entry = {.count = 1, .reusable = false}}, SHIFT(801), + [1998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1885), + [2000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(692), + [2002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(540), + [2004] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1920), + [2006] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 3, 0, 42), + [2008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(678), + [2010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(679), + [2012] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(766), + [2015] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1970), + [2018] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1204), + [2021] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), + [2023] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1872), + [2026] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1711), + [2029] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(720), + [2032] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(729), + [2035] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1985), + [2038] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1744), + [2041] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1853), + [2044] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(722), + [2047] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1778), + [2050] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(755), + [2053] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1681), + [2056] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1413), + [2059] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1515), + [2062] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1945), + [2064] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1200), + [2066] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1940), + [2068] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1690), + [2070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(778), + [2072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(759), + [2074] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1971), + [2076] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1210), + [2078] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else_in_field_declaration_list, 2, 0, 0), + [2080] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1935), + [2082] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1717), + [2084] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1945), + [2087] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1200), + [2090] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1940), + [2093] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1690), + [2096] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), + [2098] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1971), + [2101] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1210), + [2104] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1935), + [2107] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1717), + [2110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else_in_field_declaration_list, 1, 0, 0), + [2112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(701), + [2114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(931), + [2116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [2118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), + [2120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(603), + [2122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 2, 0, 58), + [2124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), + [2126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(587), + [2128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(561), + [2130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [2132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 2, 0, 0), + [2134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 58), + [2136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 0, 106), + [2138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516), + [2140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 42), + [2142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(510), + [2144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [2146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(600), + [2148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(719), + [2150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), + [2152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(545), + [2154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [2156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(536), + [2158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), + [2160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 85), + [2162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472), + [2164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391), + [2166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(607), + [2168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(589), + [2170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(559), + [2172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), + [2174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1414), + [2176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1447), + [2178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1471), + [2180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1472), + [2182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [2184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1420), + [2186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [2188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1397), + [2190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1473), + [2192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1308), + [2194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [2196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1304), + [2198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1382), + [2200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [2202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), + [2204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(768), + [2206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), + [2208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), + [2210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), + [2212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), + [2214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [2216] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(628), + [2219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), + [2221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), + [2223] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2, 0, 0), SHIFT_REPEAT(1540), + [2226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(628), + [2228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatenated_string, 3, 0, 0), + [2230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatenated_string, 3, 0, 0), + [2232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(629), + [2234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatenated_string, 2, 0, 0), + [2236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatenated_string, 2, 0, 0), + [2238] = {.entry = {.count = 1, .reusable = false}}, SHIFT(897), + [2240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(822), + [2242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 6, 0, 109), + [2244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 6, 0, 109), + [2246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 6, 0, 110), + [2248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 6, 0, 110), + [2250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 4, 0, 59), + [2252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 4, 0, 59), + [2254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 9, 0, 130), + [2256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 9, 0, 130), + [2258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, 0, 0), + [2260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, 0, 0), + [2262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 8, 0, 126), + [2264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 8, 0, 126), + [2266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 7, 0, 121), + [2268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 7, 0, 121), + [2270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 8, 0, 125), + [2272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 8, 0, 125), + [2274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2, 0, 0), + [2276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2, 0, 0), + [2278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 5, 0, 89), + [2280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 5, 0, 89), + [2282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 7, 0, 120), + [2284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 7, 0, 120), + [2286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gnu_asm_expression, 5, 0, 88), + [2288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_expression, 5, 0, 88), + [2290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), + [2292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), + [2294] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(720), + [2297] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(729), + [2300] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1985), + [2303] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1744), + [2306] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1853), + [2309] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2, 0, 0), SHIFT_REPEAT(1778), + [2312] = {.entry = {.count = 1, .reusable = false}}, SHIFT(933), + [2314] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(766), + [2317] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(720), + [2320] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(729), + [2323] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1985), + [2326] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1744), + [2329] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1853), + [2332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), + [2334] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(722), + [2337] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1778), + [2340] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(755), + [2343] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1681), + [2346] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1413), + [2349] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__old_style_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1515), + [2352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_specifier, 4, 0, 0), + [2354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_specifier, 4, 0, 0), + [2356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), + [2358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), + [2360] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(703), + [2363] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(667), + [2366] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1977), + [2369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [2371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [2373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), + [2375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), + [2377] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(720), + [2380] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__type_definition_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1778), + [2383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(630), + [2385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string, 1, 0, 0), + [2387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string, 1, 0, 0), + [2389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 2, 0, 13), + [2391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 2, 0, 13), + [2393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_offsetof_expression, 6, 0, 107), + [2395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_offsetof_expression, 6, 0, 107), + [2397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 4, 0, 0), + [2399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 4, 0, 0), + [2401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 5, 0, 0), + [2403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 5, 0, 0), + [2405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_expression, 8, 0, 0), + [2407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_expression, 8, 0, 0), + [2409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_expression, 9, 0, 0), + [2411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_expression, 9, 0, 0), + [2413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_char_literal, 3, 0, 0), + [2415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char_literal, 3, 0, 0), + [2417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_expression, 3, 0, 37), + [2419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_expression, 3, 0, 37), + [2421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_literal_expression, 4, 0, 47), + [2423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_literal_expression, 4, 0, 47), + [2425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alignof_expression, 4, 0, 38), + [2427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alignof_expression, 4, 0, 38), + [2429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_update_expression, 2, 0, 12), + [2431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_update_expression, 2, 0, 12), + [2433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_null, 1, 0, 0), + [2435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_null, 1, 0, 0), + [2437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_expression, 4, 0, 70), + [2439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_expression, 4, 0, 70), + [2441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 2, 0, 0), + [2443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 2, 0, 0), + [2445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 3, 0, 0), + [2447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 3, 0, 0), + [2449] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alignas_qualifier, 4, 0, 0), + [2451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alignas_qualifier, 4, 0, 0), + [2453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast_expression, 4, 0, 47), + [2455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast_expression, 4, 0, 47), + [2457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), + [2459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), + [2461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(688), + [2463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1821), + [2465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2, 0, 0), + [2467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), + [2469] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 30), + [2471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 30), + [2473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_update_expression, 2, 0, 5), + [2475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_update_expression, 2, 0, 5), + [2477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sizeof_expression, 2, 0, 9), + [2479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sizeof_expression, 2, 0, 9), + [2481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, 0, 0), + [2483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, 0, 0), + [2485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_expression, 2, 0, 5), + [2487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_expression, 2, 0, 5), + [2489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 5), + [2491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 5), + [2493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3, 0, 0), + [2495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 0), + [2497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 2, 0, 7), + [2499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 2, 0, 7), + [2501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), + [2503] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 2, 0, 7), + [2505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 2, 0, 7), + [2507] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), SHIFT(753), + [2510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), + [2512] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), SHIFT(720), + [2515] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), + [2517] = {.entry = {.count = 1, .reusable = false}}, SHIFT(754), + [2519] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), SHIFT(1778), + [2522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(752), + [2524] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_declspec_modifier, 4, 0, 0), + [2526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_declspec_modifier, 4, 0, 0), + [2528] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 55), + [2530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 55), + [2532] = {.entry = {.count = 1, .reusable = false}}, SHIFT(626), + [2534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(626), + [2536] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 25), + [2538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 25), + [2540] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(756), + [2543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), + [2545] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(720), + [2548] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), + [2550] = {.entry = {.count = 1, .reusable = false}}, SHIFT(749), + [2552] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1778), + [2555] = {.entry = {.count = 1, .reusable = false}}, SHIFT(745), + [2557] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 25), + [2559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 25), + [2561] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 2, 0, 14), + [2563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 2, 0, 14), + [2565] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 3, 0, 14), + [2567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 3, 0, 14), + [2569] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 1, 0, 3), + [2571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 1, 0, 3), + [2573] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 2, 0, 3), + [2575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 2, 0, 3), + [2577] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_storage_class_specifier, 1, 0, 0), + [2579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_storage_class_specifier, 1, 0, 0), + [2581] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 56), + [2583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 56), + [2585] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 2, 0, 8), + [2587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 2, 0, 8), + [2589] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, 0, 54), + [2591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, 0, 54), + [2593] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 24), + [2595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 24), + [2597] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 2, 0, 8), + [2599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 2, 0, 8), + [2601] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), + [2603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), + [2605] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT_REPEAT(736), + [2608] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 26), + [2610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 26), + [2612] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 24), + [2614] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 24), + [2616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 54), + [2618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 54), + [2620] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 26), + [2622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 26), + [2624] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, 0, 81), + [2626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, 0, 81), + [2628] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, 0, 56), + [2630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, 0, 56), + [2632] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 7), + [2634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 7), + [2636] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 6, 0, 81), + [2638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 6, 0, 81), + [2640] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 14), + [2642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 14), + [2644] = {.entry = {.count = 1, .reusable = false}}, SHIFT(750), + [2646] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, 0, 8), + [2648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, 0, 8), + [2650] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 3), + [2652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 3), + [2654] = {.entry = {.count = 1, .reusable = false}}, SHIFT(736), + [2656] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 5, 0, 54), + [2658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 5, 0, 54), + [2660] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), + [2663] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), + [2666] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 14), + [2668] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 3, 0, 14), + [2670] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, -1, 15), + [2672] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 3, -1, 15), + [2674] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 38), + [2676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 3, 0, 38), + [2678] = {.entry = {.count = 1, .reusable = false}}, SHIFT(770), + [2680] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, -1, 39), + [2682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 3, -1, 39), + [2684] = {.entry = {.count = 1, .reusable = false}}, SHIFT(771), + [2686] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 0), + [2688] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 3, 0, 0), + [2690] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 0), + [2692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 0), + [2694] = {.entry = {.count = 1, .reusable = false}}, SHIFT(747), + [2696] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 15), + [2698] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, -1, 15), + [2700] = {.entry = {.count = 1, .reusable = false}}, SHIFT(751), + [2702] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 3, 0, 0), + [2704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 3, 0, 0), + [2706] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 24), + [2708] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, 0, 24), + [2710] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 3, 0, 0), + [2712] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 3, 0, 0), + [2714] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 24), + [2716] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 24), + [2718] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 25), + [2720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 25), + [2722] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, 0, 26), + [2724] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, 0, 26), + [2726] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, 0, 24), + [2728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, 0, 24), + [2730] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, 0, 25), + [2732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, 0, 25), + [2734] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, 0, 26), + [2736] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, 0, 26), + [2738] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(997), + [2741] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_type_specifier, 4, -1, 60), + [2743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_type_specifier, 4, -1, 60), + [2745] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 10), + [2747] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, -1, 10), + [2749] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 6, 0, 79), + [2751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 6, 0, 79), + [2753] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 4, 0, 38), + [2755] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 4, 0, 38), + [2757] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 4, -1, 39), + [2759] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 4, -1, 39), + [2761] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 2, 0, 0), + [2763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 2, 0, 0), + [2765] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 7), + [2767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 7), + [2769] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 4, 0, 0), + [2771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 4, 0, 0), + [2773] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 5, 0, 52), + [2775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 5, 0, 52), + [2777] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 8), + [2779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 8), + [2781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 2, 0, 0), + [2783] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 2, 0, 0), + [2785] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 7), + [2787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 7), + [2789] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, 0, 54), + [2791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, 0, 54), + [2793] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, 0, 55), + [2795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, 0, 55), + [2797] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, 0, 8), + [2799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, 0, 8), + [2801] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1311), + [2803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 2, 1, 0), + [2805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(797), + [2807] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_pointer_declarator, 2, 1, 0), + [2809] = {.entry = {.count = 1, .reusable = false}}, SHIFT(998), + [2811] = {.entry = {.count = 1, .reusable = false}}, SHIFT(996), + [2813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [2815] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, 0, 80), + [2817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, 0, 80), + [2819] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 4, 0, 42), + [2821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 4, 0, 42), + [2823] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 43), + [2825] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 43), + [2827] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 17), + [2829] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, 0, 17), + [2831] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4, 0, 80), + [2833] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4, 0, 80), + [2835] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 73), + [2837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 73), + [2839] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 42), + [2841] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, 0, 42), + [2843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [2845] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 5, 0, 74), + [2847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 5, 0, 74), + [2849] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 6, 0, 98), + [2851] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 6, 0, 98), + [2853] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 1, 1, 0), + [2855] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_pointer_declarator, 1, 1, 0), + [2857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), + [2859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), + [2861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), + [2863] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 2, 0, 44), + [2865] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 2, 0, 44), + [2867] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 3, 0, 17), + [2869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 3, 0, 17), + [2871] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, 0, 44), + [2873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, 0, 44), + [2875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), + [2877] = {.entry = {.count = 1, .reusable = false}}, SHIFT(570), + [2879] = {.entry = {.count = 1, .reusable = false}}, SHIFT(571), + [2881] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_parameter_list, 3, 0, 0), REDUCE(sym__old_style_parameter_list, 3, 0, 0), + [2884] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), + [2886] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_parameter_list, 3, 0, 0), + [2888] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), REDUCE(sym__old_style_parameter_list, 3, 0, 0), + [2891] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 3, 0, 0), + [2893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(556), + [2895] = {.entry = {.count = 1, .reusable = false}}, SHIFT(568), + [2897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(568), + [2899] = {.entry = {.count = 1, .reusable = false}}, SHIFT(533), + [2901] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_expression, 4, 0, 71), + [2903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(574), + [2905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610), + [2907] = {.entry = {.count = 1, .reusable = false}}, SHIFT(621), + [2909] = {.entry = {.count = 1, .reusable = false}}, SHIFT(622), + [2911] = {.entry = {.count = 1, .reusable = false}}, SHIFT(623), + [2913] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_expression, 4, 0, 71), + [2915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(490), + [2917] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 7), + [2919] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 2, 0, 7), + [2921] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 7), SHIFT(1985), + [2924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1324), + [2926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1960), + [2928] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extension_expression, 2, 0, 0), + [2930] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_extension_expression, 2, 0, 0), + [2932] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_parameter_list, 2, 0, 0), REDUCE(sym__old_style_parameter_list, 2, 0, 0), + [2935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), + [2937] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_parameter_list, 2, 0, 0), + [2939] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), REDUCE(sym__old_style_parameter_list, 2, 0, 0), + [2942] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 2, 0, 0), + [2944] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, 0, 30), + [2946] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, 0, 30), + [2948] = {.entry = {.count = 1, .reusable = false}}, SHIFT(522), + [2950] = {.entry = {.count = 1, .reusable = false}}, SHIFT(558), + [2952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(524), + [2954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525), + [2956] = {.entry = {.count = 1, .reusable = false}}, SHIFT(526), + [2958] = {.entry = {.count = 1, .reusable = false}}, SHIFT(527), + [2960] = {.entry = {.count = 1, .reusable = false}}, SHIFT(528), + [2962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(529), + [2964] = {.entry = {.count = 1, .reusable = false}}, SHIFT(530), + [2966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530), + [2968] = {.entry = {.count = 1, .reusable = false}}, SHIFT(531), + [2970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484), + [2972] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_expression, 5, 0, 97), + [2974] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_expression, 5, 0, 97), + [2976] = {.entry = {.count = 1, .reusable = false}}, SHIFT(576), + [2978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(576), + [2980] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 52), + [2982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, 0, 52), + [2984] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 4, 0, 52), SHIFT(1985), + [2987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1558), + [2989] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 8), + [2991] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 2, 0, 8), + [2993] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 2, 0, 8), SHIFT(1985), + [2996] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 5, 0, 79), + [2998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 5, 0, 79), + [3000] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 5, 0, 79), SHIFT(1985), + [3003] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 24), + [3005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, 0, 24), + [3007] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_enum_specifier, 3, 0, 24), SHIFT(1985), + [3010] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1423), + [3012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1128), + [3014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(893), + [3016] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1424), + [3018] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1421), + [3020] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_call_modifier, 1, 0, 0), + [3022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_call_modifier, 1, 0, 0), + [3024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), + [3026] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1821), + [3028] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(1588), + [3031] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(946), + [3034] = {.entry = {.count = 1, .reusable = false}}, SHIFT(591), + [3036] = {.entry = {.count = 1, .reusable = false}}, SHIFT(523), + [3038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(592), + [3040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(593), + [3042] = {.entry = {.count = 1, .reusable = false}}, SHIFT(594), + [3044] = {.entry = {.count = 1, .reusable = false}}, SHIFT(595), + [3046] = {.entry = {.count = 1, .reusable = false}}, SHIFT(596), + [3048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(597), + [3050] = {.entry = {.count = 1, .reusable = false}}, SHIFT(598), + [3052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(598), + [3054] = {.entry = {.count = 1, .reusable = false}}, SHIFT(599), + [3056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(481), + [3058] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_type_specifier, 1, 0, 1), + [3061] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(997), + [3065] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__declarator, 1, 0, 0), REDUCE(sym_type_specifier, 1, 0, 1), + [3068] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_type_specifier, 1, 0, 1), REDUCE(aux_sym__old_style_parameter_list_repeat1, 2, 0, 0), + [3071] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 3, 1, 0), + [3073] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_pointer_declarator, 3, 1, 0), + [3075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), + [3077] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_parameter_list, 4, 0, 0), + [3079] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_parameter_list, 4, 0, 0), + [3081] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__old_style_function_declarator, 2, 0, 34), + [3083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_function_declarator, 2, 0, 34), + [3085] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__old_style_parameter_list, 3, 0, 0), + [3087] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), + [3089] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), + [3091] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(998), + [3094] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(996), + [3097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(720), + [3099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(998), + [3101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(996), + [3103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1778), + [3105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1264), + [3107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(956), + [3109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(964), + [3111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1392), + [3113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1265), + [3115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(959), + [3117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(554), + [3119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(513), + [3121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(513), + [3123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(509), + [3125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(509), + [3127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(535), + [3129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator, 3, 0, 78), + [3131] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator, 3, 0, 78), + [3133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(514), + [3135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(537), + [3137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(537), + [3139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(538), + [3141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(548), + [3143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(551), + [3145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(553), + [3147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(555), + [3149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(565), + [3151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(573), + [3153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(573), + [3155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(588), + [3157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478), + [3159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(518), + [3161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519), + [3163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(544), + [3165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(563), + [3167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(569), + [3169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(606), + [3171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476), + [3173] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1144), + [3175] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1122), + [3177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1142), + [3179] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_unaligned_ptr_modifier, 1, 0, 0), + [3181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_unaligned_ptr_modifier, 1, 0, 0), + [3183] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_pointer_modifier, 1, 0, 0), + [3185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_pointer_modifier, 1, 0, 0), + [3187] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 4, 0, 0), + [3189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 4, 0, 0), + [3191] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 3, 0, 0), + [3193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 3, 0, 0), + [3195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1573), + [3197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 2, 0, 0), + [3199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 2, 0, 0), + [3201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call_expression, 2, 0, 13), + [3203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call_expression, 2, 0, 13), + [3205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493), + [3207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comma_expression, 3, 0, 46), + [3209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1901), + [3211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_clause, 2, 0, 0), + [3213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bitfield_clause, 2, 0, 0), + [3215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1002), + [3217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(680), + [3219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465), + [3221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(709), + [3223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), + [3225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(698), + [3227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(927), + [3229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_pair, 3, 0, 115), + [3231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(567), + [3233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(577), + [3235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(578), + [3237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(578), + [3239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(579), + [3241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(580), + [3243] = {.entry = {.count = 1, .reusable = false}}, SHIFT(581), + [3245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(582), + [3247] = {.entry = {.count = 1, .reusable = false}}, SHIFT(583), + [3249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584), + [3251] = {.entry = {.count = 1, .reusable = false}}, SHIFT(585), + [3253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(585), + [3255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(586), + [3257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1595), + [3259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(489), + [3261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(624), + [3263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(508), + [3265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declarator, 3, 0, 64), + [3267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_initializer_list_repeat1, 2, 0, 0), + [3269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_pair, 3, 0, 116), + [3271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), + [3273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 5, 0, 117), + [3275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [3277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [3279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486), + [3281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), + [3283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(671), + [3285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 83), + [3287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [3289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [3291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_expression_repeat1, 4, 0, 0), + [3293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485), + [3295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 3, 0, 84), + [3297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475), + [3299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(756), + [3301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1121), + [3303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 0, 103), + [3305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515), + [3307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 0, 104), + [3309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__for_statement_body, 4, 0, 105), + [3311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(601), + [3313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [3315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(669), + [3317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(590), + [3319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [3321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [3323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(753), + [3325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477), + [3327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(541), + [3329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [3331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1591), + [3333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1674), + [3335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [3337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 1, 0, 3), + [3339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, 0, 14), + [3341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1585), + [3343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [3345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, 0, 3), + [3347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1680), + [3349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(690), + [3351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [3353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1005), + [3355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1575), + [3357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, 0, 14), + [3359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(699), + [3361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(716), + [3363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [3365] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), SHIFT(1133), + [3368] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), SHIFT(1134), + [3371] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), SHIFT(1132), + [3374] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1147), + [3377] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1143), + [3380] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1, 0, 0), SHIFT(1146), + [3383] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 3, 0, 14), + [3385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 3, 0, 14), + [3387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 1, 0, 3), + [3389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 1, 0, 3), + [3391] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 2, 0, 3), + [3393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 2, 0, 3), + [3395] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_type, 2, 0, 14), + [3397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_type, 2, 0, 14), + [3399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 1, 0, 44), + [3401] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 10), SHIFT(736), + [3404] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 14), SHIFT(736), + [3407] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, -1, 15), SHIFT(736), + [3410] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 38), SHIFT(1140), + [3413] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, -1, 39), SHIFT(1141), + [3416] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 3, 0, 0), SHIFT(736), + [3419] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 3), SHIFT(736), + [3422] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1375), + [3424] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 4, 0, 38), SHIFT(736), + [3427] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 4, -1, 39), SHIFT(736), + [3430] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 0), SHIFT(1135), + [3433] = {.entry = {.count = 3, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 0), REDUCE(aux_sym_sized_type_specifier_repeat1, 2, 0, 0), SHIFT(736), + [3437] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_type_specifier, 1, 0, 1), SHIFT(1129), + [3440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__preproc_expression, 1, 0, 0), + [3442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1163), + [3444] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__preproc_expression, 1, 0, 0), + [3446] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, 0, 14), SHIFT(1130), + [3449] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, -1, 15), SHIFT(1131), + [3452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1193), + [3454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1247), + [3456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1177), + [3458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1219), + [3460] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1219), + [3462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1208), + [3464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1173), + [3466] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1216), + [3468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1217), + [3470] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1186), + [3472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1192), + [3474] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1167), + [3476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1167), + [3478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1197), + [3480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1000), + [3482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1985), + [3484] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_enum_specifier, 2, 0, 7), SHIFT(1901), + [3487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1800), + [3489] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1145), + [3491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1244), + [3493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1183), + [3495] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1734), + [3497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1198), + [3499] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1198), + [3501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1150), + [3503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1665), + [3505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1004), + [3507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1151), + [3509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2013), + [3511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1157), + [3513] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1161), + [3515] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [3517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1202), + [3519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_binary_expression, 3, 0, 30), + [3521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_binary_expression, 3, 0, 30), + [3523] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1166), + [3525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1196), + [3527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1751), + [3529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1209), + [3531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1209), + [3533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1226), + [3535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1652), + [3537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1239), + [3539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1178), + [3541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1250), + [3543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1241), + [3545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_unary_expression, 2, 0, 5), + [3547] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_unary_expression, 2, 0, 5), + [3549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1220), + [3551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1251), + [3553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_argument_list_repeat1, 2, 0, 0), + [3555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1227), + [3557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1222), + [3559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1242), + [3561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1187), + [3563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1228), + [3565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_defined, 4, 0, 0), + [3567] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_defined, 4, 0, 0), + [3569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1238), + [3571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1189), + [3573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1180), + [3575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1237), + [3577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1229), + [3579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1233), + [3581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1205), + [3583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1176), + [3585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1235), + [3587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1260), + [3589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1230), + [3591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1225), + [3593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1253), + [3595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1254), + [3597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1231), + [3599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1171), + [3601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1236), + [3603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1257), + [3605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1258), + [3607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1224), + [3609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_parenthesized_expression, 3, 0, 0), + [3611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_parenthesized_expression, 3, 0, 0), + [3613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1223), + [3615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1232), + [3617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1182), + [3619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1184), + [3621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_defined, 2, 0, 0), + [3623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_defined, 2, 0, 0), + [3625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1169), + [3627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1248), + [3629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1213), + [3631] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1191), + [3633] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1214), + [3635] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1203), + [3637] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1170), + [3639] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1181), + [3641] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1188), + [3643] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1195), + [3645] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1201), + [3647] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1207), + [3649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [3651] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1212), + [3653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1256), + [3655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1293), + [3657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [3659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1291), + [3661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1348), + [3663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), + [3665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [3667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1360), + [3669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1336), + [3671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), + [3673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [3675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), + [3677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [3679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446), + [3681] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1289), + [3683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 2, 0, 34), + [3685] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 2, 0, 34), + [3687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_declarator, 2, 0, 34), + [3689] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1289), + [3692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0), + [3694] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1985), + [3697] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 2, 0, 0), + [3699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_declarator, 3, 0, 34), + [3701] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 3, 0, 34), + [3703] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 3, 0, 34), + [3705] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_declaration_declarator, 3, 0, 34), + [3707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 4, 0, 34), + [3709] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 4, 0, 34), + [3711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(870), + [3713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(858), + [3715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), + [3717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), + [3719] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2, 0, 0), SHIFT_REPEAT(1694), + [3722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(809), + [3724] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 1, 0, 0), + [3726] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat1, 1, 0, 0), + [3728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1417), + [3730] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 3, 0, 42), + [3732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1517), + [3734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1172), + [3736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1895), + [3738] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 2, 0, 17), + [3740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1476), + [3742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1493), + [3744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_declarator, 2, 0, 0), + [3746] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_declarator, 2, 0, 0), + [3748] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 4, 0, 0), + [3750] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4, 0, 0), + [3752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 3, 1, 61), + [3754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(633), + [3756] = {.entry = {.count = 1, .reusable = false}}, SHIFT(424), + [3758] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_declarator, 3, 1, 61), + [3760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 5, 1, 111), + [3762] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_declarator, 5, 1, 111), + [3764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 4, 1, 90), + [3766] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_declarator, 4, 1, 90), + [3768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 2, 1, 32), + [3770] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_declarator, 2, 1, 32), + [3772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1361), + [3774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_declarator, 1, 0, 22), + [3776] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declaration_declarator, 1, 0, 22), + [3778] = {.entry = {.count = 1, .reusable = false}}, SHIFT(422), + [3780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(517), + [3782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 5, 0, 113), + [3784] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 5, 0, 113), + [3786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_declarator, 3, -10, 0), + [3788] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_declarator, 3, -10, 0), + [3790] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 4, 0, 93), + [3792] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 4, 0, 93), + [3794] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declarator, 1, 0, 0), + [3796] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declarator, 1, 0, 0), + [3798] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 1, 0, 0), + [3800] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 1, 0, 0), REDUCE(aux_sym_function_declarator_repeat1, 1, 0, 0), + [3803] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 1, 0, 0), + [3805] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 4, 0, 22), + [3807] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 4, 0, 22), + [3809] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_declarator, 4, -10, 0), + [3811] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_declarator, 4, -10, 0), + [3813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1675), + [3815] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1199), + [3817] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1785), + [3819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(757), + [3821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 3, 0, 22), + [3823] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 3, 0, 22), + [3825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(773), + [3827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 5, 1, 111), + [3829] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_field_declarator, 5, 1, 111), + [3831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 4, 1, 90), + [3833] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_field_declarator, 4, 1, 90), + [3835] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 3, 1, 61), + [3837] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_field_declarator, 3, 1, 61), + [3839] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 2, 0, 32), + [3841] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 2, 0, 32), + [3843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 2, 0, 35), + [3845] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 2, 1, 32), + [3847] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_field_declarator, 2, 1, 32), + [3849] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1479), + [3851] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_clobber_list, 1, 0, 0), + [3853] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 4, 0, 42), + [3855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1534), + [3857] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1174), + [3859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1889), + [3861] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1675), + [3864] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1175), + [3867] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1904), + [3870] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1709), + [3873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), + [3875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 2, 1, 32), + [3877] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type_declarator, 2, 1, 32), + [3879] = {.entry = {.count = 1, .reusable = false}}, SHIFT(420), + [3881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 3, 0, 42), + [3883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1550), + [3885] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1179), + [3887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1932), + [3889] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 5, 1, 111), + [3891] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type_declarator, 5, 1, 111), + [3893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1483), + [3895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1949), + [3897] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 3, 0, 17), + [3899] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 3, 0, 17), + [3901] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 3, 1, 61), + [3903] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type_declarator, 3, 1, 61), + [3905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 2, 0, 17), + [3907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1490), + [3909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1496), + [3911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1288), + [3913] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_declarators, 1, 0, 22), + [3915] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_declarators, 1, 0, 22), + [3917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1488), + [3919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1912), + [3921] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 4, 1, 90), + [3923] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type_declarator, 4, 1, 90), + [3925] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 4, 0, 42), + [3927] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_field_declarator, 2, 0, 0), + [3929] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_field_declarator, 2, 0, 0), + [3931] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 32), + [3933] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 32), + [3935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand_list, 1, 0, 0), + [3937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1852), + [3939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(632), + [3941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), + [3943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_type_declarator, 2, 0, 0), + [3945] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_type_declarator, 2, 0, 0), + [3947] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0), + [3949] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1985), + [3952] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(1985), + [3955] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 2, 0, 0), + [3957] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand_list, 1, 0, 0), + [3959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1956), + [3961] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_declarator, 1, 0, 0), + [3963] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_declarator, 1, 0, 0), + [3965] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1655), + [3967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1537), + [3969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1861), + [3971] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_declarator, 4, 0, 34), + [3973] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_declaration_declarator, 4, 0, 34), + [3975] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 5, 0, 113), + [3977] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 5, 0, 113), + [3979] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 3, 0, 22), + [3981] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 3, 0, 22), + [3983] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_field_declarator, 3, -10, 0), + [3985] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_field_declarator, 3, -10, 0), + [3987] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1684), + [3989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1989), + [3991] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_field_declarator, 4, -10, 0), + [3993] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_field_declarator, 4, -10, 0), + [3995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), + [3997] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1578), + [3999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1879), + [4001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declarator, 1, 0, 53), + [4003] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declarator, 1, 0, 53), + [4005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declarator, 1, 0, 0), + [4007] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declarator, 1, 0, 0), + [4009] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 4, 0, 93), + [4011] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 4, 0, 93), + [4013] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1614), + [4015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1817), + [4017] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 4, 0, 22), + [4019] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 4, 0, 22), + [4021] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_field_declarator, 2, 0, 34), + [4023] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_field_declarator, 2, 0, 34), + [4025] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 4, 0, 22), + [4027] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 4, 0, 22), + [4029] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_type_declarator, 4, -10, 0), + [4031] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_type_declarator, 4, -10, 0), + [4033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type_declarator, 2, 0, 34), + [4035] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type_declarator, 2, 0, 34), + [4037] = {.entry = {.count = 1, .reusable = false}}, SHIFT(711), + [4039] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 4, 0, 93), + [4041] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 4, 0, 93), + [4043] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1675), + [4046] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0), + [4048] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_repeat1, 2, 0, 0), + [4050] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator, 1, 0, 6), + [4052] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator, 1, 0, 6), + [4054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(512), + [4056] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 2, 1, 32), + [4058] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_pointer_declarator, 2, 1, 32), + [4060] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 5, 0, 113), + [4062] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 5, 0, 113), + [4064] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, 0, 0), + [4066] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, 0, 0), + [4068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, 0, 1), + [4070] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, 0, 1), + [4072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, 0, 21), + [4074] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, 0, 21), + [4076] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_type_declarator, 3, -10, 0), + [4078] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_type_declarator, 3, -10, 0), + [4080] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0), SHIFT_REPEAT(1417), + [4083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0), + [4085] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 2, 0, 0), + [4087] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 4, 1, 90), + [4089] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_pointer_declarator, 4, 1, 90), + [4091] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 3, 1, 61), + [4093] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_pointer_declarator, 3, 1, 61), + [4095] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 3, 0, 22), + [4097] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 3, 0, 22), + [4099] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 2, 0, 0), + [4101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 2, 0, 0), + [4103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, 0, 22), + [4105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 4, 0, 22), + [4107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1426), + [4109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1388), + [4111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1156), + [4113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [4115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1466), + [4117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1386), + [4119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1521), + [4121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 1, 0, 20), + [4123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_function_declarator, 1, 0, 20), + [4125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1315), + [4127] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2, 0, 0), SHIFT_REPEAT(540), + [4130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2, 0, 0), + [4132] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2, 0, 0), SHIFT_REPEAT(1920), + [4135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [4137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), + [4139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 5, 0, 113), + [4141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 5, 0, 113), + [4143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [4145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_parenthesized_declarator, 3, 0, 0), + [4147] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_parenthesized_declarator, 3, 0, 0), + [4149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_expression_repeat1, 2, 0, 0), + [4151] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(1521), + [4154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, 0, 0), + [4156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 3, 0, 0), + [4158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, 0, 22), + [4160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 3, 0, 22), + [4162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(918), + [4164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1305), + [4166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(928), + [4168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), + [4170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1920), + [4172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(949), + [4174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(948), + [4176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [4178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [4180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1409), + [4182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [4184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 1, 0, 0), + [4186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1487), + [4188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_enumerator_list_no_comma_repeat1, 1, 0, 0), + [4190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_parenthesized_declarator, 4, 0, 0), + [4192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_parenthesized_declarator, 4, 0, 0), + [4194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 2, 0, 34), + [4196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_function_declarator, 2, 0, 34), + [4198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1377), + [4200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__abstract_declarator, 1, 0, 0), + [4202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__abstract_declarator, 1, 0, 0), + [4204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [4206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1384), + [4208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, 0, 99), + [4210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 4, 0, 99), + [4212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, 0, 93), + [4214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 4, 0, 93), + [4216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, 0, 75), + [4218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 3, 0, 75), + [4220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, 0, 48), + [4222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 3, 0, 94), + [4224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 4, 0, 42), + [4226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 4, 0, 42), + [4228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 2, 0, 44), + [4230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 6, 0, 98), + [4232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 6, 0, 98), + [4234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 73), + [4236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 73), + [4238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 42), + [4240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_enumerator_list, 5, 0, 42), + [4242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 4, 0, 76), + [4244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 43), + [4246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 43), + [4248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, 0, 19), + [4250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 17), + [4252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 4, 0, 17), + [4254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 5, 0, 74), + [4256] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 5, 0, 74), + [4258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 3, 0, 17), + [4260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_enumerator_list, 3, 0, 17), + [4262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 3, 0, 35), + [4264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, 0, 32), + [4266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, 0, 45), + [4268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_enumerator_list_repeat1, 2, 0, 0), + [4270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [4272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [4274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [4276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), + [4278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [4280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [4282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [4284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_declarator, 3, 0, 102), + [4286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declaration_declarator, 3, 0, 102), + [4288] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 2, 0, 66), SHIFT_REPEAT(1361), + [4291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 2, 0, 66), + [4293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 2, 0, 66), + [4295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [4297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [4299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [4301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(721), + [4303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_declarator, 1, 0, 11), + [4305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_declarator, 1, 0, 11), + [4307] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 66), SHIFT_REPEAT(1288), + [4310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 66), + [4312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__type_definition_declarators_repeat1, 2, 0, 66), + [4314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [4316] = {.entry = {.count = 1, .reusable = false}}, SHIFT(712), + [4318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, 0, 6), + [4320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1855), + [4322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list, 1, 0, 0), + [4324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_definition_declarators, 2, 0, 50), + [4326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_definition_declarators, 2, 0, 50), + [4328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [4330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [4332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_qualifier, 1, 0, 0), + [4334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [4336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), + [4338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_declarator, 2, 0, 22), + [4340] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declaration_declarator, 2, 0, 22), + [4342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [4344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration_declarator, 2, 0, 50), + [4346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declaration_declarator, 2, 0, 50), + [4348] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1168), + [4350] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1557), + [4352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(886), + [4354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1589), + [4356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1820), + [4358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list, 2, 0, 0), + [4360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1385), + [4362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_clobber_list, 3, 0, 123), + [4364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(663), + [4366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(814), + [4368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1419), + [4370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand_list, 2, 0, 87), + [4372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(888), + [4374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list_no_comma, 2, 0, 0), + [4376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, 0, 51), + [4378] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1827), + [4380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1554), + [4382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1554), + [4384] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_clobber_list_repeat1, 2, 0, 128), SHIFT_REPEAT(1385), + [4387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_clobber_list_repeat1, 2, 0, 128), + [4389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1763), + [4391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1687), + [4393] = {.entry = {.count = 1, .reusable = false}}, SHIFT(642), + [4395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1570), + [4397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1570), + [4399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [4401] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2021), + [4403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1738), + [4405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1765), + [4407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(856), + [4409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1737), + [4411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1739), + [4413] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_input_operand_list_repeat1, 2, 0, 118), SHIFT_REPEAT(1431), + [4416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_input_operand_list_repeat1, 2, 0, 118), + [4418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1753), + [4420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1741), + [4422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1464), + [4424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1762), + [4426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1704), + [4428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand_list, 3, 0, 108), + [4430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_else_in_enumerator_list_no_comma, 1, 0, 0), + [4432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1431), + [4434] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand_list, 2, 0, 87), + [4436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 3, 0, 32), + [4438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__field_declaration_declarator_repeat1, 3, 0, 32), + [4440] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1243), + [4442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1868), + [4444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1565), + [4446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1565), + [4448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1449), + [4450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), + [4452] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2006), + [4454] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_char_literal_repeat1, 2, 0, 0), + [4456] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_char_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(1557), + [4459] = {.entry = {.count = 1, .reusable = false}}, SHIFT(846), + [4461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1569), + [4463] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1569), + [4465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [4467] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1881), + [4469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), + [4471] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1787), + [4473] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_output_operand_list_repeat1, 2, 0, 118), SHIFT_REPEAT(1419), + [4476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_output_operand_list_repeat1, 2, 0, 118), + [4478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(865), + [4480] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1898), + [4482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand_list, 3, 0, 108), + [4484] = {.entry = {.count = 1, .reusable = false}}, SHIFT(684), + [4486] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), + [4488] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(1565), + [4491] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(1565), + [4494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_clobber_list, 2, 0, 119), + [4496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(803), + [4498] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1806), + [4500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(784), + [4502] = {.entry = {.count = 1, .reusable = false}}, SHIFT(849), + [4504] = {.entry = {.count = 1, .reusable = false}}, SHIFT(638), + [4506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [4508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(706), + [4510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1155), + [4512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(640), + [4514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1331), + [4516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand, 7, 0, 132), + [4518] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_generic_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(1002), + [4521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_expression_repeat1, 2, 0, 0), + [4523] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_params_repeat1, 2, 0, 0), SHIFT_REPEAT(1756), + [4526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_params_repeat1, 2, 0, 0), + [4528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [4530] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1164), + [4532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(635), + [4534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1372), + [4536] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__old_style_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1588), + [4539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__old_style_parameter_list_repeat1, 2, 0, 0), + [4541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1728), + [4543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(730), + [4545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1942), + [4547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(668), + [4549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1756), + [4551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1755), + [4553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_input_operand, 4, 0, 122), + [4555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [4557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(681), + [4559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1695), + [4561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1685), + [4563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1731), + [4565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(726), + [4567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand, 4, 0, 122), + [4569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [4571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [4573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [4575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_designator, 3, 0, 0), + [4577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), + [4579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [4581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(643), + [4583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1364), + [4585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_input_operand_list_repeat1, 2, 0, 87), + [4587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [4589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [4591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [4593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(665), + [4595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1290), + [4597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(999), + [4599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_clobber_list_repeat1, 2, 0, 119), + [4601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [4603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1298), + [4605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(636), + [4607] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_list_repeat1, 2, 0, 0), SHIFT_REPEAT(451), + [4610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(723), + [4612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(721), + [4614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1969), + [4616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_goto_list, 3, 0, 129), + [4618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [4620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), + [4622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [4624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(645), + [4626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(925), + [4628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [4630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1249), + [4632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(926), + [4634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [4636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [4638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(929), + [4640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(930), + [4642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(919), + [4644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [4646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_goto_list, 2, 0, 124), + [4648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(920), + [4650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(921), + [4652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_designator, 2, 0, 100), + [4654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [4656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(924), + [4658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [4660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(947), + [4662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(717), + [4664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(937), + [4666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(938), + [4668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(939), + [4670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(941), + [4672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(942), + [4674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(943), + [4676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(944), + [4678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [4680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [4682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [4684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [4686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [4688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [4690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [4692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [4694] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1553), + [4696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [4698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1020), + [4700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [4702] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(1728), + [4705] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_declaration_repeat1, 2, 0, 0), + [4707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [4709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [4711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [4713] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(465), + [4716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(670), + [4718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [4720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [4722] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1527), + [4724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1588), + [4726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(940), + [4728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(634), + [4730] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_gnu_asm_goto_list_repeat1, 2, 0, 131), SHIFT_REPEAT(1969), + [4733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_goto_list_repeat1, 2, 0, 131), + [4735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), + [4737] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(1193), + [4740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [4742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_range_designator, 5, 0, 127), + [4744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(520), + [4746] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(665), + [4749] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), + [4751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_output_operand_list_repeat1, 2, 0, 87), + [4753] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, 0, 66), SHIFT_REPEAT(1156), + [4756] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, 0, 66), + [4758] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1564), + [4760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_output_operand, 7, 0, 132), + [4762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(818), + [4764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(639), + [4766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1771), + [4768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(644), + [4770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), + [4772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1764), + [4774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(922), + [4776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), + [4778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(863), + [4780] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1830), + [4782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [4784] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1808), + [4786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), + [4788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1516), + [4790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1498), + [4792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(775), + [4794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [4796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1844), + [4798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(871), + [4800] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1955), + [4802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [4804] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1784), + [4806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), + [4808] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1783), + [4810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [4812] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1794), + [4814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [4816] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1786), + [4818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), + [4820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1948), + [4822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(802), + [4824] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1803), + [4826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(807), + [4828] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1812), + [4830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(859), + [4832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1819), + [4834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(852), + [4836] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1822), + [4838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), + [4840] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1882), + [4842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 2, 0, 6), + [4844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_params, 2, 0, 0), + [4846] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 2, 0, 0), + [4848] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_gnu_asm_goto_list_repeat1, 2, 0, 124), + [4850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1218), + [4852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1867), + [4854] = {.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), + [4857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1234), + [4859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1799), + [4861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_params, 4, 0, 0), + [4863] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 4, 0, 0), + [4865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1769), + [4867] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_parameter, 1, 0, 0), + [4869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_params, 3, 0, 0), + [4871] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 3, 0, 0), + [4873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 4, 0, 114), + [4875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1628), + [4877] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gnu_asm_goto_list, 1, 0, 0), + [4879] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 4, 0, 51), + [4881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 5, 0, 98), + [4883] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 4, 0, 74), + [4885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(885), + [4887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), + [4889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(861), + [4891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [4893] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list_no_comma, 4, 0, 43), + [4895] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 4, 0, 74), + [4897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), + [4899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [4901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1294), + [4903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [4905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [4907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(862), + [4909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [4911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466), + [4913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [4915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef, 3, 0, 43), + [4917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif, 4, 0, 73), + [4919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [4921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1190), + [4923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [4925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [4927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1823), + [4929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [4931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(805), + [4933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(790), + [4935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef, 4, 0, 74), + [4937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(806), + [4939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [4941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), + [4943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [4945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(917), + [4947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(687), + [4949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(808), + [4951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [4953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [4955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), + [4957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), + [4959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(794), + [4961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(889), + [4963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(851), + [4965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(685), + [4967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(857), + [4969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1245), + [4971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1541), + [4973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [4975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2001), + [4977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 5, 0, 98), + [4979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(866), + [4981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(795), + [4983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), + [4985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1941), + [4987] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list, 3, 0, 43), + [4989] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 3, 0, 43), + [4991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [4993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), + [4995] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_based_modifier, 2, 0, 0), + [4997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1716), + [4999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(542), + [5001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [5003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(767), + [5005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [5007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [5009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [5011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(666), + [5013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(521), + [5015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [5017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1943), + [5019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1869), + [5021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [5023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1536), + [5025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [5027] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list_no_comma, 5, 0, 74), + [5029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [5031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1003), + [5033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [5035] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list_no_comma, 5, 0, 73), + [5037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1796), + [5039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1880), + [5041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1480), + [5043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432), + [5045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [5047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), + [5049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), + [5051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [5053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1556), + [5055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [5057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(715), + [5059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [5061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [5063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(811), + [5065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(867), + [5067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(488), + [5069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1344), + [5071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [5073] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_field_declaration_list, 3, 0, 43), + [5075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1007), + [5077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [5079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), + [5081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1292), + [5083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1485), + [5085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1781), + [5087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(892), + [5089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1489), + [5091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1022), + [5093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [5095] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 5, 0, 98), + [5097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1347), + [5099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(883), + [5101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [5103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [5105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_enumerator_list_no_comma, 4, 0, 17), + [5107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1559), + [5109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [5111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [5113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [5115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [5117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), + [5119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1631), + [5121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(855), + [5123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1863), + [5125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [5127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1482), + [5129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1866), + [5131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [5133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(882), + [5135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), + [5137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), + [5139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1346), + [5141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), + [5143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1859), + [5145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), + [5147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), + [5149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), + [5151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), + [5153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [5155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1497), + [5157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [5159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1562), + [5161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [5163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(860), + [5165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [5167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list_no_comma, 5, 0, 42), + [5169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1873), + [5171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(534), + [5173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(962), + [5175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2010), + [5177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(874), + [5179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1982), + [5181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), + [5183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [5185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(844), + [5187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(637), + [5189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), + [5191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(507), + [5193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1560), + [5195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(954), + [5197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(677), + [5199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1733), + [5201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1567), + [5203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1528), + [5205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(786), + [5207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(612), + [5209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [5211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), + [5213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [5215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(890), + [5217] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [5219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1477), + [5221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479), + [5223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [5225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1715), + [5227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elifdef_in_enumerator_list_no_comma, 4, 0, 74), + [5229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [5231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1735), + [5233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [5235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(511), + [5237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(963), + [5239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 4, 0, 73), + [5241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [5243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [5245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1933), + [5247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(641), + [5249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [5251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1968), + [5253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1752), + [5255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(873), + [5257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), + [5259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), + [5261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(881), + [5263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), + [5265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_enumerator_list_no_comma, 6, 0, 98), + [5267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1760), + [5269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list, 4, 0, 73), + [5271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(887), + [5273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_enumerator_list_no_comma, 4, 0, 73), + [5275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [5277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif, 5, 0, 98), + [5279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(789), + [5281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [5283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(557), + [5285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [5287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), +}; + +#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/deps/tree-sitter-c/src/tree_sitter/alloc.h b/deps/tree-sitter-c/src/tree_sitter/alloc.h new file mode 100644 index 0000000..1abdd12 --- /dev/null +++ b/deps/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 size); +extern void *(*ts_current_calloc)(size_t count, size_t size); +extern void *(*ts_current_realloc)(void *ptr, size_t size); +extern void (*ts_current_free)(void *ptr); + +#ifndef ts_malloc +#define ts_malloc ts_current_malloc +#endif +#ifndef ts_calloc +#define ts_calloc ts_current_calloc +#endif +#ifndef ts_realloc +#define ts_realloc ts_current_realloc +#endif +#ifndef ts_free +#define ts_free ts_current_free +#endif + +#else + +#ifndef ts_malloc +#define ts_malloc malloc +#endif +#ifndef ts_calloc +#define ts_calloc calloc +#endif +#ifndef ts_realloc +#define ts_realloc realloc +#endif +#ifndef ts_free +#define ts_free free +#endif + +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ALLOC_H_ diff --git a/deps/tree-sitter-c/src/tree_sitter/array.h b/deps/tree-sitter-c/src/tree_sitter/array.h new file mode 100644 index 0000000..15a3b23 --- /dev/null +++ b/deps/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/deps/tree-sitter-c/src/tree_sitter/parser.h b/deps/tree-sitter-c/src/tree_sitter/parser.h new file mode 100644 index 0000000..799f599 --- /dev/null +++ b/deps/tree-sitter-c/src/tree_sitter/parser.h @@ -0,0 +1,266 @@ +#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 *); + void (*log)(const TSLexer *, const char *, ...); +}; + +typedef enum { + TSParseActionTypeShift, + TSParseActionTypeReduce, + TSParseActionTypeAccept, + TSParseActionTypeRecover, +} TSParseActionType; + +typedef union { + struct { + uint8_t type; + TSStateId state; + bool extra; + bool repetition; + } shift; + struct { + uint8_t type; + uint8_t child_count; + TSSymbol symbol; + int16_t dynamic_precedence; + uint16_t production_id; + } reduce; + uint8_t type; +} TSParseAction; + +typedef struct { + uint16_t lex_state; + uint16_t external_lex_state; +} TSLexMode; + +typedef union { + TSParseAction action; + struct { + uint8_t count; + bool reusable; + } entry; +} TSParseActionEntry; + +typedef struct { + int32_t start; + int32_t end; +} TSCharacterRange; + +struct TSLanguage { + uint32_t version; + uint32_t symbol_count; + uint32_t alias_count; + uint32_t token_count; + uint32_t external_token_count; + uint32_t state_count; + uint32_t large_state_count; + uint32_t production_id_count; + uint32_t field_count; + uint16_t max_alias_sequence_length; + const uint16_t *parse_table; + const uint16_t *small_parse_table; + const uint32_t *small_parse_table_map; + const TSParseActionEntry *parse_actions; + const char * const *symbol_names; + const char * const *field_names; + const TSFieldMapSlice *field_map_slices; + const TSFieldMapEntry *field_map_entries; + const TSSymbolMetadata *symbol_metadata; + const TSSymbol *public_symbol_map; + const uint16_t *alias_map; + const TSSymbol *alias_sequences; + const TSLexMode *lex_modes; + bool (*lex_fn)(TSLexer *, TSStateId); + bool (*keyword_lex_fn)(TSLexer *, TSStateId); + TSSymbol keyword_capture_token; + struct { + const bool *states; + const TSSymbol *symbol_map; + void *(*create)(void); + void (*destroy)(void *); + bool (*scan)(void *, TSLexer *, const bool *symbol_whitelist); + unsigned (*serialize)(void *, char *); + void (*deserialize)(void *, const char *, unsigned); + } external_scanner; + const TSStateId *primary_state_ids; +}; + +static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t lookahead) { + uint32_t index = 0; + uint32_t size = len - index; + while (size > 1) { + uint32_t half_size = size / 2; + uint32_t mid_index = index + half_size; + TSCharacterRange *range = &ranges[mid_index]; + if (lookahead >= range->start && lookahead <= range->end) { + return true; + } else if (lookahead > range->end) { + index = mid_index; + } + size -= half_size; + } + TSCharacterRange *range = &ranges[index]; + return (lookahead >= range->start && lookahead <= range->end); +} + +/* + * Lexer Macros + */ + +#ifdef _MSC_VER +#define UNUSED __pragma(warning(suppress : 4101)) +#else +#define UNUSED __attribute__((unused)) +#endif + +#define START_LEXER() \ + bool result = false; \ + bool skip = false; \ + UNUSED \ + bool eof = false; \ + int32_t lookahead; \ + goto start; \ + next_state: \ + lexer->advance(lexer, skip); \ + start: \ + skip = false; \ + lookahead = lexer->lookahead; + +#define ADVANCE(state_value) \ + { \ + state = state_value; \ + goto next_state; \ + } + +#define ADVANCE_MAP(...) \ + { \ + static const uint16_t map[] = { __VA_ARGS__ }; \ + for (uint32_t i = 0; i < sizeof(map) / sizeof(map[0]); i += 2) { \ + if (map[i] == lookahead) { \ + state = map[i + 1]; \ + goto next_state; \ + } \ + } \ + } + +#define SKIP(state_value) \ + { \ + skip = true; \ + state = state_value; \ + goto next_state; \ + } + +#define ACCEPT_TOKEN(symbol_value) \ + result = true; \ + lexer->result_symbol = symbol_value; \ + lexer->mark_end(lexer); + +#define END_STATE() return result; + +/* + * Parse Table Macros + */ + +#define SMALL_STATE(id) ((id) - LARGE_STATE_COUNT) + +#define STATE(id) id + +#define ACTIONS(id) id + +#define SHIFT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = (state_value) \ + } \ + }} + +#define SHIFT_REPEAT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = (state_value), \ + .repetition = true \ + } \ + }} + +#define SHIFT_EXTRA() \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .extra = true \ + } \ + }} + +#define REDUCE(symbol_name, children, precedence, prod_id) \ + {{ \ + .reduce = { \ + .type = TSParseActionTypeReduce, \ + .symbol = symbol_name, \ + .child_count = children, \ + .dynamic_precedence = precedence, \ + .production_id = prod_id \ + }, \ + }} + +#define RECOVER() \ + {{ \ + .type = TSParseActionTypeRecover \ + }} + +#define ACCEPT_INPUT() \ + {{ \ + .type = TSParseActionTypeAccept \ + }} + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_PARSER_H_ diff --git a/deps/tree-sitter-c/test/corpus/ambiguities.txt b/deps/tree-sitter-c/test/corpus/ambiguities.txt new file mode 100644 index 0000000..424490d --- /dev/null +++ b/deps/tree-sitter-c/test/corpus/ambiguities.txt @@ -0,0 +1,274 @@ +================================================================================ +pointer declarations vs expressions +================================================================================ + +TSLanguage *(*lang_parser)(void); + +char (*ptr_to_array)[]; + +int main() { + // declare a function pointer + T1 * b(T2 a); + + // evaluate expressions + c * d(5); + e(f * g); +} + +-------------------------------------------------------------------------------- + +(translation_unit + (declaration + (type_identifier) + (pointer_declarator + (function_declarator + (parenthesized_declarator + (pointer_declarator + (identifier))) + (parameter_list + (parameter_declaration + (primitive_type)))))) + (declaration + (primitive_type) + (array_declarator + (parenthesized_declarator + (pointer_declarator + (identifier))))) + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (comment) + (declaration + (type_identifier) + (pointer_declarator + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (type_identifier) + (identifier)))))) + (comment) + (expression_statement + (binary_expression + (identifier) + (call_expression + (identifier) + (argument_list + (number_literal))))) + (expression_statement + (call_expression + (identifier) + (argument_list + (binary_expression + (identifier) + (identifier)))))))) + +================================================================================ +casts vs multiplications +================================================================================ + +/* + * ambiguities + */ + +int main() { + // cast + a((B *)c); + + // parenthesized product + d((e * f)); +} + +-------------------------------------------------------------------------------- + +(translation_unit + (comment) + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (comment) + (expression_statement + (call_expression + (identifier) + (argument_list + (cast_expression + (type_descriptor + (type_identifier) + (abstract_pointer_declarator)) + (identifier))))) + (comment) + (expression_statement + (call_expression + (identifier) + (argument_list + (parenthesized_expression + (binary_expression + (identifier) + (identifier))))))))) + +================================================================================ +function-like type macros vs function calls +================================================================================ + +// this is a macro +GIT_INLINE(int *) x = 5; + +-------------------------------------------------------------------------------- + +(translation_unit + (comment) + (declaration + (macro_type_specifier + (identifier) + (type_descriptor + (primitive_type) + (abstract_pointer_declarator))) + (init_declarator + (identifier) + (number_literal)))) + +================================================================================ +function calls vs parenthesized declarators vs macro types +================================================================================ + +int main() { + /* + * Could be either: + * - function call + * - declaration w/ parenthesized declarator + * - declaration w/ macro type, no declarator + */ + ABC(d); + + /* + * Normal declaration + */ + efg hij; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (comment) + (expression_statement + (call_expression + (identifier) + (argument_list + (identifier)))) + (comment) + (declaration + (type_identifier) + (identifier))))) + +================================================================================ +Call expressions vs empty declarations w/ macros as types +================================================================================ + +int main() { + int a = 1; + b(a); + A(A *); +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (declaration + (primitive_type) + (init_declarator + (identifier) + (number_literal))) + (expression_statement + (call_expression + (identifier) + (argument_list + (identifier)))) + (macro_type_specifier + (identifier) + (type_descriptor + (type_identifier) + (abstract_pointer_declarator)))))) + +================================================================================ +Comments after for loops with ambiguities +================================================================================ + +int main() { + for (a *b = c; d; e) { + aff; + } + + // a-comment + + g; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (for_statement + (declaration + (type_identifier) + (init_declarator + (pointer_declarator + (identifier)) + (identifier))) + (identifier) + (identifier) + (compound_statement + (expression_statement + (identifier)))) + (comment) + (expression_statement + (identifier))))) + +================================================================================ +Top-level macro invocations +================================================================================ + +DEFINE_SOMETHING(THING_A, "this is a thing a"); +DEFINE_SOMETHING(THING_B, "this is a thing b", "thanks"); + +-------------------------------------------------------------------------------- + +(translation_unit + (expression_statement + (call_expression + (identifier) + (argument_list + (identifier) + (string_literal + (string_content))))) + (expression_statement + (call_expression + (identifier) + (argument_list + (identifier) + (string_literal + (string_content)) + (string_literal + (string_content)))))) diff --git a/deps/tree-sitter-c/test/corpus/crlf.txt b/deps/tree-sitter-c/test/corpus/crlf.txt new file mode 100644 index 0000000..f11ff1e --- /dev/null +++ b/deps/tree-sitter-c/test/corpus/crlf.txt @@ -0,0 +1,13 @@ +============================================ +Line comments with escaped CRLF line endings +============================================ + +// hello \ + this is still a comment +this_is_not a_comment; + +--- + +(translation_unit + (comment) + (declaration (type_identifier) (identifier))) diff --git a/deps/tree-sitter-c/test/corpus/declarations.txt b/deps/tree-sitter-c/test/corpus/declarations.txt new file mode 100644 index 0000000..973ed6b --- /dev/null +++ b/deps/tree-sitter-c/test/corpus/declarations.txt @@ -0,0 +1,1256 @@ +================================================================================ +Struct declarations +================================================================================ + +struct s1; + +struct s2 { + int x; + float y : 5; +}; + +struct s3 { + int x : 1, y : 2; +}; + +-------------------------------------------------------------------------------- + +(translation_unit + (struct_specifier + name: (type_identifier)) + (struct_specifier + name: (type_identifier) + body: (field_declaration_list + (field_declaration + type: (primitive_type) + declarator: (field_identifier)) + (field_declaration + type: (primitive_type) + declarator: (field_identifier) + (bitfield_clause + (number_literal))))) + (struct_specifier + name: (type_identifier) + body: (field_declaration_list + (field_declaration + type: (primitive_type) + declarator: (field_identifier) + (bitfield_clause + (number_literal)) + declarator: (field_identifier) + (bitfield_clause + (number_literal)))))) + +================================================================================ +Union declarations +================================================================================ + +union u1; + +union s2 { + int x; + float y; +}; + +-------------------------------------------------------------------------------- + +(translation_unit + (union_specifier + name: (type_identifier)) + (union_specifier + name: (type_identifier) + body: (field_declaration_list + (field_declaration + type: (primitive_type) + declarator: (field_identifier)) + (field_declaration + type: (primitive_type) + declarator: (field_identifier))))) + +================================================================================ +Enum declarations +================================================================================ + +enum e1; + +enum e2 { + val1, + val2 = 5, + val3 +}; + +enum e3 { + val1, +}; + +enum e4: int { +#ifdef A + val1 = 'hey', +#else + val1 = 'ho', +#endif + +#if HEY + val2 = 'hey', +#else + val2 = 'ho', +#endif +}; + +-------------------------------------------------------------------------------- + +(translation_unit + (enum_specifier + name: (type_identifier)) + (enum_specifier + name: (type_identifier) + body: (enumerator_list + (enumerator + name: (identifier)) + (enumerator + name: (identifier) + value: (number_literal)) + (enumerator + name: (identifier)))) + (enum_specifier + name: (type_identifier) + body: (enumerator_list + (enumerator + name: (identifier)))) + (enum_specifier + name: (type_identifier) + underlying_type: (primitive_type) + body: (enumerator_list + (preproc_ifdef + name: (identifier) + (enumerator + name: (identifier) + value: (char_literal + (character) + (character) + (character))) + alternative: (preproc_else + (enumerator + name: (identifier) + value: (char_literal + (character) + (character))))) + (preproc_if + condition: (identifier) + (enumerator + name: (identifier) + value: (char_literal + (character) + (character) + (character))) + alternative: (preproc_else + (enumerator + name: (identifier) + value: (char_literal + (character) + (character)))))))) + +================================================================================ +Struct declarations containing preprocessor directives +================================================================================ + +struct s { + #define A 5 + int b[a]; + #undef A +}; + +-------------------------------------------------------------------------------- + +(translation_unit + (struct_specifier + (type_identifier) + (field_declaration_list + (preproc_def + (identifier) + (preproc_arg)) + (field_declaration + (primitive_type) + (array_declarator + (field_identifier) + (identifier))) + (preproc_call + (preproc_directive) + (preproc_arg))))) + +================================================================================ +Primitive-typed variable declarations +================================================================================ + +unsigned short int a; +long int b, c = 5, d; +float d, e; +unsigned f; +short g, h; +int unsigned short i; +unsigned int long j; + +-------------------------------------------------------------------------------- + +(translation_unit + (declaration + type: (sized_type_specifier + type: (primitive_type)) + declarator: (identifier)) + (declaration + type: (sized_type_specifier + type: (primitive_type)) + declarator: (identifier) + declarator: (init_declarator + declarator: (identifier) + value: (number_literal)) + declarator: (identifier)) + (declaration + type: (primitive_type) + declarator: (identifier) + declarator: (identifier)) + (declaration + type: (sized_type_specifier) + declarator: (identifier)) + (declaration + type: (sized_type_specifier) + declarator: (identifier) + declarator: (identifier)) + (declaration + type: (sized_type_specifier + type: (primitive_type)) + declarator: (identifier)) + (declaration + type: (sized_type_specifier + type: (primitive_type)) + declarator: (identifier))) + +================================================================================ +Variable storage classes +================================================================================ + +int a; +extern int b, c; +auto int d; +register int e; +static int f; +register uint64_t rd_ asm("x" "10"); + +-------------------------------------------------------------------------------- + +(translation_unit + (declaration + (primitive_type) + (identifier)) + (declaration + (storage_class_specifier) + (primitive_type) + (identifier) + (identifier)) + (declaration + (storage_class_specifier) + (primitive_type) + (identifier)) + (declaration + (storage_class_specifier) + (primitive_type) + (identifier)) + (declaration + (storage_class_specifier) + (primitive_type) + (identifier)) + (declaration + (storage_class_specifier) + (primitive_type) + (identifier) + (gnu_asm_expression + (concatenated_string + (string_literal + (string_content)) + (string_literal + (string_content)))))) + +================================================================================ +Composite-typed variable declarations +================================================================================ + +struct b c; +union { int e; } f; +enum { g, h } i; + +-------------------------------------------------------------------------------- + +(translation_unit + (declaration + type: (struct_specifier + name: (type_identifier)) + declarator: (identifier)) + (declaration + type: (union_specifier + body: (field_declaration_list + (field_declaration + type: (primitive_type) + declarator: (field_identifier)))) + declarator: (identifier)) + (declaration + type: (enum_specifier + body: (enumerator_list + (enumerator + name: (identifier)) + (enumerator + name: (identifier)))) + declarator: (identifier))) + +================================================================================ +Pointer variable declarations +================================================================================ + +char *the_string; +const char **the_strings; +int const * const restrict x; + +-------------------------------------------------------------------------------- + +(translation_unit + (declaration + type: (primitive_type) + declarator: (pointer_declarator + declarator: (identifier))) + (declaration + (type_qualifier) + type: (primitive_type) + declarator: (pointer_declarator + declarator: (pointer_declarator + declarator: (identifier)))) + (declaration + type: (primitive_type) + (type_qualifier) + declarator: (pointer_declarator + (type_qualifier) + (type_qualifier) + declarator: (identifier)))) + +================================================================================ +Typedefs +================================================================================ + +typedef int my_int; + +typedef struct { + int x; +} *a; + +typedef void my_callback(void *, size_t); + +typedef struct A { + int i; +} a, b; + +typedef void const *voidpc; +typedef void volatile *voidpv; +typedef void const volatile *const voidpcv; + +typedef unsigned long int; +typedef unsigned short ptrdiff_t; +typedef short charptr_t; +typedef unsigned nullptr_t; +typedef signed max_align_t; + +typedef unsigned long ulong_t; +typedef long long_t; +typedef unsigned short ushort_t; +typedef short short_t; +typedef unsigned unsigned_t; +typedef signed signed_t; + +typedef long long; +typedef short short; +typedef unsigned int uint; +typedef unsigned short ushort; +typedef unsigned unsigned short; +typedef signed signed short; +typedef signed signed unsigned; +typedef unsigned long int long ull; + +typedef int register_t __attribute__((__mode__(__word__))); + +__extension__ typedef long int greg_t; + +__extension__ typedef struct { + long long int quot; + long long int rem; +} lldiv_t; + +-------------------------------------------------------------------------------- + +(translation_unit + (type_definition + type: (primitive_type) + declarator: (type_identifier)) + (type_definition + type: (struct_specifier + body: (field_declaration_list + (field_declaration + type: (primitive_type) + declarator: (field_identifier)))) + declarator: (pointer_declarator + declarator: (type_identifier))) + (type_definition + type: (primitive_type) + declarator: (function_declarator + declarator: (type_identifier) + parameters: (parameter_list + (parameter_declaration + type: (primitive_type) + declarator: (abstract_pointer_declarator)) + (parameter_declaration + type: (primitive_type))))) + (type_definition + type: (struct_specifier + name: (type_identifier) + body: (field_declaration_list + (field_declaration + type: (primitive_type) + declarator: (field_identifier)))) + declarator: (type_identifier) + declarator: (type_identifier)) + (type_definition + type: (primitive_type) + (type_qualifier) + declarator: (pointer_declarator + declarator: (type_identifier))) + (type_definition + type: (primitive_type) + (type_qualifier) + declarator: (pointer_declarator + declarator: (type_identifier))) + (type_definition + type: (primitive_type) + (type_qualifier) + (type_qualifier) + declarator: (pointer_declarator + (type_qualifier) + declarator: (type_identifier))) + (type_definition + type: (sized_type_specifier) + declarator: (primitive_type)) + (type_definition + type: (sized_type_specifier) + declarator: (primitive_type)) + (type_definition + type: (sized_type_specifier) + declarator: (primitive_type)) + (type_definition + type: (sized_type_specifier) + declarator: (primitive_type)) + (type_definition + type: (sized_type_specifier) + declarator: (primitive_type)) + (type_definition + type: (sized_type_specifier) + declarator: (type_identifier)) + (type_definition + type: (sized_type_specifier) + declarator: (type_identifier)) + (type_definition + type: (sized_type_specifier) + declarator: (type_identifier)) + (type_definition + type: (sized_type_specifier) + declarator: (type_identifier)) + (type_definition + type: (sized_type_specifier) + declarator: (type_identifier)) + (type_definition + type: (sized_type_specifier) + declarator: (type_identifier)) + (type_definition + type: (sized_type_specifier) + declarator: (primitive_type)) + (type_definition + type: (sized_type_specifier) + declarator: (primitive_type)) + (type_definition + type: (sized_type_specifier + type: (primitive_type)) + declarator: (type_identifier)) + (type_definition + type: (sized_type_specifier) + declarator: (type_identifier)) + (type_definition + type: (sized_type_specifier) + declarator: (primitive_type)) + (type_definition + type: (sized_type_specifier) + declarator: (primitive_type)) + (type_definition + type: (sized_type_specifier) + declarator: (primitive_type)) + (type_definition + type: (sized_type_specifier + type: (primitive_type)) + declarator: (type_identifier)) + (type_definition + type: (primitive_type) + declarator: (type_identifier) + (attribute_specifier + (argument_list + (call_expression + function: (identifier) + arguments: (argument_list + (identifier)))))) + (type_definition + type: (sized_type_specifier + type: (primitive_type)) + declarator: (type_identifier)) + (type_definition + type: (struct_specifier + body: (field_declaration_list + (field_declaration + type: (sized_type_specifier + type: (primitive_type)) + declarator: (field_identifier)) + (field_declaration + type: (sized_type_specifier + type: (primitive_type)) + declarator: (field_identifier)))) + declarator: (type_identifier))) + +================================================================================ +Function declarations +================================================================================ + +int main(int argc, const char **argv); +static foo bar(); +static baz quux(...); + +-------------------------------------------------------------------------------- + +(translation_unit + (declaration + (primitive_type) + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (primitive_type) + (identifier)) + (parameter_declaration + (type_qualifier) + (primitive_type) + (pointer_declarator + (pointer_declarator + (identifier))))))) + (declaration + (storage_class_specifier) + (type_identifier) + (function_declarator + (identifier) + (parameter_list))) + (declaration + (storage_class_specifier) + (type_identifier) + (function_declarator + (identifier) + (parameter_list + (variadic_parameter))))) + +================================================================================ +Function definitions +================================================================================ + +void * do_stuff(int arg1) { + return 5; +} + +// K&R style +int foo(bar, baz, qux) +int bar, baz; +char *qux; +{ +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + type: (primitive_type) + declarator: (pointer_declarator + declarator: (function_declarator + declarator: (identifier) + parameters: (parameter_list + (parameter_declaration + type: (primitive_type) + declarator: (identifier))))) + body: (compound_statement + (return_statement + (number_literal)))) + (comment) + (function_definition + type: (primitive_type) + declarator: (function_declarator + declarator: (identifier) + parameters: (parameter_list + (identifier) + (identifier) + (identifier))) + (declaration + type: (primitive_type) + declarator: (identifier) + declarator: (identifier)) + (declaration + type: (primitive_type) + declarator: (pointer_declarator + declarator: (identifier))) + body: (compound_statement))) + +================================================================================ +Function specifiers after types +================================================================================ + +int static inline do_stuff(int arg1) { + return 5; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (storage_class_specifier) + (storage_class_specifier) + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (primitive_type) + (identifier)))) + (compound_statement + (return_statement + (number_literal))))) + +================================================================================ +Function definitions with macro attributes +================================================================================ + +void * do_stuff(int arg1) + SOME_ATTR + SOME_ATTR(1) +{ + return 5; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + type: (primitive_type) + declarator: (pointer_declarator + declarator: (function_declarator + declarator: (identifier) + parameters: (parameter_list + (parameter_declaration + type: (primitive_type) + declarator: (identifier))) + (identifier) + (call_expression + function: (identifier) + arguments: (argument_list + (number_literal))))) + body: (compound_statement + (return_statement + (number_literal))))) + +================================================================================ +Linkage specifications +================================================================================ + +extern "C" int foo(); + +extern "C" int foo() { return 0; } + +extern "C" { + int bar(); + int baz(); +} + +-------------------------------------------------------------------------------- + +(translation_unit + (linkage_specification + (string_literal + (string_content)) + (declaration + (primitive_type) + (function_declarator + (identifier) + (parameter_list)))) + (linkage_specification + (string_literal + (string_content)) + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (return_statement + (number_literal))))) + (linkage_specification + (string_literal + (string_content)) + (declaration_list + (declaration + (primitive_type) + (function_declarator + (identifier) + (parameter_list))) + (declaration + (primitive_type) + (function_declarator + (identifier) + (parameter_list)))))) + +================================================================================ +Type qualifiers +================================================================================ + +const _Atomic unsigned long int x = 5; +restrict int y = 6; +volatile int z = 7; +constexpr int a = 8; +__thread int c = 9; +alignas(16) int i; +_Alignas(int) int j; +noreturn void b() {} + __extension__ extern int ffsll (long long int __ll) + __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); + +-------------------------------------------------------------------------------- + +(translation_unit + (declaration + (type_qualifier) + (type_qualifier) + (sized_type_specifier + (primitive_type)) + (init_declarator + (identifier) + (number_literal))) + (declaration + (type_qualifier) + (primitive_type) + (init_declarator + (identifier) + (number_literal))) + (declaration + (type_qualifier) + (primitive_type) + (init_declarator + (identifier) + (number_literal))) + (declaration + (type_qualifier) + (primitive_type) + (init_declarator + (identifier) + (number_literal))) + (declaration + (storage_class_specifier) + (primitive_type) + (init_declarator + (identifier) + (number_literal))) + (declaration + (type_qualifier + (alignas_qualifier + (number_literal))) + (primitive_type) + (identifier)) + (declaration + (type_qualifier + (alignas_qualifier + (type_descriptor + (primitive_type)))) + (primitive_type) + (identifier)) + (function_definition + (type_qualifier) + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement)) + (declaration + (type_qualifier) + (storage_class_specifier) + (primitive_type) + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (sized_type_specifier + (primitive_type)) + (identifier))) + (attribute_specifier + (argument_list + (identifier))) + (attribute_specifier + (argument_list + (identifier)))))) + +================================================================================ +Local array declarations +================================================================================ + +int main() { + char the_buffer[the_size]; + char the_other_buffer[*]; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (declaration + (primitive_type) + (array_declarator + (identifier) + (identifier))) + (declaration + (primitive_type) + (array_declarator + (identifier)))))) + +================================================================================ +Attributes +================================================================================ + +extern __attribute__((visibility("hidden"))) int foo(); +extern int bar() __attribute__((const)); +void die(const char *format, ...) __attribute__((noreturn)) + __attribute__((format(printf,1,2))); +extern __attribute__((visibility("default"), weak)) int print_status(); + +extern int strerror_r(int __errnum, char *__buf, + int __buflen) __asm__("" + "__xpg_strerror_r") + __attribute__((__nothrow__)) __attribute__((__nonnull__(2))); + +extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, + __gnuc_va_list); + +int f([[a::b(c), d]] int x) {} + +[[gnu::always_inline]] [[gnu::hot]] [[gnu::const]] [[nodiscard]] +int g(void); + +[[gnu::always_inline, gnu::hot, gnu::const, nodiscard]] +int g(void); + +int i [[maybe_unused]]; +void f[[gnu::always_inline]](); + +[[nodiscard("reason")]] int foo; + +[[fallthrough]]; + +struct S { + int a [[deprecated]]; +}; + +typedef int MyInt [[deprecated]]; + +struct X { + int a __attribute__((aligned(4))); +} __attribute__((aligned(16))); + +union Y { + int a __attribute__((aligned(4))); +} __attribute__((aligned(16))); + +enum Z { + A +} __attribute__((aligned(16))); + +struct __attribute__((__packed__)) foo_t { + int x; +}; + +-------------------------------------------------------------------------------- + +(translation_unit + (declaration + (storage_class_specifier) + (attribute_specifier + (argument_list + (call_expression + (identifier) + (argument_list + (string_literal + (string_content)))))) + (primitive_type) + (function_declarator + (identifier) + (parameter_list))) + (declaration + (storage_class_specifier) + (primitive_type) + (function_declarator + (identifier) + (parameter_list) + (attribute_specifier + (argument_list + (identifier))))) + (declaration + (primitive_type) + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (type_qualifier) + (primitive_type) + (pointer_declarator + (identifier))) + (variadic_parameter)) + (attribute_specifier + (argument_list + (identifier))) + (attribute_specifier + (argument_list + (call_expression + (identifier) + (argument_list + (identifier) + (number_literal) + (number_literal))))))) + (declaration + (storage_class_specifier) + (attribute_specifier + (argument_list + (call_expression + (identifier) + (argument_list + (string_literal + (string_content)))) + (identifier))) + (primitive_type) + (function_declarator + (identifier) + (parameter_list))) + (declaration + (storage_class_specifier) + (primitive_type) + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (primitive_type) + (identifier)) + (parameter_declaration + (primitive_type) + (pointer_declarator + (identifier))) + (parameter_declaration + (primitive_type) + (identifier))) + (gnu_asm_expression + (concatenated_string + (string_literal) + (string_literal + (string_content)))) + (attribute_specifier + (argument_list + (identifier))) + (attribute_specifier + (argument_list + (call_expression + (identifier) + (argument_list + (number_literal))))))) + (declaration + (storage_class_specifier) + (primitive_type) + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (type_identifier) + (abstract_pointer_declarator + (ms_pointer_modifier + (ms_restrict_modifier)))) + (parameter_declaration + (type_qualifier) + (primitive_type) + (abstract_pointer_declarator + (ms_pointer_modifier + (ms_restrict_modifier)))) + (parameter_declaration + (type_identifier))))) + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (attribute_declaration + (attribute + (identifier) + (identifier) + (argument_list + (identifier))) + (attribute + (identifier))) + (primitive_type) + (identifier)))) + (compound_statement)) + (declaration + (attribute_declaration + (attribute + (identifier) + (identifier))) + (attribute_declaration + (attribute + (identifier) + (identifier))) + (attribute_declaration + (attribute + (identifier) + (identifier))) + (attribute_declaration + (attribute + (identifier))) + (primitive_type) + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (primitive_type))))) + (declaration + (attribute_declaration + (attribute + (identifier) + (identifier)) + (attribute + (identifier) + (identifier)) + (attribute + (identifier) + (identifier)) + (attribute + (identifier))) + (primitive_type) + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (primitive_type))))) + (declaration + (primitive_type) + (attributed_declarator + (identifier) + (attribute_declaration + (attribute + (identifier))))) + (declaration + (primitive_type) + (function_declarator + (attributed_declarator + (identifier) + (attribute_declaration + (attribute + (identifier) + (identifier)))) + (parameter_list))) + (declaration + (attribute_declaration + (attribute + (identifier) + (argument_list + (string_literal + (string_content))))) + (primitive_type) + (identifier)) + (attributed_statement + (attribute_declaration + (attribute + (identifier))) + (expression_statement)) + (struct_specifier + (type_identifier) + (field_declaration_list + (field_declaration + (primitive_type) + (attributed_declarator + (field_identifier) + (attribute_declaration + (attribute + (identifier))))))) + (type_definition + (primitive_type) + (attributed_declarator + (type_identifier) + (attribute_declaration + (attribute + (identifier))))) + (struct_specifier + (type_identifier) + (field_declaration_list + (field_declaration + (primitive_type) + (field_identifier) + (attribute_specifier + (argument_list + (call_expression + (identifier) + (argument_list + (number_literal))))))) + (attribute_specifier + (argument_list + (call_expression + (identifier) + (argument_list + (number_literal)))))) + (union_specifier + (type_identifier) + (field_declaration_list + (field_declaration + (primitive_type) + (field_identifier) + (attribute_specifier + (argument_list + (call_expression + (identifier) + (argument_list + (number_literal))))))) + (attribute_specifier + (argument_list + (call_expression + (identifier) + (argument_list + (number_literal)))))) + (enum_specifier + (type_identifier) + (enumerator_list + (enumerator + (identifier))) + (attribute_specifier + (argument_list + (call_expression + (identifier) + (argument_list + (number_literal)))))) + (struct_specifier + (attribute_specifier + (argument_list + (identifier))) + (type_identifier) + (field_declaration_list + (field_declaration + (primitive_type) + (field_identifier))))) + +================================================================================ +More Assembly +================================================================================ + +int main() { + int var; + __asm__( + "nop;" + : [var] "=r"(var) + : + : "eax", "ra" "x" + ); + + asm("addq %2,%0; adcq %3,%1" + : "+m"(rp[0]), "+d"(high) + : "r"(c1), "g"(0) + : "cc" + ); +} + + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (declaration + (primitive_type) + (identifier)) + (expression_statement + (gnu_asm_expression + (string_literal + (string_content)) + (gnu_asm_output_operand_list + (gnu_asm_output_operand + (identifier) + (string_literal + (string_content)) + (identifier))) + (gnu_asm_input_operand_list) + (gnu_asm_clobber_list + (string_literal + (string_content)) + (concatenated_string + (string_literal + (string_content)) + (string_literal + (string_content)))))) + (expression_statement + (gnu_asm_expression + (string_literal + (string_content)) + (gnu_asm_output_operand_list + (gnu_asm_output_operand + (string_literal + (string_content)) + (subscript_expression + (identifier) + (number_literal))) + (gnu_asm_output_operand + (string_literal + (string_content)) + (identifier))) + (gnu_asm_input_operand_list + (gnu_asm_input_operand + (string_literal + (string_content)) + (identifier)) + (gnu_asm_input_operand + (string_literal + (string_content)) + (number_literal))) + (gnu_asm_clobber_list + (string_literal + (string_content)))))))) + +================================================================================ +Static in Array Declarations +================================================================================ + +void foo (int a[static 10]); + +-------------------------------------------------------------------------------- + +(translation_unit + (declaration + (primitive_type) + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (primitive_type) + (array_declarator + (identifier) + (number_literal))))))) diff --git a/deps/tree-sitter-c/test/corpus/expressions.txt b/deps/tree-sitter-c/test/corpus/expressions.txt new file mode 100644 index 0000000..3cbed5c --- /dev/null +++ b/deps/tree-sitter-c/test/corpus/expressions.txt @@ -0,0 +1,1483 @@ +================================================================================ +Number literals +================================================================================ + +double a = { + 0xAC00, + 0.123, + 0b1010001, + 0xabc00ull, + -0.1f, + 1'000'000.000'001, + 24e-5, + 0.1E, + 58., + 4e2, + 123.456e-67, + .1E4f, + 0x10.1p0, + 0X1, 0B1, + 2.0dd, 5wb, +}; + +-------------------------------------------------------------------------------- + +(translation_unit + (declaration + (primitive_type) + (init_declarator + (identifier) + (initializer_list + (number_literal) + (number_literal) + (number_literal) + (number_literal) + (number_literal) + (number_literal) + (number_literal) + (number_literal) + (number_literal) + (number_literal) + (number_literal) + (number_literal) + (number_literal) + (number_literal) + (number_literal) + (number_literal) + (number_literal))))) + +================================================================================ +Identifiers +================================================================================ + +int main() { + _abc; + d_EG123; + $f; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (expression_statement + (identifier)) + (expression_statement + (identifier)) + (expression_statement + (identifier))))) + +================================================================================ +Unicode Identifiers +================================================================================ + +int main() { + µs; + blah_accenté; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (expression_statement + (identifier)) + (expression_statement + (identifier))))) + +================================================================================ +Common constants +================================================================================ + +int main() { + true; + false; + NULL; + + // regression test - identifiers starting w/ these strings should tokenize correctly. + true_value; + false_value; + NULL_value; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (expression_statement + (true)) + (expression_statement + (false)) + (expression_statement + (null)) + (comment) + (expression_statement + (identifier)) + (expression_statement + (identifier)) + (expression_statement + (identifier))))) + +================================================================================ +Function calls +================================================================================ + +int main() { + printf("hi! %d\n", x); + __assert_fail("some_error_message", 115, __extension__ __func__); +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (expression_statement + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)) + (identifier)))) + (expression_statement + (call_expression + (identifier) + (argument_list + (string_literal + (string_content)) + (number_literal) + (extension_expression + (identifier)))))))) + +================================================================================ +GNU inline assembly +================================================================================ + +asm volatile ( + "mov r0, %0\n" + "mov r1, %[y]\n" + "add r2, r0, r1\n" + "mov %1, r2\n" + : "r" (z) + : "=r" (x), + [y] "=r" ((uintptr_t) y) + : "r2"); + +-------------------------------------------------------------------------------- + +(translation_unit + (expression_statement + (gnu_asm_expression + (gnu_asm_qualifier) + (concatenated_string + (string_literal + (string_content) + (escape_sequence)) + (string_literal + (string_content) + (escape_sequence)) + (string_literal + (string_content) + (escape_sequence)) + (string_literal + (string_content) + (escape_sequence))) + (gnu_asm_output_operand_list + (gnu_asm_output_operand + (string_literal + (string_content)) + (identifier))) + (gnu_asm_input_operand_list + (gnu_asm_input_operand + (string_literal + (string_content)) + (identifier)) + (gnu_asm_input_operand + (identifier) + (string_literal + (string_content)) + (cast_expression + (type_descriptor + (primitive_type)) + (identifier)))) + (gnu_asm_clobber_list + (string_literal + (string_content)))))) + +================================================================================ +Function call with compound statement +================================================================================ + +#define TAKES_BLOCK(x, block) for (i = 0; i < x; i++) block + +int main(void) { + { + int x = 0; + } + TAKES_BLOCK(10, { + // Doesn't matter what I put in here + }); +} + +-------------------------------------------------------------------------------- + +(translation_unit + (preproc_function_def + (identifier) + (preproc_params + (identifier) + (identifier)) + (preproc_arg)) + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (primitive_type)))) + (compound_statement + (compound_statement + (declaration + (primitive_type) + (init_declarator + (identifier) + (number_literal)))) + (expression_statement + (call_expression + (identifier) + (argument_list + (number_literal) + (compound_statement + (comment)))))))) + +================================================================================ +String literals +================================================================================ + +int main() { + "a"; + "b" "c" "d"; + e "f" g; + "\"hi\""; + L"bonjour"; + u"guten morgen"; + U"buenos dias"; + u8"buongiorno"; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (expression_statement + (string_literal + (string_content))) + (expression_statement + (concatenated_string + (string_literal + (string_content)) + (string_literal + (string_content)) + (string_literal + (string_content)))) + (expression_statement + (concatenated_string + (identifier) + (string_literal + (string_content)) + (identifier))) + (expression_statement + (string_literal + (escape_sequence) + (string_content) + (escape_sequence))) + (expression_statement + (string_literal + (string_content))) + (expression_statement + (string_literal + (string_content))) + (expression_statement + (string_literal + (string_content))) + (expression_statement + (string_literal + (string_content)))))) + +================================================================================ +Character literals +================================================================================ + +int main() { + 'a'; + '\0'; + '\t'; + '\''; + L'b'; + u'c'; + U'\xa1'; + u8'\x1A'; + '\x3'; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (expression_statement + (char_literal + (character))) + (expression_statement + (char_literal + (escape_sequence))) + (expression_statement + (char_literal + (escape_sequence))) + (expression_statement + (char_literal + (escape_sequence))) + (expression_statement + (char_literal + (character))) + (expression_statement + (char_literal + (character))) + (expression_statement + (char_literal + (escape_sequence))) + (expression_statement + (char_literal + (escape_sequence))) + (expression_statement + (char_literal + (escape_sequence)))))) + +================================================================================ +Field access +================================================================================ + +int main() { + s.data1; + p->data2; + q[data3]; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (expression_statement + (field_expression + (identifier) + (field_identifier))) + (expression_statement + (field_expression + (identifier) + (field_identifier))) + (expression_statement + (subscript_expression + (identifier) + (identifier)))))) + +================================================================================ +Boolean operators +================================================================================ + +int main() { + !x || !y && !z; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (expression_statement + (binary_expression + (unary_expression + (identifier)) + (binary_expression + (unary_expression + (identifier)) + (unary_expression + (identifier)))))))) + +================================================================================ +Math operators +================================================================================ + +int main() { + -a / b + c * -d; + a++ - ++b + c-- + --d; + ++L; + } + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (expression_statement + (binary_expression + (binary_expression + (unary_expression + (identifier)) + (identifier)) + (binary_expression + (identifier) + (unary_expression + (identifier))))) + (expression_statement + (binary_expression + (binary_expression + (binary_expression + (update_expression + (identifier)) + (update_expression + (identifier))) + (update_expression + (identifier))) + (update_expression + (identifier)))) + (expression_statement + (update_expression + (identifier)))))) + +================================================================================ +The comma operator +================================================================================ + +int main() { + i--, j--; + (i--, j--); +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (expression_statement + (comma_expression + (update_expression + (identifier)) + (update_expression + (identifier)))) + (expression_statement + (parenthesized_expression + (comma_expression + (update_expression + (identifier)) + (update_expression + (identifier)))))))) + +================================================================================ +Assignments +================================================================================ + +int main() { + static int a = 1; + b = *c = 2; + d.e = 3; + f->g = 4; + h[i] = j; + k += l; + m -= o; + n *= p; + q /= r; + *s++ = 1; + (*t) = 1; + a *= ((b!=c) ? d : e); +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + type: (primitive_type) + declarator: (function_declarator + declarator: (identifier) + parameters: (parameter_list)) + body: (compound_statement + (declaration + (storage_class_specifier) + type: (primitive_type) + declarator: (init_declarator + declarator: (identifier) + value: (number_literal))) + (expression_statement + (assignment_expression + left: (identifier) + right: (assignment_expression + left: (pointer_expression + argument: (identifier)) + right: (number_literal)))) + (expression_statement + (assignment_expression + left: (field_expression + argument: (identifier) + field: (field_identifier)) + right: (number_literal))) + (expression_statement + (assignment_expression + left: (field_expression + argument: (identifier) + field: (field_identifier)) + right: (number_literal))) + (expression_statement + (assignment_expression + left: (subscript_expression + argument: (identifier) + index: (identifier)) + right: (identifier))) + (expression_statement + (assignment_expression + left: (identifier) + right: (identifier))) + (expression_statement + (assignment_expression + left: (identifier) + right: (identifier))) + (expression_statement + (assignment_expression + left: (identifier) + right: (identifier))) + (expression_statement + (assignment_expression + left: (identifier) + right: (identifier))) + (expression_statement + (assignment_expression + left: (pointer_expression + argument: (update_expression + argument: (identifier))) + right: (number_literal))) + (expression_statement + (assignment_expression + left: (parenthesized_expression + (pointer_expression + argument: (identifier))) + right: (number_literal))) + (expression_statement + (assignment_expression + left: (identifier) + right: (parenthesized_expression + (conditional_expression + condition: (parenthesized_expression + (binary_expression + left: (identifier) + right: (identifier))) + consequence: (identifier) + alternative: (identifier)))))))) + +================================================================================ +Pointer operations +================================================================================ + +int main() { + doSomething(&x, *x); +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (expression_statement + (call_expression + (identifier) + (argument_list + (pointer_expression + (identifier)) + (pointer_expression + (identifier)))))))) + +================================================================================ +Type-casts +================================================================================ + +int main() { + x = (const SomeType *)thing; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + type: (primitive_type) + declarator: (function_declarator + declarator: (identifier) + parameters: (parameter_list)) + body: (compound_statement + (expression_statement + (assignment_expression + left: (identifier) + right: (cast_expression + type: (type_descriptor + (type_qualifier) + type: (type_identifier) + declarator: (abstract_pointer_declarator)) + value: (identifier))))))) + +================================================================================ +Sizeof expressions +================================================================================ + +int main() { + sizeof x.a; + sizeof(x.a); + sizeof(const char **); + sizeof(char * ()); + sizeof(1) + 1; + sizeof((1) + 1); + sizeof(int) + 1; + sizeof(struct foo) + sizeof(struct bar) + 1; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (expression_statement + (sizeof_expression + (field_expression + (identifier) + (field_identifier)))) + (expression_statement + (sizeof_expression + (parenthesized_expression + (field_expression + (identifier) + (field_identifier))))) + (expression_statement + (sizeof_expression + (type_descriptor + (type_qualifier) + (primitive_type) + (abstract_pointer_declarator + (abstract_pointer_declarator))))) + (expression_statement + (sizeof_expression + (type_descriptor + (primitive_type) + (abstract_pointer_declarator + (abstract_function_declarator + (parameter_list)))))) + (expression_statement + (binary_expression + (sizeof_expression + (parenthesized_expression + (number_literal))) + (number_literal))) + (expression_statement + (sizeof_expression + (parenthesized_expression + (binary_expression + (parenthesized_expression + (number_literal)) + (number_literal))))) + (expression_statement + (binary_expression + (sizeof_expression + (type_descriptor + (primitive_type))) + (number_literal))) + (expression_statement + (binary_expression + (binary_expression + (sizeof_expression + (type_descriptor + (struct_specifier + (type_identifier)))) + (sizeof_expression + (type_descriptor + (struct_specifier + (type_identifier))))) + (number_literal)))))) + +================================================================================ +Alignof expressions +================================================================================ + +typedef struct { + long long __clang_max_align_nonce1 + __attribute__((__aligned__(__alignof__(long long)))); + long double __clang_max_align_nonce2 + __attribute__((__aligned__(__alignof__(long double)))); +} max_align_t; + +-------------------------------------------------------------------------------- + +(translation_unit + (type_definition + (struct_specifier + (field_declaration_list + (field_declaration + (sized_type_specifier) + (field_identifier) + (attribute_specifier + (argument_list + (call_expression + (identifier) + (argument_list + (alignof_expression + (type_descriptor + (sized_type_specifier)))))))) + (field_declaration + (sized_type_specifier + (primitive_type)) + (field_identifier) + (attribute_specifier + (argument_list + (call_expression + (identifier) + (argument_list + (alignof_expression + (type_descriptor + (sized_type_specifier + (primitive_type))))))))))) + (primitive_type))) + +================================================================================ +Offsetof expressions +================================================================================ + +int main() { + offsetof( struct x, a ); + offsetof( x, a ); + offsetof( x, a ) + 1; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (expression_statement + (offsetof_expression + (type_descriptor + (struct_specifier + (type_identifier))) + (field_identifier))) + (expression_statement + (offsetof_expression + (type_descriptor + (type_identifier)) + (field_identifier))) + (expression_statement + (binary_expression + (offsetof_expression + (type_descriptor + (type_identifier)) + (field_identifier)) + (number_literal)))))) + +================================================================================ +Compound literals +================================================================================ + +int main() { + x = (SomeType) { + .f1.f2[f3] = 5, + .f4 = {}, + .f5[1 ... 10] = -1, + f6: 6, + }; + y = (struct SomeStruct) { + 7, + 8 + }; + z = (char const []) {'a', 'b'}; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (expression_statement + (assignment_expression + (identifier) + (compound_literal_expression + (type_descriptor + (type_identifier)) + (initializer_list + (initializer_pair + (field_designator + (field_identifier)) + (field_designator + (field_identifier)) + (subscript_designator + (identifier)) + (number_literal)) + (initializer_pair + (field_designator + (field_identifier)) + (initializer_list)) + (initializer_pair + (field_designator + (field_identifier)) + (subscript_range_designator + (number_literal) + (number_literal)) + (number_literal)) + (initializer_pair + (field_identifier) + (number_literal)))))) + (expression_statement + (assignment_expression + (identifier) + (compound_literal_expression + (type_descriptor + (struct_specifier + (type_identifier))) + (initializer_list + (number_literal) + (number_literal))))) + (expression_statement + (assignment_expression + (identifier) + (compound_literal_expression + (type_descriptor + (primitive_type) + (type_qualifier) + (abstract_array_declarator)) + (initializer_list + (char_literal + (character)) + (char_literal + (character))))))))) + +================================================================================ +Compound literals with trailing commas +================================================================================ + +int main() { + y = (struct SomeStruct) { 7, 8, }; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (expression_statement + (assignment_expression + (identifier) + (compound_literal_expression + (type_descriptor + (struct_specifier + (type_identifier))) + (initializer_list + (number_literal) + (number_literal)))))))) + +================================================================================ +Comments with escaped newlines +================================================================================ + +// one \ + two + +-------------------------------------------------------------------------------- + +(translation_unit + (comment)) + +================================================================================ +Comments with escaped chars and newlines +================================================================================ + +// one \a \b \ + two +// one \c \d +-------------------------------------------------------------------------------- + +(translation_unit + (comment) + (comment)) + +================================================================================ +Generic Expressions +================================================================================ + +int main(int argc, char **argv) { + int a = 10; + float b = 3.14; + double c = 2.71828; + char d = 'A'; + + a = _Generic(d, int: 5, float: 0, char: 100); + b = _Generic(a, void *: 0, int: 4.0, float: 3.14, double: 2.71828, char: 1.0); + c = _Generic(b, void *: 0, int: 4.0, float: 3.14, double: 2.71828, char: 1.0); + d = _Generic(c, void *: '\0', int: '0', float: '3', double: '2', char: '1'); + + _Generic(a, int: printf("a is an int\n"), float: printf("a is a float\n"), double: printf("a is a double\n"), char: printf("a is a char\n")); + _Generic(b, int: printf("b is an int\n"), float: printf("b is a float\n"), double: printf("b is a double\n"), char: printf("b is a char\n")); + _Generic(c, int: printf("c is an int\n"), float: printf("c is a float\n"), double: printf("c is a double\n"), char: printf("c is a char\n")); + _Generic(d, int: printf("d is an int\n"), float: printf("d is a float\n"), double: printf("d is a double\n"), char: printf("d is a char\n")); + + return 0; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (primitive_type) + (identifier)) + (parameter_declaration + (primitive_type) + (pointer_declarator + (pointer_declarator + (identifier)))))) + (compound_statement + (declaration + (primitive_type) + (init_declarator + (identifier) + (number_literal))) + (declaration + (primitive_type) + (init_declarator + (identifier) + (number_literal))) + (declaration + (primitive_type) + (init_declarator + (identifier) + (number_literal))) + (declaration + (primitive_type) + (init_declarator + (identifier) + (char_literal + (character)))) + (expression_statement + (assignment_expression + (identifier) + (generic_expression + (identifier) + (type_descriptor + (primitive_type)) + (number_literal) + (type_descriptor + (primitive_type)) + (number_literal) + (type_descriptor + (primitive_type)) + (number_literal)))) + (expression_statement + (assignment_expression + (identifier) + (generic_expression + (identifier) + (type_descriptor + (primitive_type) + (abstract_pointer_declarator)) + (number_literal) + (type_descriptor + (primitive_type)) + (number_literal) + (type_descriptor + (primitive_type)) + (number_literal) + (type_descriptor + (primitive_type)) + (number_literal) + (type_descriptor + (primitive_type)) + (number_literal)))) + (expression_statement + (assignment_expression + (identifier) + (generic_expression + (identifier) + (type_descriptor + (primitive_type) + (abstract_pointer_declarator)) + (number_literal) + (type_descriptor + (primitive_type)) + (number_literal) + (type_descriptor + (primitive_type)) + (number_literal) + (type_descriptor + (primitive_type)) + (number_literal) + (type_descriptor + (primitive_type)) + (number_literal)))) + (expression_statement + (assignment_expression + (identifier) + (generic_expression + (identifier) + (type_descriptor + (primitive_type) + (abstract_pointer_declarator)) + (char_literal + (escape_sequence)) + (type_descriptor + (primitive_type)) + (char_literal + (character)) + (type_descriptor + (primitive_type)) + (char_literal + (character)) + (type_descriptor + (primitive_type)) + (char_literal + (character)) + (type_descriptor + (primitive_type)) + (char_literal + (character))))) + (expression_statement + (generic_expression + (identifier) + (type_descriptor + (primitive_type)) + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)))) + (type_descriptor + (primitive_type)) + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)))) + (type_descriptor + (primitive_type)) + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)))) + (type_descriptor + (primitive_type)) + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)))))) + (expression_statement + (generic_expression + (identifier) + (type_descriptor + (primitive_type)) + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)))) + (type_descriptor + (primitive_type)) + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)))) + (type_descriptor + (primitive_type)) + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)))) + (type_descriptor + (primitive_type)) + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)))))) + (expression_statement + (generic_expression + (identifier) + (type_descriptor + (primitive_type)) + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)))) + (type_descriptor + (primitive_type)) + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)))) + (type_descriptor + (primitive_type)) + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)))) + (type_descriptor + (primitive_type)) + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)))))) + (expression_statement + (generic_expression + (identifier) + (type_descriptor + (primitive_type)) + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)))) + (type_descriptor + (primitive_type)) + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)))) + (type_descriptor + (primitive_type)) + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)))) + (type_descriptor + (primitive_type)) + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)))))) + (return_statement + (number_literal))))) + +================================================================================ +Noreturn Type Qualifier +================================================================================ + +_Noreturn void kill(void) { + printf("Killing the program\n"); + exit(0); +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (type_qualifier) + (primitive_type) + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (primitive_type)))) + (compound_statement + (expression_statement + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence))))) + (expression_statement + (call_expression + (identifier) + (argument_list + (number_literal))))))) + +================================================================================ +Restrict Type Qualifier +================================================================================ + +void fn (int *__restrict__ rptr) { + int *ptr = rptr; + *ptr = 0; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (primitive_type) + (pointer_declarator + (type_qualifier) + (identifier))))) + (compound_statement + (declaration + (primitive_type) + (init_declarator + (pointer_declarator + (identifier)) + (identifier))) + (expression_statement + (assignment_expression + (pointer_expression + (identifier)) + (number_literal)))))) + +================================================================================ +Ternary +================================================================================ + +void f() { + 0 ? 1 : 2; + a = 0 ? 1 : 2; + a = val ? b = 3, 1 : 0; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (expression_statement + (conditional_expression + (number_literal) + (number_literal) + (number_literal))) + (expression_statement + (assignment_expression + (identifier) + (conditional_expression + (number_literal) + (number_literal) + (number_literal)))) + (expression_statement + (assignment_expression + (identifier) + (conditional_expression + (identifier) + (comma_expression + (assignment_expression + (identifier) + (number_literal)) + (number_literal)) + (number_literal))))))) + +================================================================================ +Concatenated strings +================================================================================ + +foo("hello" PRI " world"); +foo("hello" PRI); +foo("hello" " world"); +foo("hello" " world " PRI); +foo(PRI "hello" PRI); +foo(PRI "hello"); + +-------------------------------------------------------------------------------- + +(translation_unit + (expression_statement + (call_expression + function: (identifier) + arguments: (argument_list + (concatenated_string + (string_literal + (string_content)) + (identifier) + (string_literal + (string_content)))))) + (expression_statement + (call_expression + function: (identifier) + arguments: (argument_list + (concatenated_string + (string_literal + (string_content)) + (identifier))))) + (expression_statement + (call_expression + function: (identifier) + arguments: (argument_list + (concatenated_string + (string_literal + (string_content)) + (string_literal + (string_content)))))) + (expression_statement + (call_expression + function: (identifier) + arguments: (argument_list + (concatenated_string + (string_literal + (string_content)) + (string_literal + (string_content)) + (identifier))))) + (expression_statement + (call_expression + function: (identifier) + arguments: (argument_list + (concatenated_string + (identifier) + (string_literal + (string_content)) + (identifier))))) + (expression_statement + (call_expression + function: (identifier) + arguments: (argument_list + (concatenated_string + (identifier) + (string_literal + (string_content))))))) + +================================================================================ +Nonnull Type Qualifier +================================================================================ + +void foo() { + int *_Nonnull n; +} + +--- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (declaration + (primitive_type) + (pointer_declarator + (type_qualifier) + (identifier)))))) + +================================================================================ +Top Level Empty Expression Statement +================================================================================ + +; + +--- + +(translation_unit + (expression_statement)) + +================================================================================ +Sized Type Specifier With Type Qualifiers +================================================================================ + +unsigned const char *c; + +--- + +(translation_unit + (declaration + (sized_type_specifier + (type_qualifier) + (primitive_type)) + (pointer_declarator + (identifier)))) diff --git a/deps/tree-sitter-c/test/corpus/microsoft.txt b/deps/tree-sitter-c/test/corpus/microsoft.txt new file mode 100644 index 0000000..0a85aec --- /dev/null +++ b/deps/tree-sitter-c/test/corpus/microsoft.txt @@ -0,0 +1,298 @@ +================================ +declaration specs +================================ + +struct __declspec(dllexport) s2 +{ +}; + +union __declspec(noinline) u2 { +}; + +--- + +(translation_unit + (struct_specifier + (ms_declspec_modifier + (identifier)) + name: (type_identifier) + body: (field_declaration_list)) + (union_specifier + (ms_declspec_modifier + (identifier)) + name: (type_identifier) + body: (field_declaration_list))) + +================================ +pointers +================================ + +struct s2 +{ + int * __restrict x; + int * __sptr psp; + int * __uptr pup; + int * __unaligned pup; +}; + +void sum2(int n, int * __restrict a, int * __restrict b, + int * c, int * d) { + int i; + for (i = 0; i < n; i++) { + a[i] = b[i] + c[i]; + c[i] = b[i] + d[i]; + } +} + +void MyFunction(char * __uptr myValue); + +--- + +(translation_unit + (struct_specifier + name: (type_identifier) + body: (field_declaration_list + (field_declaration + type: (primitive_type) + declarator: (pointer_declarator + (ms_pointer_modifier + (ms_restrict_modifier)) + declarator: (field_identifier))) + (field_declaration + type: (primitive_type) + declarator: (pointer_declarator + (ms_pointer_modifier + (ms_signed_ptr_modifier)) + declarator: (field_identifier))) + (field_declaration + type: (primitive_type) + declarator: (pointer_declarator + (ms_pointer_modifier + (ms_unsigned_ptr_modifier)) + declarator: (field_identifier))) + (field_declaration + type: (primitive_type) + declarator: (pointer_declarator + (ms_pointer_modifier + (ms_unaligned_ptr_modifier)) + declarator: (field_identifier))))) + (function_definition + type: (primitive_type) + declarator: (function_declarator + declarator: (identifier) + parameters: (parameter_list + (parameter_declaration + type: (primitive_type) + declarator: (identifier)) + (parameter_declaration + type: (primitive_type) + declarator: (pointer_declarator + (ms_pointer_modifier + (ms_restrict_modifier)) + declarator: (identifier))) + (parameter_declaration + type: (primitive_type) + declarator: (pointer_declarator + (ms_pointer_modifier + (ms_restrict_modifier)) + declarator: (identifier))) + (parameter_declaration + type: (primitive_type) + declarator: (pointer_declarator + declarator: (identifier))) + (parameter_declaration + type: (primitive_type) + declarator: (pointer_declarator + declarator: (identifier))))) + body: (compound_statement + (declaration + type: (primitive_type) + declarator: (identifier)) + (for_statement + initializer: (assignment_expression + left: (identifier) + right: (number_literal)) + condition: (binary_expression + left: (identifier) + right: (identifier)) + update: (update_expression + argument: (identifier)) + body: (compound_statement + (expression_statement + (assignment_expression + left: (subscript_expression + argument: (identifier) + index: (identifier)) + right: (binary_expression + left: (subscript_expression + argument: (identifier) + index: (identifier)) + right: (subscript_expression + argument: (identifier) + index: (identifier))))) + (expression_statement + (assignment_expression + left: (subscript_expression + argument: (identifier) + index: (identifier)) + right: (binary_expression + left: (subscript_expression + argument: (identifier) + index: (identifier)) + right: (subscript_expression + argument: (identifier) + index: (identifier))))))))) + (declaration + type: (primitive_type) + declarator: (function_declarator + declarator: (identifier) + parameters: (parameter_list + (parameter_declaration + type: (primitive_type) + declarator: (pointer_declarator + (ms_pointer_modifier + (ms_unsigned_ptr_modifier)) + declarator: (identifier))))))) + +================================ +call modifiers +================================ + +__cdecl void mymethod(){ + return; +} + +__fastcall void mymethod(){ + return; +} + +void __stdcall f() { } + +void (__stdcall g)() { } + +void __stdcall h(); + +void (__stdcall j()); + +typedef void(__stdcall *fp)(); + +--- + +(translation_unit + (function_definition + (ms_call_modifier) + type: (primitive_type) + declarator: (function_declarator + declarator: (identifier) + parameters: (parameter_list)) + body: (compound_statement + (return_statement))) + (function_definition + (ms_call_modifier) + type: (primitive_type) + declarator: (function_declarator + declarator: (identifier) + parameters: (parameter_list)) + body: (compound_statement + (return_statement))) + (function_definition + type: (primitive_type) + (ms_call_modifier) + declarator: (function_declarator + declarator: (identifier) + parameters: (parameter_list)) + body: (compound_statement)) + (function_definition + type: (primitive_type) + declarator: (function_declarator + declarator: (parenthesized_declarator + (ms_call_modifier) + (identifier)) + parameters: (parameter_list)) + body: (compound_statement)) + (declaration + type: (primitive_type) + declarator: (ms_call_modifier) + declarator: (function_declarator + declarator: (identifier) + parameters: (parameter_list))) + (declaration + type: (primitive_type) + declarator: (parenthesized_declarator + (ms_call_modifier) + (function_declarator + declarator: (identifier) + parameters: (parameter_list)))) + (type_definition + type: (primitive_type) + declarator: (function_declarator + declarator: (parenthesized_declarator + (ms_call_modifier) + (pointer_declarator + declarator: (type_identifier))) + parameters: (parameter_list)))) + +================================ +SEH exception handling +================================ + +int main() { + int arg; + __try { + __try { + arg = 1; + __leave; + } __except (-1) { + arg = 2; + } + __leave; + arg = 3; + } __finally { + printf("arg: %d\n", arg); + } +} + +--- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (declaration + (primitive_type) + (identifier)) + (seh_try_statement + (compound_statement + (seh_try_statement + (compound_statement + (expression_statement + (assignment_expression + (identifier) + (number_literal))) + (seh_leave_statement)) + (seh_except_clause + (parenthesized_expression + (number_literal)) + (compound_statement + (expression_statement + (assignment_expression + (identifier) + (number_literal)))))) + (seh_leave_statement) + (expression_statement + (assignment_expression + (identifier) + (number_literal)))) + (seh_finally_clause + (compound_statement + (expression_statement + (call_expression + (identifier) + (argument_list + (string_literal + (string_content) + (escape_sequence)) + (identifier)))))))))) diff --git a/deps/tree-sitter-c/test/corpus/preprocessor.txt b/deps/tree-sitter-c/test/corpus/preprocessor.txt new file mode 100644 index 0000000..8ae9319 --- /dev/null +++ b/deps/tree-sitter-c/test/corpus/preprocessor.txt @@ -0,0 +1,449 @@ +================================================================================ +Include directives +================================================================================ + +#include "some/path.h" +#include +#include MACRO +#include MACRO(arg1, arg2) + +-------------------------------------------------------------------------------- + +(translation_unit + (preproc_include + path: (string_literal + (string_content))) + (preproc_include + path: (system_lib_string)) + (preproc_include + path: (identifier)) + (preproc_include + path: (call_expression + function: (identifier) + arguments: (argument_list + (identifier) + (identifier))))) + +================================================================================ +Object-like macro definitions +================================================================================ + +#define ONE + #define TWO int a = b; +#define THREE \ + c == d ? \ + e : \ + f +#define FOUR (mno * pq) +#define FIVE(a,b) x \ + + y +#define SIX(a, \ + b) x \ + + y +#define SEVEN 7/* seven has an + * annoying comment */ +#define EIGHT(x) do { \ + x = x + 1; \ + x = x / 2; \ + } while (x > 0); + +-------------------------------------------------------------------------------- + +(translation_unit + (preproc_def + name: (identifier)) + (preproc_def + name: (identifier) + value: (preproc_arg)) + (preproc_def + name: (identifier) + value: (preproc_arg)) + (preproc_def + name: (identifier) + value: (preproc_arg)) + (preproc_function_def + name: (identifier) + parameters: (preproc_params + (identifier) + (identifier)) + value: (preproc_arg)) + (preproc_function_def + name: (identifier) + parameters: (preproc_params + (identifier) + (identifier)) + value: (preproc_arg)) + (preproc_def + name: (identifier) + value: (preproc_arg) + (comment)) + (preproc_function_def + name: (identifier) + parameters: (preproc_params + (identifier)) + value: (preproc_arg))) + +================================================================================ +Function-like macro definitions +================================================================================ + +#define ONE() a +#define TWO(b) c +#define THREE(d, e) f +#define FOUR(...) g +#define FIVE(h, i, ...) j + +-------------------------------------------------------------------------------- + +(translation_unit + (preproc_function_def + name: (identifier) + parameters: (preproc_params) + value: (preproc_arg)) + (preproc_function_def + name: (identifier) + parameters: (preproc_params + (identifier)) + value: (preproc_arg)) + (preproc_function_def + name: (identifier) + parameters: (preproc_params + (identifier) + (identifier)) + value: (preproc_arg)) + (preproc_function_def + name: (identifier) + parameters: (preproc_params) + value: (preproc_arg)) + (preproc_function_def + name: (identifier) + parameters: (preproc_params + (identifier) + (identifier)) + value: (preproc_arg))) + +================================================================================ +Ifdefs +================================================================================ + +#ifndef DEFINE1 +int j; +#endif + +#ifdef DEFINE2 +ssize_t b; +#define c 32 +#elif defined DEFINE3 +#else +int b; +#define c 16 +#endif + +#ifdef DEFINE2 +#else +# ifdef DEFINE3 +# else +# endif +#endif + +-------------------------------------------------------------------------------- + +(translation_unit + (preproc_ifdef + name: (identifier) + (declaration + type: (primitive_type) + declarator: (identifier))) + (preproc_ifdef + name: (identifier) + (declaration + type: (primitive_type) + declarator: (identifier)) + (preproc_def + name: (identifier) + value: (preproc_arg)) + alternative: (preproc_elif + condition: (preproc_defined + (identifier)) + alternative: (preproc_else + (declaration + type: (primitive_type) + declarator: (identifier)) + (preproc_def + name: (identifier) + value: (preproc_arg))))) + (preproc_ifdef + name: (identifier) + alternative: (preproc_else + (preproc_ifdef + name: (identifier) + alternative: (preproc_else))))) + +================================================================================ +Elifdefs +================================================================================ + +#ifndef DEFINE1 +int j; +#elifndef DEFINE2 +int k; +#endif + +#ifdef DEFINE2 +ssize_t b; +#elifdef DEFINE3 +ssize_t c; +#else +int b; +#endif + +-------------------------------------------------------------------------------- + +(translation_unit + (preproc_ifdef + (identifier) + (declaration + (primitive_type) + (identifier)) + (preproc_elifdef + (identifier) + (declaration + (primitive_type) + (identifier)))) + (preproc_ifdef + (identifier) + (declaration + (primitive_type) + (identifier)) + (preproc_elifdef + (identifier) + (declaration + (primitive_type) + (identifier)) + (preproc_else + (declaration + (primitive_type) + (identifier)))))) + +================================================================================ +Mixing #elif and #elifdef +================================================================================ + +#ifndef DEFINE1 +int i; +#elif defined(DEFINE2) +int j; +#endif + +#if defined DEFINE3 +int a; +#elifdef DEFINE4 +int b; +#else +int c; +#endif + +-------------------------------------------------------------------------------- + +(translation_unit + (preproc_ifdef + name: (identifier) + (declaration + type: (primitive_type) + declarator: (identifier)) + alternative: (preproc_elif + condition: (preproc_defined + (identifier)) + (declaration + type: (primitive_type) + declarator: (identifier)))) + (preproc_if + condition: (preproc_defined + (identifier)) + (declaration + type: (primitive_type) + declarator: (identifier)) + alternative: (preproc_elifdef + name: (identifier) + (declaration + type: (primitive_type) + declarator: (identifier)) + alternative: (preproc_else + (declaration + type: (primitive_type) + declarator: (identifier)))))) + +================================================================================ +General if blocks +================================================================================ + +#if defined(__GNUC__) && defined(__PIC__) +#define inline inline __attribute__((always_inline)) +#elif defined(_WIN32) +#define something +#elif !defined(SOMETHING_ELSE) +#define SOMETHING_ELSE +#else +#include +#endif + +-------------------------------------------------------------------------------- + +(translation_unit + (preproc_if + condition: (binary_expression + left: (preproc_defined + (identifier)) + right: (preproc_defined + (identifier))) + (preproc_def + name: (identifier) + value: (preproc_arg)) + alternative: (preproc_elif + condition: (preproc_defined + (identifier)) + (preproc_def + name: (identifier)) + alternative: (preproc_elif + condition: (unary_expression + argument: (preproc_defined + (identifier))) + (preproc_def + name: (identifier)) + alternative: (preproc_else + (preproc_include + path: (system_lib_string))))))) + +================================================================================ +Preprocessor conditionals in functions +================================================================================ + +int main() { + #if d + puts("1"); + #else + puts("2"); + #endif + + #if a + return 0; + #elif b + return 1; + #elif c + return 2; + #else + return 3; + #endif +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (preproc_if + (identifier) + (expression_statement + (call_expression + (identifier) + (argument_list + (string_literal + (string_content))))) + (preproc_else + (expression_statement + (call_expression + (identifier) + (argument_list + (string_literal + (string_content))))))) + (preproc_if + (identifier) + (return_statement + (number_literal)) + (preproc_elif + (identifier) + (return_statement + (number_literal)) + (preproc_elif + (identifier) + (return_statement + (number_literal)) + (preproc_else + (return_statement + (number_literal))))))))) + +================================================================================ +Preprocessor conditionals in struct/union bodies +================================================================================ + +struct S { +#ifdef _WIN32 + LONG f2; +#else + uint32_t f2; +#endif +}; + +-------------------------------------------------------------------------------- + +(translation_unit + (struct_specifier + (type_identifier) + (field_declaration_list + (preproc_ifdef + (identifier) + (field_declaration + (type_identifier) + (field_identifier)) + (preproc_else + (field_declaration + (primitive_type) + (field_identifier))))))) + +================================================================================ +Unknown preprocessor directives +================================================================================ + +#pragma mark - UIViewController + +-------------------------------------------------------------------------------- + +(translation_unit + (preproc_call + directive: (preproc_directive) + argument: (preproc_arg))) + +================================================================================ +Preprocessor expressions +================================================================================ + +#if A(B || C) && \ + !D(F) + +uint32_t a; + +#endif + +-------------------------------------------------------------------------------- + +(translation_unit + (preproc_if + (binary_expression + (call_expression + (identifier) + (argument_list + (binary_expression + (identifier) + (identifier)))) + (unary_expression + (call_expression + (identifier) + (argument_list + (identifier))))) + (declaration + (primitive_type) + (identifier)))) diff --git a/deps/tree-sitter-c/test/corpus/statements.txt b/deps/tree-sitter-c/test/corpus/statements.txt new file mode 100644 index 0000000..ef81ddb --- /dev/null +++ b/deps/tree-sitter-c/test/corpus/statements.txt @@ -0,0 +1,535 @@ +================================================================================ +If statements +================================================================================ + +int main() { + if (a) + 1; + + if (!a) { + 2; + } else { + 3; + } +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (if_statement + (parenthesized_expression + (identifier)) + (expression_statement + (number_literal))) + (if_statement + (parenthesized_expression + (unary_expression + (identifier))) + (compound_statement + (expression_statement + (number_literal))) + (else_clause + (compound_statement + (expression_statement + (number_literal)))))))) + +================================================================================ +For loops +================================================================================ + +int main() { + for (;;) + 1; + + for (int i = 0; i < 5; next(), i++) { + 2; + } + + for (start(); check(); step()) + 3; + + for (i = 0, j = 0, k = 0, l = 0; i < 1, j < 1; i++, j++, k++, l++) + 1; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (for_statement + (expression_statement + (number_literal))) + (for_statement + (declaration + (primitive_type) + (init_declarator + (identifier) + (number_literal))) + (binary_expression + (identifier) + (number_literal)) + (comma_expression + (call_expression + (identifier) + (argument_list)) + (update_expression + (identifier))) + (compound_statement + (expression_statement + (number_literal)))) + (for_statement + (call_expression + (identifier) + (argument_list)) + (call_expression + (identifier) + (argument_list)) + (call_expression + (identifier) + (argument_list)) + (expression_statement + (number_literal))) + (for_statement + (comma_expression + (assignment_expression + (identifier) + (number_literal)) + (comma_expression + (assignment_expression + (identifier) + (number_literal)) + (comma_expression + (assignment_expression + (identifier) + (number_literal)) + (assignment_expression + (identifier) + (number_literal))))) + (comma_expression + (binary_expression + (identifier) + (number_literal)) + (binary_expression + (identifier) + (number_literal))) + (comma_expression + (update_expression + (identifier)) + (comma_expression + (update_expression + (identifier)) + (comma_expression + (update_expression + (identifier)) + (update_expression + (identifier))))) + (expression_statement + (number_literal)))))) + +================================================================================ +While loops +================================================================================ + +int main() { + while (x) + printf("hi"); +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (while_statement + (parenthesized_expression + (identifier)) + (expression_statement + (call_expression + (identifier) + (argument_list + (string_literal + (string_content))))))))) + +================================================================================ +Labeled statements +================================================================================ + +void foo(T *t) { +recur: + t = t->next(); + if (t) goto recur; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (type_identifier) + (pointer_declarator + (identifier))))) + (compound_statement + (labeled_statement + (statement_identifier) + (expression_statement + (assignment_expression + (identifier) + (call_expression + (field_expression + (identifier) + (field_identifier)) + (argument_list))))) + (if_statement + (parenthesized_expression + (identifier)) + (goto_statement + (statement_identifier)))))) + +================================================================================ +Switch statements +================================================================================ + +void foo(int a) { + switch (a) { + puts("entered switch!"); + + case 3: + case 5: + if (b) { + c(); + } + break; + + default: + c(); + break; + } +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list + (parameter_declaration + (primitive_type) + (identifier)))) + (compound_statement + (switch_statement + (parenthesized_expression + (identifier)) + (compound_statement + (expression_statement + (call_expression + (identifier) + (argument_list + (string_literal + (string_content))))) + (case_statement + (number_literal)) + (case_statement + (number_literal) + (if_statement + (parenthesized_expression + (identifier)) + (compound_statement + (expression_statement + (call_expression + (identifier) + (argument_list))))) + (break_statement)) + (case_statement + (expression_statement + (call_expression + (identifier) + (argument_list))) + (break_statement))))))) + +================================================================================ +Case statements separate from switch statements +================================================================================ + +int main() { + switch (count % 8) { + case 0: + do { + *to = *from++; + case 2: *to = *from++; + case 1: *to = *from++; + } while (--n > 0); + } +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (switch_statement + (parenthesized_expression + (binary_expression + (identifier) + (number_literal))) + (compound_statement + (case_statement + (number_literal) + (do_statement + (compound_statement + (expression_statement + (assignment_expression + (pointer_expression + (identifier)) + (pointer_expression + (update_expression + (identifier))))) + (case_statement + (number_literal) + (expression_statement + (assignment_expression + (pointer_expression + (identifier)) + (pointer_expression + (update_expression + (identifier)))))) + (case_statement + (number_literal) + (expression_statement + (assignment_expression + (pointer_expression + (identifier)) + (pointer_expression + (update_expression + (identifier))))))) + (parenthesized_expression + (binary_expression + (update_expression + (identifier)) + (number_literal)))))))))) + +================================================================================ +Return statements +================================================================================ + +void foo() { + return; + return a; + return a, b; +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (return_statement) + (return_statement + (identifier)) + (return_statement + (comma_expression + (identifier) + (identifier)))))) + +================================================================================ +Comments with asterisks +================================================================================ + +/************************* + * odd number of asterisks + *************************/ +int a; + +/************************** + * even number of asterisks + **************************/ +int b; + +-------------------------------------------------------------------------------- + +(translation_unit + (comment) + (declaration + (primitive_type) + (identifier)) + (comment) + (declaration + (primitive_type) + (identifier))) + +================================================================================ +Comment with multiple backslashes +================================================================================ + +int a = 3; // Hello \\ +World + +-------------------------------------------------------------------------------- + +(translation_unit + (declaration + (primitive_type) + (init_declarator + (identifier) + (number_literal))) + (comment)) + +================================================================================ +Attributes +================================================================================ + +void f() { + [[a]] switch (b) { + [[c]] case 1: {} + case 2: + [[fallthrough]]; + default: + } + [[a]] while (true) {} + [[a]] if (true) {} + [[a]] for (;;) {} + [[a]] return; + [[a]] a; + [[a]]; + [[a]] label: {} + [[a]] goto label; + + // these are c++ specific, but their bind locations should be c-compatible + if (true) [[likely]] {} else [[unlikely]] {} + do [[likely]] {} while (true); +} + +-------------------------------------------------------------------------------- + +(translation_unit + (function_definition + (primitive_type) + (function_declarator + (identifier) + (parameter_list)) + (compound_statement + (attributed_statement + (attribute_declaration + (attribute + (identifier))) + (switch_statement + (parenthesized_expression + (identifier)) + (compound_statement + (attributed_statement + (attribute_declaration + (attribute + (identifier))) + (case_statement + (number_literal) + (compound_statement))) + (case_statement + (number_literal) + (attributed_statement + (attribute_declaration + (attribute + (identifier))) + (expression_statement))) + (case_statement)))) + (attributed_statement + (attribute_declaration + (attribute + (identifier))) + (while_statement + (parenthesized_expression + (true)) + (compound_statement))) + (attributed_statement + (attribute_declaration + (attribute + (identifier))) + (if_statement + (parenthesized_expression + (true)) + (compound_statement))) + (attributed_statement + (attribute_declaration + (attribute + (identifier))) + (for_statement + (compound_statement))) + (attributed_statement + (attribute_declaration + (attribute + (identifier))) + (return_statement)) + (attributed_statement + (attribute_declaration + (attribute + (identifier))) + (expression_statement + (identifier))) + (attributed_statement + (attribute_declaration + (attribute + (identifier))) + (expression_statement)) + (attributed_statement + (attribute_declaration + (attribute + (identifier))) + (labeled_statement + (statement_identifier) + (compound_statement))) + (attributed_statement + (attribute_declaration + (attribute + (identifier))) + (goto_statement + (statement_identifier))) + (comment) + (if_statement + (parenthesized_expression + (true)) + (attributed_statement + (attribute_declaration + (attribute + (identifier))) + (compound_statement)) + (else_clause + (attributed_statement + (attribute_declaration + (attribute + (identifier))) + (compound_statement)))) + (do_statement + (attributed_statement + (attribute_declaration + (attribute + (identifier))) + (compound_statement)) + (parenthesized_expression + (true)))))) diff --git a/deps/tree-sitter-c/test/corpus/types.txt b/deps/tree-sitter-c/test/corpus/types.txt new file mode 100644 index 0000000..6d2d19a --- /dev/null +++ b/deps/tree-sitter-c/test/corpus/types.txt @@ -0,0 +1,80 @@ +======================================== +Primitive types +======================================== + +int a; +uint8_t a; +uint16_t a; +uint32_t a; +uint64_t a; +uintptr_t a; + +int8_t a; +int16_t a; +int32_t a; +int64_t a; +intptr_t a; + +char16_t a; +char32_t a; + +size_t a; +ssize_t a; + +--- + +(translation_unit + (declaration (primitive_type) (identifier)) + (declaration (primitive_type) (identifier)) + (declaration (primitive_type) (identifier)) + (declaration (primitive_type) (identifier)) + (declaration (primitive_type) (identifier)) + (declaration (primitive_type) (identifier)) + (declaration (primitive_type) (identifier)) + (declaration (primitive_type) (identifier)) + (declaration (primitive_type) (identifier)) + (declaration (primitive_type) (identifier)) + (declaration (primitive_type) (identifier)) + (declaration (primitive_type) (identifier)) + (declaration (primitive_type) (identifier)) + (declaration (primitive_type) (identifier)) + (declaration (primitive_type) (identifier))) + +======================================== +Type modifiers +======================================== + +void f(unsigned); +void f(unsigned int); +void f(signed long int); +void f(unsigned v1); +void f(unsigned long v2); + +--- + +(translation_unit + (declaration + (primitive_type) + (function_declarator + (identifier) + (parameter_list (parameter_declaration (sized_type_specifier))))) + (declaration + (primitive_type) + (function_declarator + (identifier) + (parameter_list (parameter_declaration (sized_type_specifier (primitive_type)))))) + (declaration + (primitive_type) + (function_declarator + (identifier) + (parameter_list (parameter_declaration (sized_type_specifier (primitive_type)))))) + (declaration + (primitive_type) + (function_declarator + (identifier) + (parameter_list (parameter_declaration (sized_type_specifier) (identifier))))) + (declaration + (primitive_type) + (function_declarator + (identifier) + (parameter_list (parameter_declaration (sized_type_specifier) (identifier)))))) diff --git a/deps/tree-sitter-c/test/highlight/keywords.c b/deps/tree-sitter-c/test/highlight/keywords.c new file mode 100644 index 0000000..50d790c --- /dev/null +++ b/deps/tree-sitter-c/test/highlight/keywords.c @@ -0,0 +1,6 @@ +#include +// ^ keyword +// ^ string + +#include "something.h" +// ^ string diff --git a/deps/tree-sitter-c/test/highlight/names.c b/deps/tree-sitter-c/test/highlight/names.c new file mode 100644 index 0000000..efdd44c --- /dev/null +++ b/deps/tree-sitter-c/test/highlight/names.c @@ -0,0 +1,33 @@ +typedef struct { + // ^ keyword + // ^ keyword + a_t b; + // <- type + // ^ property + + unsigned c_t (*d)[2]; + // ^ type + // ^ type + // ^ property +}, T, V; +// ^ type +// ^ type + +int main(const char string[SIZE]) { +// <- type +// ^ function +// ^ keyword +// ^ type +// ^ variable +// ^ constant + + return foo.bar + foo.baz(); + // ^ keyword + // ^ variable + // ^ property + // ^ function + +error: + // <- label + return 0; +} diff --git a/deps/tree-sitter-c/tree-sitter.json b/deps/tree-sitter-c/tree-sitter.json new file mode 100644 index 0000000..c33cd47 --- /dev/null +++ b/deps/tree-sitter-c/tree-sitter.json @@ -0,0 +1,43 @@ +{ + "grammars": [ + { + "name": "c", + "camelcase": "C", + "scope": "source.c", + "path": ".", + "file-types": [ + "c", + "h" + ], + "highlights": "queries/highlights.scm", + "tags": "queries/tags.scm", + "injection-regex": "^(c|h)$" + } + ], + "metadata": { + "version": "0.23.2", + "license": "MIT", + "description": "C grammar for tree-sitter", + "authors": [ + { + "name": "Max Brunsfeld", + "email": "maxbrunsfeld@gmail.com" + }, + { + "name": "Amaan Qureshi", + "email": "amaanq12@gmail.com" + } + ], + "links": { + "repository": "https://github.com/tree-sitter/tree-sitter-c" + } + }, + "bindings": { + "c": true, + "go": true, + "node": true, + "python": true, + "rust": true, + "swift": true + } +}