diff --git a/vendor/tree-sitter-erlang/.github/ISSUE_TEMPLATE/bug_report.md b/vendor/tree-sitter-erlang/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..db5069ee9 --- /dev/null +++ b/vendor/tree-sitter-erlang/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,31 @@ +--- +name: Bug report +about: Report unexpected parsing results +title: '' +labels: 'bug' +assignees: '' + +--- + +The following piece of code is valid but it is parsed incorrectly: + +```javascript + +``` + +Here's a link to the TypeScript Playground showing that the snippet above is valid JavaScript or TypeScript: + + + +The output of `tree-sitter parse` is the following: + +``` + +``` + + + + diff --git a/vendor/tree-sitter-erlang/.github/ISSUE_TEMPLATE/feature_request.md b/vendor/tree-sitter-erlang/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 000000000..9b3a5b342 --- /dev/null +++ b/vendor/tree-sitter-erlang/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,13 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + + diff --git a/vendor/tree-sitter-erlang/.github/workflows/ci.yml b/vendor/tree-sitter-erlang/.github/workflows/ci.yml new file mode 100644 index 000000000..afe29a1fa --- /dev/null +++ b/vendor/tree-sitter-erlang/.github/workflows/ci.yml @@ -0,0 +1,22 @@ +name: Build/test +on: + pull_request: + branches: + - "**" + push: + branches: + - "main" +jobs: + test: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: true + matrix: + os: [macos-latest, ubuntu-latest, windows-latest] + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: 16 + - run: npm ci + - run: npm test diff --git a/vendor/tree-sitter-erlang/.gitignore b/vendor/tree-sitter-erlang/.gitignore new file mode 100644 index 000000000..f9822f181 --- /dev/null +++ b/vendor/tree-sitter-erlang/.gitignore @@ -0,0 +1,11 @@ +*.wasm +node_modules +build +examples +*.log + +# Output of running `npm run parse -- --debug-graph foo.erl` +log.html + +# Input to the parse test +foo.erl diff --git a/vendor/tree-sitter-erlang/.prettierrc b/vendor/tree-sitter-erlang/.prettierrc new file mode 100644 index 000000000..71d38891e --- /dev/null +++ b/vendor/tree-sitter-erlang/.prettierrc @@ -0,0 +1,10 @@ +{ + "arrowParens": "avoid", + "bracketSameLine": true, + "bracketSpacing": false, + "requirePragma": true, + "singleQuote": true, + "trailingComma": "all", + "tabWidth": 4, + "indentSize": 4 +} diff --git a/vendor/tree-sitter-erlang/CHANGELOG.md b/vendor/tree-sitter-erlang/CHANGELOG.md new file mode 100644 index 000000000..b944da393 --- /dev/null +++ b/vendor/tree-sitter-erlang/CHANGELOG.md @@ -0,0 +1,3 @@ +1.0.0 (September 26, 2022) + +* Initial Release diff --git a/vendor/tree-sitter-erlang/CODE_OF_CONDUCT.md b/vendor/tree-sitter-erlang/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..83f431e8f --- /dev/null +++ b/vendor/tree-sitter-erlang/CODE_OF_CONDUCT.md @@ -0,0 +1,80 @@ +# Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to make participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic +address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a +professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies within all project spaces, and it also applies when +an individual is representing the project or its community in public spaces. +Examples of representing a project or community include using an official +project e-mail address, posting via an official social media account, or acting +as an appointed representative at an online or offline event. Representation of +a project may be further defined and clarified by project maintainers. + +This Code of Conduct also applies outside the project spaces when there is a +reasonable belief that an individual's behavior may have a negative impact on +the project or its community. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at . All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/vendor/tree-sitter-erlang/CONTRIBUTING.md b/vendor/tree-sitter-erlang/CONTRIBUTING.md new file mode 100644 index 000000000..15f717554 --- /dev/null +++ b/vendor/tree-sitter-erlang/CONTRIBUTING.md @@ -0,0 +1,35 @@ +# Contributing to tree-sitter-erlang + +We want to make contributing to this project as easy and transparent as possible. + +## Our Development Process + +tree-sitter-erlang is currently developed in Meta's internal repositories and then exported +out to GitHub by a Meta team member; however, we invite you to submit pull +requests as described below. + +## Pull Requests + +We actively welcome your pull requests. + +1. Fork the repo and create your branch from `main`. +2. If you've added code that should be tested, add tests. +3. Ensure the test suite passes. +4. If you haven't already, complete the Contributor License Agreement ("CLA"). + +## Contributor License Agreement ("CLA") + +In order to accept your pull request, we need you to submit a CLA. You only need +to do this once to work on any of Facebook's open source projects. + +Complete your CLA here: + +## Issues + +We use GitHub issues to track public bugs. Please ensure your description is +clear and has sufficient instructions to be able to reproduce the issue. + +## License + +By contributing to tree-sitter-erlang, you agree that your contributions will be +licensed under the [LICENSE](LICENSE) in the root directory of this source tree. diff --git a/vendor/tree-sitter-erlang/Cargo.toml b/vendor/tree-sitter-erlang/Cargo.toml new file mode 100644 index 000000000..85a22ff41 --- /dev/null +++ b/vendor/tree-sitter-erlang/Cargo.toml @@ -0,0 +1,25 @@ +[package] +categories = ["parsing", "text-editors"] +description = "erlang grammar for the tree-sitter parsing library" +edition = "2018" +keywords = ["incremental", "parsing", "erlang"] +license = "MIT" +name = "tree-sitter-erlang" +version = "0.0.1" + +build = "bindings/rust/build.rs" +include = [ + "bindings/rust/*", + "grammar.js", + "queries/*", + "src/*", +] + +[lib] +path = "bindings/rust/lib.rs" + +[dependencies] +tree-sitter = "0.20.9" + +[build-dependencies] +cc = "1.0.73" diff --git a/vendor/tree-sitter-erlang/LICENSE b/vendor/tree-sitter-erlang/LICENSE new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/vendor/tree-sitter-erlang/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/tree-sitter-erlang/Makefile b/vendor/tree-sitter-erlang/Makefile new file mode 100644 index 000000000..4789a50a4 --- /dev/null +++ b/vendor/tree-sitter-erlang/Makefile @@ -0,0 +1,42 @@ +# TREE_SITTER=tree-sitter +TREE_SITTER=npm run + +all: fmt gen test + +fmt: + ./node_modules/.bin/prettier --write grammar.js + +.PHONY: test +test: gen + $(TREE_SITTER) test + +.PHONY: update +update: gen + $(TREE_SITTER) test -- --update + +.PHONY: debug +debug: gen + $(TREE_SITTER) test -d + +.PHONY: gen +gen: + $(TREE_SITTER) generate + ruby -e 'ARGV.each{|f| File.write(f, "// @"+"generated\n\n"+File.read(f))}' src/parser.c src/tree_sitter/parser.h + ruby -rjson -e 'ARGV.each{|f| File.write(f, JSON.pretty_generate(JSON.parse(File.read(f)).tap{|j| j["@"+"generated"] = true}))}' src/grammar.json + ruby -rjson -e 'ARGV.each{|f| File.write(f, JSON.pretty_generate(JSON.parse(File.read(f)).tap{|j| j << {"@"+"generated" => true}}))}' src/node-types.json + +.PHONY: deps +deps: + npm install + +.PHONY: web +web: wasm + $(TREE_SITTER) web-ui + +.PHONY: wasm +wasm: + $(TREE_SITTER) build-wasm + +.PHONY: publish +publish: all wasm + cp ./tree-sitter-erlang.wasm ./docs diff --git a/vendor/tree-sitter-erlang/README.md b/vendor/tree-sitter-erlang/README.md new file mode 100644 index 000000000..c0ddf9d55 --- /dev/null +++ b/vendor/tree-sitter-erlang/README.md @@ -0,0 +1,34 @@ +# Tree Sitter Erlang + +This represents tree-sitter grammar used for the Erlang language in the +ELP project. + +It started as a direct clone of +https://github.com/AbstractMachinesLab/tree-sitter-erlang at +[7b436e1ca50f0002f6765a9a2a00f6156b2cc881](https://github.com/AbstractMachinesLab/tree-sitter-erlang/commit/7b436e1ca50f0002f6765a9a2a00f6156b2cc881), +but was later heavily modified for completeness. + +## Usage + +Install the required toolchain with + +``` +make deps +``` + +Edit the `grammar.js` file and re-generate the code with: + +``` +make gen +``` + +Useful test command, parses `foo.erl` and opens a browser window to +show the process, with pretty pictures of the generated AST. + +``` +npm run parse -- --debug-graph testdata/foo.erl +``` + +## License + +tree-sitter-erlang is [Apache licensed](./LICENSE). diff --git a/vendor/tree-sitter-erlang/binding.gyp b/vendor/tree-sitter-erlang/binding.gyp new file mode 100644 index 000000000..64b7451de --- /dev/null +++ b/vendor/tree-sitter-erlang/binding.gyp @@ -0,0 +1,18 @@ +{ + "targets": [ + { + "target_name": "tree_sitter_erlang_binding", + "include_dirs": [ + " +#include "nan.h" + +using namespace v8; + +extern "C" TSLanguage * tree_sitter_erlang(); + +namespace { + +NAN_METHOD(New) {} + +void Init(Local exports, Local module) { + Local tpl = Nan::New(New); + tpl->SetClassName(Nan::New("Language").ToLocalChecked()); + tpl->InstanceTemplate()->SetInternalFieldCount(1); + + Local constructor = Nan::GetFunction(tpl).ToLocalChecked(); + Local instance = constructor->NewInstance(Nan::GetCurrentContext()).ToLocalChecked(); + Nan::SetInternalFieldPointer(instance, 0, tree_sitter_erlang()); + + Nan::Set(instance, Nan::New("name").ToLocalChecked(), Nan::New("erlang").ToLocalChecked()); + Nan::Set(module, Nan::New("exports").ToLocalChecked(), instance); +} + +NODE_MODULE(tree_sitter_erlang_binding, Init) + +} // namespace diff --git a/vendor/tree-sitter-erlang/bindings/node/index.js b/vendor/tree-sitter-erlang/bindings/node/index.js new file mode 100644 index 000000000..c7b4885d8 --- /dev/null +++ b/vendor/tree-sitter-erlang/bindings/node/index.js @@ -0,0 +1,19 @@ +try { + module.exports = require("../../build/Release/tree_sitter_erlang_binding"); +} catch (error1) { + if (error1.code !== 'MODULE_NOT_FOUND') { + throw error1; + } + try { + module.exports = require("../../build/Debug/tree_sitter_erlang_binding"); + } catch (error2) { + if (error2.code !== 'MODULE_NOT_FOUND') { + throw error2; + } + throw error1 + } +} + +try { + module.exports.nodeTypeInfo = require("../../src/node-types.json"); +} catch (_) {} diff --git a/vendor/tree-sitter-erlang/bindings/rust/build.rs b/vendor/tree-sitter-erlang/bindings/rust/build.rs new file mode 100644 index 000000000..5b5cdebd7 --- /dev/null +++ b/vendor/tree-sitter-erlang/bindings/rust/build.rs @@ -0,0 +1,43 @@ +// Note: If this file does not exist, it is generated by `tree-sitter generate`. + +fn main() { + let src_dir = std::path::Path::new("src"); + + let mut c_config = cc::Build::new(); + c_config.include(&src_dir); + c_config + .flag_if_supported("-Wno-unused-const-variable") + .flag_if_supported("-Wno-unused-parameter") + .flag_if_supported("-Wno-unused-but-set-variable") + .flag_if_supported("-Wno-trigraphs"); + let parser_path = src_dir.join("parser.c"); + c_config.file(&parser_path); + + // If your language uses an external scanner written in C, + // then include this block of code: + + /* + let scanner_path = src_dir.join("scanner.c"); + c_config.file(&scanner_path); + println!("cargo:rerun-if-changed={}", scanner_path.to_str().unwrap()); + */ + + c_config.compile("parser"); + println!("cargo:rerun-if-changed={}", parser_path.to_str().unwrap()); + + // If your language uses an external scanner written in C++, + // then include this block of code: + + /* + let mut cpp_config = cc::Build::new(); + cpp_config.cpp(true); + cpp_config.include(&src_dir); + cpp_config + .flag_if_supported("-Wno-unused-parameter") + .flag_if_supported("-Wno-unused-but-set-variable"); + let scanner_path = src_dir.join("scanner.cc"); + cpp_config.file(&scanner_path); + cpp_config.compile("scanner"); + println!("cargo:rerun-if-changed={}", scanner_path.to_str().unwrap()); + */ +} diff --git a/vendor/tree-sitter-erlang/bindings/rust/lib.rs b/vendor/tree-sitter-erlang/bindings/rust/lib.rs new file mode 100644 index 000000000..629ccbd00 --- /dev/null +++ b/vendor/tree-sitter-erlang/bindings/rust/lib.rs @@ -0,0 +1,54 @@ +// Note: If this file does not exist, it is generated by `tree-sitter generate`. + +//! This crate provides erlang language support for the [tree-sitter][] parsing library. +//! +//! Typically, you will use the [language][language func] function to add this language to a +//! tree-sitter [Parser][], and then use the parser to parse some code: +//! +//! ``` +//! let code = ""; +//! let mut parser = tree_sitter::Parser::new(); +//! parser.set_language(tree_sitter_erlang::language()).expect("Error loading erlang grammar"); +//! let tree = parser.parse(code, None).unwrap(); +//! ``` +//! +//! [Language]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Language.html +//! [language func]: fn.language.html +//! [Parser]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Parser.html +//! [tree-sitter]: https://tree-sitter.github.io/ + +use tree_sitter::Language; + +extern "C" { + fn tree_sitter_erlang() -> Language; +} + +/// Get the tree-sitter [Language][] for this grammar. +/// +/// [Language]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Language.html +pub fn language() -> Language { + unsafe { tree_sitter_erlang() } +} + +/// The content of the [`node-types.json`][] file for this grammar. +/// +/// [`node-types.json`]: https://tree-sitter.github.io/tree-sitter/using-parsers#static-node-types +pub const NODE_TYPES: &'static str = include_str!("../../src/node-types.json"); + +// Uncomment these to include any queries that this grammar contains + +// pub const HIGHLIGHTS_QUERY: &'static str = include_str!("../../queries/highlights.scm"); +// pub const INJECTIONS_QUERY: &'static str = include_str!("../../queries/injections.scm"); +// pub const LOCALS_QUERY: &'static str = include_str!("../../queries/locals.scm"); +// pub const TAGS_QUERY: &'static str = include_str!("../../queries/tags.scm"); + +#[cfg(test)] +mod tests { + #[test] + fn test_can_load_grammar() { + let mut parser = tree_sitter::Parser::new(); + parser + .set_language(super::language()) + .expect("Error loading erlang language"); + } +} diff --git a/vendor/tree-sitter-erlang/grammar.js b/vendor/tree-sitter-erlang/grammar.js new file mode 100644 index 000000000..c3886e582 --- /dev/null +++ b/vendor/tree-sitter-erlang/grammar.js @@ -0,0 +1,948 @@ +/* + * Copyright (c) Facebook, Inc. and its affiliates. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Higher value == higher precedence +const PREC = { + CATCH: 0, + DCOLON: 1, // `::` + PIPE: 2, // `|` + PREFIX_OP: 3, // prefix op binds directly to its argument + MULT_OP: 4, // mult_op is left-associative + ADD_OP: 4, // add_op is left-associative + DOTDOT: 6, // `..` in Type + DARROW: 7, // `=>` in Type, Expr + CEQ: 8, // `:=` in Type, Expr + EQ: 12, // `:=` in Expr + BANG: 13, // `:=` in Expr + ORELSE: 14, // `:=` in Expr + ANDALSO: 15, // `:=` in Expr + LIST_OP: 16, // `:=` in Expr + COMP_OP: 17, // `:=` in Expr + + // For remote vs binary : + CALL: 80, + REMOTE: 1, + BIT_EXPR: 2, + + // In macro def, prefer expressions, if type and expr would parse + DYN_CR_CLAUSES: 1, + DYN_FUNCTION_CLAUSES: 2, + DYN_GUARD_OR: 3, + DYN_GUARD_AND: 4, + DYN_EXPR: 5, +}; + +/////////////////////////////////////////////////////////////////////////////// +// +// Combinators +// +/////////////////////////////////////////////////////////////////////////////// +const sepBy1 = (sep, x) => seq(x, repeat(seq(sep, x))); +const sepBy = (sep, x) => optional(sepBy1(sep, x)); + +const atom_const = (x) => choice(x, alias('\'' + x + '\'', x)); + +/////////////////////////////////////////////////////////////////////////////// +// +// Grammar +// +/////////////////////////////////////////////////////////////////////////////// +// Experimenting with converting the erlfmt grammar + +module.exports = grammar({ + name: 'erlang', + + word: $ => $.atom, + + extras: $ => [ + // $.whitespace causes issues with error recovery, + // emulate it manually when traversing the tree + /[\x01-\x20\x80-\xA0]/, + $.comment, + ], + + inline: $ => [ + $._fun_expr, + $._map_expr, + $._record_expr, + $._exprs, + $._catch_clauses, + ], + + supertypes: $ => [ + $._form, + $._preprocessor_directive, + $._include_detail, + $._function_or_macro_clause, + $._macro_def_replacement, + $._arity_value, + $._concatable, + $._name, + $._macro_name, + $._lc_expr, + $._cr_clause_or_macro, + $._bit_type, + $._bit_expr, + $._map_expr_base, + $._record_expr_base, + $._expr, + $._expr_max, + $._catch_pat, + ], + + + // The erlfmt grammar tries to parse a complete `define` attribute + // for an expression, if that fails it tries for a type, if that + // fails for a clause. + // Instead, we allow conflicts between _expr and type, and clause. + conflicts: $ => [ + // `Base#record{...}` vs `Base#{...}` + [$._record_expr_base, $._map_expr_base], + // In some places we don't accept args for a macro, it would create even more conflicts + [$.macro_call_expr, $.macro_call_none], + // Concatables are ambiguous + [$._expr_max, $._concatable], + [$._expr_max, $._name], + // All can be just a macro and can apprear in the macro definition + [$._function_or_macro_clause, $._cr_clause_or_macro, $._macro_body_expr], + // This is intentionally ambiguous to simplify the produced tree + [$._macro_def_replacement, $.replacement_guard_and], + [$._macro_def_replacement, $.replacement_guard_or], + // Fun type vs regular function `fun()` vs `fun() -> ...` + [$.fun_type, $.expr_args], + ], + + rules: { + + source_file: $ => field('forms', repeat($._form)), + + // ------------------------------------------------------------- + + _form: $ => choice( + $.module_attribute, + $.behaviour_attribute, + $.export_attribute, + $.import_attribute, + $.export_type_attribute, + $.optional_callbacks_attribute, + $.compile_options_attribute, + $.file_attribute, + $.record_decl, + $.type_alias, + $.opaque, + $.spec, + $.callback, + $.wild_attribute, + $.fun_decl, + // preprocessor, not an OTP abstract form + $._preprocessor_directive, + ), + + _preprocessor_directive: $ => choice( + $.pp_include, + $.pp_include_lib, + // https://www.erlang.org/doc/reference_manual/macros.html#flow-control-in-macros + $.pp_undef, + $.pp_ifdef, + $.pp_ifndef, + $.pp_else, + $.pp_endif, + $.pp_if, + $.pp_elif, + + $.pp_define, + ), + pp_include: $ => seq( + '-', atom_const('include'), '(', + field("file", repeat1($._include_detail)), + ')', '.' + ), + pp_include_lib: $ => seq( + '-', atom_const('include_lib'), '(', + field("file", repeat1($._include_detail)), + ')', '.' + ), + pp_undef: $ => seq('-', atom_const('undef'), '(', field("name", $._macro_name), ')', '.'), + pp_ifdef: $ => seq('-', atom_const('ifdef'), '(', field("name", $._macro_name), ')', '.'), + pp_ifndef: $ => seq('-', atom_const('ifndef'), '(', field("name", $._macro_name), ')', '.'), + pp_else: $ => seq('-', atom_const('else'), '.'), + pp_endif: $ => seq('-', atom_const('endif'), '.'), + pp_if: $ => seq('-', atom_const('if'), field("cond", $._expr), '.'), + pp_elif: $ => seq('-', atom_const('elif'), field("cond", $._expr), '.'), + + pp_define: $ => seq( + '-', + atom_const('define'), + '(', + field("lhs", $.macro_lhs), + ',', + field("replacement", optional($._macro_def_replacement)), + ')', + '.', + ), + + _include_detail: $ => choice( + $.string, + $.macro_call_expr + ), + + module_attribute: $ => seq('-', atom_const('module'), '(', field("name", $._name), ')', '.'), + + behaviour_attribute: $ => seq( + '-', + choice(atom_const('behaviour'), atom_const('behavior')), + '(', + field("name", $._name), + ')', + '.' + ), + + export_attribute: $ => seq( + '-', + atom_const('export'), + '(', + '[', + sepBy(optional(','), field("funs", $.fa)), + ']', + ')', + '.' + ), + + import_attribute: $ => seq( + '-', atom_const('import'), '(', + field("module", $._name), ',', + '[', sepBy(optional(','), field("funs", $.fa)), ']', ')', '.'), + + optional_callbacks_attribute: $ => seq( + '-', atom_const('optional_callbacks'), '(', '[', + sepBy(optional(','), field("callbacks", $.fa)), + ']', ')', '.', + ), + + // Used in imports and exports only, make it concrete. + fa: $ => seq(field("fun", $._name), field("arity", $.arity)), + + export_type_attribute: $ => seq( + '-', + atom_const('export_type'), + '(', + '[', + sepBy(optional(','), field("types", $.fa)), + ']', + ')', + '.' + ), + + compile_options_attribute: $ => seq( + '-', + atom_const('compile'), + '(', + field("options", $._expr), + ')', + '.' + ), + + file_attribute: $ => seq( + '-', + atom_const('file'), + '(', + field("original_file", $.string), ',', + field("original_line", $.integer), + ')', '.'), + + type_alias: $ => seq('-', atom_const('type'), $._type_def, '.'), + + opaque: $ => seq('-', atom_const('opaque'), $._type_def, '.'), + + _type_def: $ => choice( + seq(field("name", $.type_name), '::', field("ty", $._expr)), + seq('(', field("name", $.type_name), '::', field("ty", $._expr), ')') + ), + type_name: $ => seq(field("name", $._name), field("args", $.var_args)), + + record_decl: $ => seq( + '-', + atom_const('record'), + '(', + field("name", $._name), + optional(','), + $._record_tuple, + ')', + '.', + ), + + spec: $ => seq('-', atom_const('spec'), $._spec_def, '.'), + + callback: $ => seq('-', atom_const('callback'), $._spec_def, '.'), + + _spec_def: $ => choice( + seq($._spec_fun, sepBy1(';', field("sigs", $.type_sig))), + seq('(', $._spec_fun, sepBy1(';', field("sigs", $.type_sig)), ')'), + ), + + _spec_fun: $ => seq(field("module", optional($.module)), field("fun", $._name)), + module: $ => seq(field("name", $._name), ':'), + + wild_attribute: $ => seq(field("name", $.attr_name), field("value", $._expr), '.'), + + attr_name: $ => seq('-', field("name", $._name)), + + fun_decl: $ => seq( + sepBy1(optional(';'), field("clauses", $._function_or_macro_clause)), + '.' + ), + + type_sig: $ => seq( + field("args", $.expr_args), + '->', + field("ty", $._expr), + optional(field("guard", $.type_guards)), + ), + + type_guards: $ => seq('when', sepBy1(',', field("guards", $.ann_type))), + + ann_type: $ => prec(PREC.DCOLON, seq(field("var", $.ann_var), field("ty", $._expr))), + + ann_var: $ => prec(PREC.DCOLON, seq(field("var", $.var), '::')), + + // Both union type and list tail + pipe: $ => prec.right(PREC.PIPE, seq(field("lhs", $._expr), '|', field("rhs", $._expr))), + + fun_type: $ => seq('fun', '(', field("sig", optional($.fun_type_sig)), ')'), + + fun_type_sig: $ => seq( + field("args", $.expr_args), + '->', + field("ty", $._expr) + ), + + range_type: $ => prec.left(PREC.DOTDOT, seq( + field("lhs", $._expr), + '..', + field("rhs", $._expr) + )), + + _function_or_macro_clause: $ => choice( + $.function_clause, + $.macro_call_expr, + ), + + function_clause: $ => seq( + field("name", $._name), + field("args", $.expr_args), + optional($._clause_guard), + field("body", $.clause_body) + ), + + // This is optional, but tree-sitter complains if we put + // 'optional' here, must put it at each usage site. + _clause_guard: $ => seq('when', field("guard", $.guard)), + + clause_body: $ => prec.right(seq('->', sepBy1(',', field("exprs", $._expr)))), + + _expr: $ => choice( + $.ann_type, + $.pipe, + $.dotdotdot, + $.range_type, + $.catch_expr, + $.binary_op_expr, + $.match_expr, + $.unary_op_expr, + $._map_expr, + $.call, + $._record_expr, + $.remote, + $._expr_max, + ), + + dotdotdot: $ => '...', + + catch_expr: $ => prec(PREC.CATCH, seq('catch', field("expr", $._expr))), + + match_expr: $ => + prec.right(PREC.EQ, seq( + field("lhs", $._expr), + '=', + field("rhs", prec.right($._expr)), + )), + binary_op_expr: $ => choice( + prec.right(PREC.BANG, seq( + field("lhs", $._expr), + '!', + field("rhs", $._expr), + )), + prec.right(PREC.ORELSE, seq( + field("lhs", $._expr), + 'orelse', + field("rhs", $._expr), + )), + prec.right(PREC.ANDALSO, seq( + field("lhs", $._expr), + 'andalso', + field("rhs", $._expr), + )), + prec.left(PREC.COMP_OP, seq( + field("lhs", $._expr), + $._comp_op, + field("rhs", $._expr), + )), + prec.right(PREC.LIST_OP, seq( + field("lhs", $._expr), + $._list_op, + field("rhs", $._expr), + )), + prec.left(PREC.ADD_OP, seq( + field("lhs", $._expr), + $._add_op, + field("rhs", $._expr), + )), + prec.left(PREC.MULT_OP, seq( + field("lhs", $._expr), + $._mult_op, + field("rhs", $._expr), + )), + ), + + unary_op_expr: $ => prec(PREC.PREFIX_OP, seq( + $._prefix_op, + field("operand", $._expr), + )), + + _expr_max: $ => choice( + $.char, + $.integer, + $.atom, + $.float, + $.string, + $.concatables, + $._macro_body_expr, + $.var, + $.list, + $.binary, + $.list_comprehension, + $.binary_comprehension, + $.tuple, + $.paren_expr, + $.block_expr, + $.if_expr, + $.case_expr, + $.receive_expr, + $._fun_expr, + $.try_expr, + ), + + remote: $ => prec.right(PREC.REMOTE, seq(field("module", $.remote_module), field("fun", $._expr_max))), + remote_module: $ => prec(PREC.REMOTE, seq(field("module", $._expr_max), ':')), + + paren_expr: $ => seq('(', field("expr", $._expr), ')'), + block_expr: $ => seq('begin', sepBy1(',', field("exprs", $._expr)), 'end'), + + list: $ => seq( + '[', + sepBy(',', field("exprs", $._expr)), + ']', + ), + + binary: $ => seq( + '<<', + sepBy(',', field("elements", $.bin_element)), + '>>', + ), + + bin_element: $ => seq( + field("element", $._bit_expr), + field("size", optional($.bit_size_expr)), + field("types", optional($.bit_type_list)), + ), + bit_size_expr: $ => seq( + ':', + field("size", $._bit_expr), + ), + bit_type_list: $ => seq( + '/', + sepBy1('-', field("types", $._bit_type)), + ), + + _bit_expr: $ => prec(PREC.BIT_EXPR, choice( + alias($.unary_op_expr_max, $.unary_op_expr), + alias($.binary_op_expr_max, $.binary_op_expr), + $._expr_max, + )), + + unary_op_expr_max: $ => prec(PREC.PREFIX_OP, seq( + $._prefix_op, + field("operand", $._expr_max), + )), + + binary_op_expr_max: $ => prec(PREC.MULT_OP, seq( + field("lhs", $._expr_max), + '*', + field("rhs", $._expr_max), + )), + + _bit_type: $ => choice( + $._name, + $.bit_type_unit, + ), + bit_type_unit: $ => seq('unit', ':', field("size", $._arity_value)), + + list_comprehension: $ => seq( + '[', + field("expr", $._expr), + field("lc_exprs", $.lc_exprs), + ']' + ), + binary_comprehension: $ => seq( + '<<', + field("expr", $._expr_max), + field("lc_exprs", $.lc_exprs), + '>>' + ), + + lc_exprs: $ => seq('||', sepBy1(',', field("exprs", $._lc_expr))), + + _lc_expr: $ => choice( + $._expr, + $.generator, + $.b_generator, + ), + + generator: $ => seq( + field("lhs", $._expr), + '<-', + field("rhs", $._expr), + ), + b_generator: $ => seq( + field("lhs", $._expr), + '<=', + field("rhs", $._expr), + ), + + tuple: $ => seq( + '{', + sepBy(',', field("expr", $._expr)), + '}' + ), + + _map_expr: $ => choice( + $.map_expr, + $.map_expr_update, + ), + + map_expr_update: $ => prec.right(seq( + field("expr", $._map_expr_base), + '#', + '{', + sepBy(',', field("fields", $.map_field)), + '}', + )), + + map_expr: $ => seq( + '#', + '{', + sepBy(',', field("fields", $.map_field)), + '}', + ), + + _map_expr_base: $ => choice( + $._expr_max, + $._map_expr, + ), + + map_field: $ => prec.left(PREC.DARROW, seq( + field("key", $._expr), + $._map_field_op, + field("value", $._expr), + )), + _map_field_op: $ => choice('=>', ':='), + + _record_expr: $ => choice( + $.record_index_expr, + $.record_field_expr, + $.record_update_expr, + $.record_expr, + ), + + record_index_expr: $ => seq( + field("name", $.record_name), + field("field", $.record_field_name), + ), + + record_field_expr: $ => prec.right(seq( + field("expr", $._record_expr_base), + field("name", $.record_name), + field("field", $.record_field_name), + )), + + record_update_expr: $ => prec.right(seq( + field("expr", $._record_expr_base), + field("name", $.record_name), + $._record_tuple, + )), + + record_expr: $ => seq( + field("name", $.record_name), + $._record_tuple, + ), + + record_name: $ => seq('#', field("name", $._name)), + + record_field_name: $ => seq('.', field("name", $._name)), + + _record_expr_base: $ => choice( + $._expr_max, + $._record_expr, + ), + + _record_tuple: $ => seq( + '{', + optional(sepBy1(',', field("fields", $.record_field))), + '}' + ), + + record_field: $ => seq( + field("name", $._name), + optional(field("expr", $.field_expr)), + optional(field("ty", $.field_type)), + ), + + field_expr: $ => seq('=', field("expr", $._expr)), + + field_type: $ => seq('::', field("expr", $._expr)), + + call: $ => prec(PREC.CALL, seq( + field("expr", $._expr), + field("args", $.expr_args), + )), + + if_expr: $ => seq( + 'if', + optional(sepBy1(';', field("clauses", $.if_clause))), + 'end', + ), + + if_clause: $ => seq( + field("guard", $.guard), + field("body", $.clause_body), + ), + + case_expr: $ => seq( + 'case', + field("expr", $._expr), + 'of', + optional($._cr_clauses), + 'end', + ), + + _cr_clauses: $ => sepBy1(';', field("clauses", $._cr_clause_or_macro)), + + _cr_clause_or_macro: $ => choice( + $.cr_clause, + $.macro_call_expr, + ), + + cr_clause: $ => seq( + field("pat", $._expr), + optional($._clause_guard), + field("body", $.clause_body), + ), + + receive_expr: $ => seq( + 'receive', + optional($._cr_clauses), + optional(field("after", $.receive_after)), + 'end' + ), + + receive_after: $ => seq( + 'after', + field("expr", $._expr), + field("body", $.clause_body), + ), + + _fun_expr: $ => choice( + $.internal_fun, + $.external_fun, + $.anonymous_fun, + $.fun_type, + ), + internal_fun: $ => seq( + 'fun', + field("fun", $._name), + field("arity", $.arity), + ), + external_fun: $ => seq( + 'fun', + field("module", $.module), + field("fun", $._name), + field("arity", $.arity), + ), + anonymous_fun: $ => seq( + 'fun', + sepBy1(';', field("clauses", $.fun_clause)), + 'end' + ), + + _macro_name: $ => choice( + $.atom, + $.var, + ), + + _name: $ => choice( + $.atom, + $.var, + alias($.macro_call_none, $.macro_call_expr), + ), + + arity: $ => seq('/', field("value", $._arity_value)), + + _arity_value: $ => choice( + $.integer, + $.var, + $.macro_call_expr, + ), + + fun_clauses: $ => sepBy1(';', $.fun_clause), + + fun_clause: $ => seq( + field("name", optional($.var)), + field("args", $.expr_args), + optional($._clause_guard), + field("body", $.clause_body), + ), + + try_expr: $ => choice( + seq('try', $._exprs, 'of', $._cr_clauses, $._try_catch), + seq('try', $._exprs, $._try_catch), + ), + + _try_catch: $ => choice( + seq('catch', optional($._catch_clauses), 'end'), + seq('catch', optional($._catch_clauses), field("after", $.try_after), 'end'), + seq(field("after", $.try_after), 'end'), + ), + + try_after: $ => seq('after', $._exprs), + + _catch_clauses: $ => sepBy1(';', field("catch", $.catch_clause)), + + catch_clause: $ => seq( + choice( + field("pat", $._catch_pat), + seq(field("class", $.try_class), field("pat", $._catch_pat)), + seq(field("class", $.try_class), field("pat", $._catch_pat), field("stack", $.try_stack)), + ), + optional($._clause_guard), + field("body", $.clause_body) + ), + + try_class: $ => seq(field("class", $._name), ':'), + + try_stack: $ => seq(':', field("class", $.var)), + + _catch_pat: $ => choice( + alias($.binary_op_catch_pat, $.binary_op_expr), + alias($.match_catch_pat, $.binary_op_expr), + $.unary_op_expr, + $.map_expr, + $.record_index_expr, + $.record_expr, + $._expr_max, + ), + + match_catch_pat: $ => + prec.right(PREC.EQ, seq( + field("lhs", $._catch_pat), + '=', + field("rhs", $._catch_pat), + )), + binary_op_catch_pat: $ => choice( + prec.left(PREC.COMP_OP, seq( + field("lhs", $._catch_pat), + $._comp_op, + field("rhs", $._catch_pat), + )), + prec.right(PREC.LIST_OP, seq( + field("lhs", $._catch_pat), + $._list_op, + field("rhs", $._catch_pat), + )), + prec.left(PREC.ADD_OP, seq( + field("lhs", $._catch_pat), + $._add_op, + field("rhs", $._catch_pat), + )), + prec.left(PREC.MULT_OP, seq( + field("lhs", $._catch_pat), + $._mult_op, + field("rhs", $._catch_pat), + )), + ), + + _macro_def_replacement: $ => choice( + prec.dynamic(PREC.DYN_EXPR, $._expr), + prec.dynamic(PREC.DYN_FUNCTION_CLAUSES, $.replacement_function_clauses), + prec.dynamic(PREC.DYN_CR_CLAUSES, $.replacement_cr_clauses), + prec.dynamic(PREC.DYN_GUARD_OR, $.replacement_guard_or), + prec.dynamic(PREC.DYN_GUARD_AND, $.replacement_guard_and), + $.replacement_parens, + ), + + replacement_function_clauses: $ => sepBy1(';', field("clauses", $._function_or_macro_clause)), + + replacement_cr_clauses: $ => sepBy1(';', field("clauses", $._cr_clause_or_macro)), + + replacement_guard_or: $ => sepBy1(';', field("guard", $.replacement_guard_and)), + + replacement_guard_and: $ => sepBy1(',', field("guard", $._expr)), + + replacement_parens: $ => seq('(', ')'), + + macro_lhs: $ => seq( + field("name", $._macro_name), + field("args", optional($.var_args)), + ), + + _macro_body_expr: $ => choice( + $.macro_string, + $.macro_call_expr, + ), + + macro_call_expr: $ => prec.right(seq( + '?', + field("name", $._macro_name), + field("args", optional($.macro_call_args)), + )), + + macro_call_args: $ => seq( + '(', + sepBy(',', field("args", $.macro_expr)), + ')' + ), + + macro_call_none: $ => seq( + '?', + field("name", $._macro_name), + ), + + macro_string: $ => seq( + '?', '?', + field("name", $._macro_name), + ), + + macro_expr: $ => choice( + field("expr", $._expr), + seq(field("expr", $._expr), 'when', field("guard", $._expr)), + ), + + _exprs: $ => sepBy1(',', field("exprs", $._expr)), + + expr_args: $ => seq( + '(', + sepBy(',', field("args", $._expr)), + ')', + ), + + var_args: $ => seq( + '(', + sepBy(optional(','), field("args", $.var)), + ')' + ), + + guard: $ => prec.right(sepBy1(';', field("clauses", $.guard_clause))), + guard_clause: $ => prec.right(sepBy1(',', field("exprs", $._expr))), + + concatables: $ => prec.right(field("elems", seq($._concatable, repeat1($._concatable)))), + + _concatable: $ => choice( + $.string, + $.var, + $._macro_body_expr + ), + + // ------------------------------------------------------------- + // Operators + + _prefix_op: $ => choice( + '+', + '-', + 'bnot', + 'not', + ), + + _mult_op: $ => choice( + '/', + '*', + 'div', + 'rem', + 'band', + 'and', + ), + + _add_op: $ => choice( + '+', + '-', + 'bor', + 'bxor', + 'bsl', + 'bsr', + 'or', + 'xor', + ), + + _list_op: $ => choice('++', '--'), + + _comp_op: $ => choice( + '==', + '/=', + '=<', + '<', + '>=', + '>', + '=:=', + '=/=', + ), + + // ------------------------------------------------------------- + // Tokens + + var: $ => token(/[_A-Z\xC0-\xD6\xD8-\xDE][_@a-zA-Z0-9\xC0-\xD6\xD8-\xDE\xDF-\xF6\xF8-\xFF]*/), + + integer: $ => token( + /\d{1,2}#[0-9a-zA-Z](_?[0-9a-zA-Z])*|\d(_?\d)*/, + ), + + float: $ => token( + /\d(_?\d)*\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?/, + ), + + string: $ => /"([^"\\]|\\([^x\^]|[0-7]{1,3}|x[0-9a-fA-F]{2}|x\{[0-9a-fA-F]+\}|\^.))*"/, + + // Check via https://regexr.com/ + // Should match https://www.erlang.org/doc/reference_manual/data_types.html#escape-sequences + // Regex is based on https://github.com/erlang/otp/blob/30e0b342a50ce70b204a47e1e442e3dc33f9a41b/lib/stdlib/src/erl_scan.erl#L874-L922 + char: $ => token( + /\$([^\\]|\\([0-7]{1,3}|x[0-9a-fA-F]{2}|x{[0-9a-fA-F]+}|\^.|\\n|\\\\|.))/, + ), + + atom: $ => token( + /([a-z\xDF-\xF6\xF8-\xFF][_@a-zA-Z0-9\xC0-\xD6\xD8-\xDE\xDF-\xF6\xF8-\xFF]*)|('([^'\\]|\\([^x\^]|[0-7]{1,3}|x[0-9a-fA-F]{2}|x\{[0-9a-fA-F]+\}|\^.))*')/, + ), + + comment: $ => token(/%[^\n]*/), + } +}); diff --git a/vendor/tree-sitter-erlang/package-lock.json b/vendor/tree-sitter-erlang/package-lock.json new file mode 100644 index 000000000..9a3e9e2c6 --- /dev/null +++ b/vendor/tree-sitter-erlang/package-lock.json @@ -0,0 +1,63 @@ +{ + "name": "tree-sitter-erlang", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "tree-sitter-erlang", + "version": "0.0.0", + "license": "Apache-2.0", + "dependencies": { + "nan": "^2.14.1", + "prettier": "^2.2.1", + "tree-sitter-cli": "^0.20.7" + } + }, + "node_modules/nan": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", + "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" + }, + "node_modules/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/tree-sitter-cli": { + "version": "0.20.7", + "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.20.7.tgz", + "integrity": "sha512-MHABT8oCPr4D0fatsPo6ATQ9H4h9vHpPRjlxkxJs80tpfAEKGn6A1zU3eqfCKBcgmfZDe9CiL3rKOGMzYHwA3w==", + "hasInstallScript": true, + "bin": { + "tree-sitter": "cli.js" + } + } + }, + "dependencies": { + "nan": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", + "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" + }, + "prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==" + }, + "tree-sitter-cli": { + "version": "0.20.7", + "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.20.7.tgz", + "integrity": "sha512-MHABT8oCPr4D0fatsPo6ATQ9H4h9vHpPRjlxkxJs80tpfAEKGn6A1zU3eqfCKBcgmfZDe9CiL3rKOGMzYHwA3w==" + } + } +} diff --git a/vendor/tree-sitter-erlang/package.json b/vendor/tree-sitter-erlang/package.json new file mode 100644 index 000000000..e0f9ca429 --- /dev/null +++ b/vendor/tree-sitter-erlang/package.json @@ -0,0 +1,18 @@ +{ + "name": "tree-sitter-erlang", + "version": "0.0.0", + "description": "Tree Sitter grammar for Erlang", + "scripts": { + "test": "tree-sitter test", + "generate": "tree-sitter generate", + "parse": "tree-sitter parse" + }, + "authors": ["Leandro Ostera ", "Alan Zimmerman "], + "license": "Apache-2.0", + "dependencies": { + "nan": "^2.14.1", + "prettier": "^2.2.1", + "tree-sitter-cli": "^0.20.7" + }, + "main": "bindings/node" +} diff --git a/vendor/tree-sitter-erlang/src/grammar.json b/vendor/tree-sitter-erlang/src/grammar.json new file mode 100644 index 000000000..f9fe7a04d --- /dev/null +++ b/vendor/tree-sitter-erlang/src/grammar.json @@ -0,0 +1,5670 @@ +{ + "name": "erlang", + "word": "atom", + "rules": { + "source_file": { + "type": "FIELD", + "name": "forms", + "content": { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_form" + } + } + }, + "_form": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "module_attribute" + }, + { + "type": "SYMBOL", + "name": "behaviour_attribute" + }, + { + "type": "SYMBOL", + "name": "export_attribute" + }, + { + "type": "SYMBOL", + "name": "import_attribute" + }, + { + "type": "SYMBOL", + "name": "export_type_attribute" + }, + { + "type": "SYMBOL", + "name": "optional_callbacks_attribute" + }, + { + "type": "SYMBOL", + "name": "compile_options_attribute" + }, + { + "type": "SYMBOL", + "name": "file_attribute" + }, + { + "type": "SYMBOL", + "name": "record_decl" + }, + { + "type": "SYMBOL", + "name": "type_alias" + }, + { + "type": "SYMBOL", + "name": "opaque" + }, + { + "type": "SYMBOL", + "name": "spec" + }, + { + "type": "SYMBOL", + "name": "callback" + }, + { + "type": "SYMBOL", + "name": "wild_attribute" + }, + { + "type": "SYMBOL", + "name": "fun_decl" + }, + { + "type": "SYMBOL", + "name": "_preprocessor_directive" + } + ] + }, + "_preprocessor_directive": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "pp_include" + }, + { + "type": "SYMBOL", + "name": "pp_include_lib" + }, + { + "type": "SYMBOL", + "name": "pp_undef" + }, + { + "type": "SYMBOL", + "name": "pp_ifdef" + }, + { + "type": "SYMBOL", + "name": "pp_ifndef" + }, + { + "type": "SYMBOL", + "name": "pp_else" + }, + { + "type": "SYMBOL", + "name": "pp_endif" + }, + { + "type": "SYMBOL", + "name": "pp_if" + }, + { + "type": "SYMBOL", + "name": "pp_elif" + }, + { + "type": "SYMBOL", + "name": "pp_define" + } + ] + }, + "pp_include": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "include" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'include'" + }, + "named": false, + "value": "include" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "file", + "content": { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "_include_detail" + } + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "pp_include_lib": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "include_lib" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'include_lib'" + }, + "named": false, + "value": "include_lib" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "file", + "content": { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "_include_detail" + } + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "pp_undef": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "undef" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'undef'" + }, + "named": false, + "value": "undef" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_macro_name" + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "pp_ifdef": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "ifdef" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'ifdef'" + }, + "named": false, + "value": "ifdef" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_macro_name" + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "pp_ifndef": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "ifndef" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'ifndef'" + }, + "named": false, + "value": "ifndef" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_macro_name" + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "pp_else": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "else" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'else'" + }, + "named": false, + "value": "else" + } + ] + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "pp_endif": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "endif" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'endif'" + }, + "named": false, + "value": "endif" + } + ] + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "pp_if": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "if" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'if'" + }, + "named": false, + "value": "if" + } + ] + }, + { + "type": "FIELD", + "name": "cond", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "pp_elif": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "elif" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'elif'" + }, + "named": false, + "value": "elif" + } + ] + }, + { + "type": "FIELD", + "name": "cond", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "pp_define": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "define" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'define'" + }, + "named": false, + "value": "define" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "macro_lhs" + } + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "replacement", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_macro_def_replacement" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "_include_detail": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "string" + }, + { + "type": "SYMBOL", + "name": "macro_call_expr" + } + ] + }, + "module_attribute": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "module" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'module'" + }, + "named": false, + "value": "module" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_name" + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "behaviour_attribute": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "behaviour" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'behaviour'" + }, + "named": false, + "value": "behaviour" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "behavior" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'behavior'" + }, + "named": false, + "value": "behavior" + } + ] + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_name" + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "export_attribute": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "export" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'export'" + }, + "named": false, + "value": "export" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "funs", + "content": { + "type": "SYMBOL", + "name": "fa" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "funs", + "content": { + "type": "SYMBOL", + "name": "fa" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "]" + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "import_attribute": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "import" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'import'" + }, + "named": false, + "value": "import" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "module", + "content": { + "type": "SYMBOL", + "name": "_name" + } + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "funs", + "content": { + "type": "SYMBOL", + "name": "fa" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "funs", + "content": { + "type": "SYMBOL", + "name": "fa" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "]" + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "optional_callbacks_attribute": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "optional_callbacks" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'optional_callbacks'" + }, + "named": false, + "value": "optional_callbacks" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "callbacks", + "content": { + "type": "SYMBOL", + "name": "fa" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "callbacks", + "content": { + "type": "SYMBOL", + "name": "fa" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "]" + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "fa": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "fun", + "content": { + "type": "SYMBOL", + "name": "_name" + } + }, + { + "type": "FIELD", + "name": "arity", + "content": { + "type": "SYMBOL", + "name": "arity" + } + } + ] + }, + "export_type_attribute": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "export_type" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'export_type'" + }, + "named": false, + "value": "export_type" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "types", + "content": { + "type": "SYMBOL", + "name": "fa" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "types", + "content": { + "type": "SYMBOL", + "name": "fa" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "]" + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "compile_options_attribute": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "compile" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'compile'" + }, + "named": false, + "value": "compile" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "options", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "file_attribute": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "file" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'file'" + }, + "named": false, + "value": "file" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "original_file", + "content": { + "type": "SYMBOL", + "name": "string" + } + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "original_line", + "content": { + "type": "SYMBOL", + "name": "integer" + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "type_alias": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "type" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'type'" + }, + "named": false, + "value": "type" + } + ] + }, + { + "type": "SYMBOL", + "name": "_type_def" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "opaque": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "opaque" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'opaque'" + }, + "named": false, + "value": "opaque" + } + ] + }, + { + "type": "SYMBOL", + "name": "_type_def" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "_type_def": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "type_name" + } + }, + { + "type": "STRING", + "value": "::" + }, + { + "type": "FIELD", + "name": "ty", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "type_name" + } + }, + { + "type": "STRING", + "value": "::" + }, + { + "type": "FIELD", + "name": "ty", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + }, + "type_name": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_name" + } + }, + { + "type": "FIELD", + "name": "args", + "content": { + "type": "SYMBOL", + "name": "var_args" + } + } + ] + }, + "record_decl": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "record" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'record'" + }, + "named": false, + "value": "record" + } + ] + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_name" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_record_tuple" + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "spec": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "spec" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'spec'" + }, + "named": false, + "value": "spec" + } + ] + }, + { + "type": "SYMBOL", + "name": "_spec_def" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "callback": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "callback" + }, + { + "type": "ALIAS", + "content": { + "type": "STRING", + "value": "'callback'" + }, + "named": false, + "value": "callback" + } + ] + }, + { + "type": "SYMBOL", + "name": "_spec_def" + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "_spec_def": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_spec_fun" + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "sigs", + "content": { + "type": "SYMBOL", + "name": "type_sig" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "sigs", + "content": { + "type": "SYMBOL", + "name": "type_sig" + } + } + ] + } + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "_spec_fun" + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "sigs", + "content": { + "type": "SYMBOL", + "name": "type_sig" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "sigs", + "content": { + "type": "SYMBOL", + "name": "type_sig" + } + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + }, + "_spec_fun": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "module", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "module" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "FIELD", + "name": "fun", + "content": { + "type": "SYMBOL", + "name": "_name" + } + } + ] + }, + "module": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_name" + } + }, + { + "type": "STRING", + "value": ":" + } + ] + }, + "wild_attribute": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "attr_name" + } + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "attr_name": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_name" + } + } + ] + }, + "fun_decl": { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "clauses", + "content": { + "type": "SYMBOL", + "name": "_function_or_macro_clause" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "clauses", + "content": { + "type": "SYMBOL", + "name": "_function_or_macro_clause" + } + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": "." + } + ] + }, + "type_sig": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "args", + "content": { + "type": "SYMBOL", + "name": "expr_args" + } + }, + { + "type": "STRING", + "value": "->" + }, + { + "type": "FIELD", + "name": "ty", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "guard", + "content": { + "type": "SYMBOL", + "name": "type_guards" + } + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "type_guards": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "when" + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "guards", + "content": { + "type": "SYMBOL", + "name": "ann_type" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "guards", + "content": { + "type": "SYMBOL", + "name": "ann_type" + } + } + ] + } + } + ] + } + ] + }, + "ann_type": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "var", + "content": { + "type": "SYMBOL", + "name": "ann_var" + } + }, + { + "type": "FIELD", + "name": "ty", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + }, + "ann_var": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "var", + "content": { + "type": "SYMBOL", + "name": "var" + } + }, + { + "type": "STRING", + "value": "::" + } + ] + } + }, + "pipe": { + "type": "PREC_RIGHT", + "value": 2, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "STRING", + "value": "|" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + }, + "fun_type": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "fun" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "sig", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "fun_type_sig" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "fun_type_sig": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "args", + "content": { + "type": "SYMBOL", + "name": "expr_args" + } + }, + { + "type": "STRING", + "value": "->" + }, + { + "type": "FIELD", + "name": "ty", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + }, + "range_type": { + "type": "PREC_LEFT", + "value": 6, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "STRING", + "value": ".." + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + }, + "_function_or_macro_clause": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "function_clause" + }, + { + "type": "SYMBOL", + "name": "macro_call_expr" + } + ] + }, + "function_clause": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_name" + } + }, + { + "type": "FIELD", + "name": "args", + "content": { + "type": "SYMBOL", + "name": "expr_args" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_clause_guard" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "clause_body" + } + } + ] + }, + "_clause_guard": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "when" + }, + { + "type": "FIELD", + "name": "guard", + "content": { + "type": "SYMBOL", + "name": "guard" + } + } + ] + }, + "clause_body": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "->" + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "exprs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "exprs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + } + ] + } + ] + } + }, + "_expr": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "ann_type" + }, + { + "type": "SYMBOL", + "name": "pipe" + }, + { + "type": "SYMBOL", + "name": "dotdotdot" + }, + { + "type": "SYMBOL", + "name": "range_type" + }, + { + "type": "SYMBOL", + "name": "catch_expr" + }, + { + "type": "SYMBOL", + "name": "binary_op_expr" + }, + { + "type": "SYMBOL", + "name": "match_expr" + }, + { + "type": "SYMBOL", + "name": "unary_op_expr" + }, + { + "type": "SYMBOL", + "name": "_map_expr" + }, + { + "type": "SYMBOL", + "name": "call" + }, + { + "type": "SYMBOL", + "name": "_record_expr" + }, + { + "type": "SYMBOL", + "name": "remote" + }, + { + "type": "SYMBOL", + "name": "_expr_max" + } + ] + }, + "dotdotdot": { + "type": "STRING", + "value": "..." + }, + "catch_expr": { + "type": "PREC", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "catch" + }, + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + }, + "match_expr": { + "type": "PREC_RIGHT", + "value": 12, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + } + ] + } + }, + "binary_op_expr": { + "type": "CHOICE", + "members": [ + { + "type": "PREC_RIGHT", + "value": 13, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "STRING", + "value": "!" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + }, + { + "type": "PREC_RIGHT", + "value": 14, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "STRING", + "value": "orelse" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + }, + { + "type": "PREC_RIGHT", + "value": 15, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "STRING", + "value": "andalso" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 17, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "SYMBOL", + "name": "_comp_op" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + }, + { + "type": "PREC_RIGHT", + "value": 16, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "SYMBOL", + "name": "_list_op" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 4, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "SYMBOL", + "name": "_add_op" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 4, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "SYMBOL", + "name": "_mult_op" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + } + ] + }, + "unary_op_expr": { + "type": "PREC", + "value": 3, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_prefix_op" + }, + { + "type": "FIELD", + "name": "operand", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + }, + "_expr_max": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "char" + }, + { + "type": "SYMBOL", + "name": "integer" + }, + { + "type": "SYMBOL", + "name": "atom" + }, + { + "type": "SYMBOL", + "name": "float" + }, + { + "type": "SYMBOL", + "name": "string" + }, + { + "type": "SYMBOL", + "name": "concatables" + }, + { + "type": "SYMBOL", + "name": "_macro_body_expr" + }, + { + "type": "SYMBOL", + "name": "var" + }, + { + "type": "SYMBOL", + "name": "list" + }, + { + "type": "SYMBOL", + "name": "binary" + }, + { + "type": "SYMBOL", + "name": "list_comprehension" + }, + { + "type": "SYMBOL", + "name": "binary_comprehension" + }, + { + "type": "SYMBOL", + "name": "tuple" + }, + { + "type": "SYMBOL", + "name": "paren_expr" + }, + { + "type": "SYMBOL", + "name": "block_expr" + }, + { + "type": "SYMBOL", + "name": "if_expr" + }, + { + "type": "SYMBOL", + "name": "case_expr" + }, + { + "type": "SYMBOL", + "name": "receive_expr" + }, + { + "type": "SYMBOL", + "name": "_fun_expr" + }, + { + "type": "SYMBOL", + "name": "try_expr" + } + ] + }, + "remote": { + "type": "PREC_RIGHT", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "module", + "content": { + "type": "SYMBOL", + "name": "remote_module" + } + }, + { + "type": "FIELD", + "name": "fun", + "content": { + "type": "SYMBOL", + "name": "_expr_max" + } + } + ] + } + }, + "remote_module": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "module", + "content": { + "type": "SYMBOL", + "name": "_expr_max" + } + }, + { + "type": "STRING", + "value": ":" + } + ] + } + }, + "paren_expr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "block_expr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "begin" + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "exprs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "exprs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": "end" + } + ] + }, + "list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "exprs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "exprs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "binary": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "<<" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "elements", + "content": { + "type": "SYMBOL", + "name": "bin_element" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "elements", + "content": { + "type": "SYMBOL", + "name": "bin_element" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ">>" + } + ] + }, + "bin_element": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "element", + "content": { + "type": "SYMBOL", + "name": "_bit_expr" + } + }, + { + "type": "FIELD", + "name": "size", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "bit_size_expr" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "FIELD", + "name": "types", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "bit_type_list" + }, + { + "type": "BLANK" + } + ] + } + } + ] + }, + "bit_size_expr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "size", + "content": { + "type": "SYMBOL", + "name": "_bit_expr" + } + } + ] + }, + "bit_type_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "/" + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "types", + "content": { + "type": "SYMBOL", + "name": "_bit_type" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "FIELD", + "name": "types", + "content": { + "type": "SYMBOL", + "name": "_bit_type" + } + } + ] + } + } + ] + } + ] + }, + "_bit_expr": { + "type": "PREC", + "value": 2, + "content": { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "unary_op_expr_max" + }, + "named": true, + "value": "unary_op_expr" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "binary_op_expr_max" + }, + "named": true, + "value": "binary_op_expr" + }, + { + "type": "SYMBOL", + "name": "_expr_max" + } + ] + } + }, + "unary_op_expr_max": { + "type": "PREC", + "value": 3, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_prefix_op" + }, + { + "type": "FIELD", + "name": "operand", + "content": { + "type": "SYMBOL", + "name": "_expr_max" + } + } + ] + } + }, + "binary_op_expr_max": { + "type": "PREC", + "value": 4, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_expr_max" + } + }, + { + "type": "STRING", + "value": "*" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_expr_max" + } + } + ] + } + }, + "_bit_type": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_name" + }, + { + "type": "SYMBOL", + "name": "bit_type_unit" + } + ] + }, + "bit_type_unit": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "unit" + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "size", + "content": { + "type": "SYMBOL", + "name": "_arity_value" + } + } + ] + }, + "list_comprehension": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "FIELD", + "name": "lc_exprs", + "content": { + "type": "SYMBOL", + "name": "lc_exprs" + } + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "binary_comprehension": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "<<" + }, + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_expr_max" + } + }, + { + "type": "FIELD", + "name": "lc_exprs", + "content": { + "type": "SYMBOL", + "name": "lc_exprs" + } + }, + { + "type": "STRING", + "value": ">>" + } + ] + }, + "lc_exprs": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "||" + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "exprs", + "content": { + "type": "SYMBOL", + "name": "_lc_expr" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "exprs", + "content": { + "type": "SYMBOL", + "name": "_lc_expr" + } + } + ] + } + } + ] + } + ] + }, + "_lc_expr": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expr" + }, + { + "type": "SYMBOL", + "name": "generator" + }, + { + "type": "SYMBOL", + "name": "b_generator" + } + ] + }, + "generator": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "STRING", + "value": "<-" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + }, + "b_generator": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "STRING", + "value": "<=" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + }, + "tuple": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "_map_expr": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "map_expr" + }, + { + "type": "SYMBOL", + "name": "map_expr_update" + } + ] + }, + "map_expr_update": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_map_expr_base" + } + }, + { + "type": "STRING", + "value": "#" + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "fields", + "content": { + "type": "SYMBOL", + "name": "map_field" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "fields", + "content": { + "type": "SYMBOL", + "name": "map_field" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + } + }, + "map_expr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "#" + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "fields", + "content": { + "type": "SYMBOL", + "name": "map_field" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "fields", + "content": { + "type": "SYMBOL", + "name": "map_field" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "_map_expr_base": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expr_max" + }, + { + "type": "SYMBOL", + "name": "_map_expr" + } + ] + }, + "map_field": { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "key", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "SYMBOL", + "name": "_map_field_op" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + }, + "_map_field_op": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "=>" + }, + { + "type": "STRING", + "value": ":=" + } + ] + }, + "_record_expr": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "record_index_expr" + }, + { + "type": "SYMBOL", + "name": "record_field_expr" + }, + { + "type": "SYMBOL", + "name": "record_update_expr" + }, + { + "type": "SYMBOL", + "name": "record_expr" + } + ] + }, + "record_index_expr": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "record_name" + } + }, + { + "type": "FIELD", + "name": "field", + "content": { + "type": "SYMBOL", + "name": "record_field_name" + } + } + ] + }, + "record_field_expr": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_record_expr_base" + } + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "record_name" + } + }, + { + "type": "FIELD", + "name": "field", + "content": { + "type": "SYMBOL", + "name": "record_field_name" + } + } + ] + } + }, + "record_update_expr": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_record_expr_base" + } + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "record_name" + } + }, + { + "type": "SYMBOL", + "name": "_record_tuple" + } + ] + } + }, + "record_expr": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "record_name" + } + }, + { + "type": "SYMBOL", + "name": "_record_tuple" + } + ] + }, + "record_name": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "#" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_name" + } + } + ] + }, + "record_field_name": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "." + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_name" + } + } + ] + }, + "_record_expr_base": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expr_max" + }, + { + "type": "SYMBOL", + "name": "_record_expr" + } + ] + }, + "_record_tuple": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "fields", + "content": { + "type": "SYMBOL", + "name": "record_field" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "fields", + "content": { + "type": "SYMBOL", + "name": "record_field" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "record_field": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_name" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "field_expr" + } + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "ty", + "content": { + "type": "SYMBOL", + "name": "field_type" + } + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "field_expr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + }, + "field_type": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "::" + }, + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + }, + "call": { + "type": "PREC", + "value": 80, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "FIELD", + "name": "args", + "content": { + "type": "SYMBOL", + "name": "expr_args" + } + } + ] + } + }, + "if_expr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "if" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "clauses", + "content": { + "type": "SYMBOL", + "name": "if_clause" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "clauses", + "content": { + "type": "SYMBOL", + "name": "if_clause" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "end" + } + ] + }, + "if_clause": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "guard", + "content": { + "type": "SYMBOL", + "name": "guard" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "clause_body" + } + } + ] + }, + "case_expr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "case" + }, + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "STRING", + "value": "of" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_cr_clauses" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "end" + } + ] + }, + "_cr_clauses": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "clauses", + "content": { + "type": "SYMBOL", + "name": "_cr_clause_or_macro" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "clauses", + "content": { + "type": "SYMBOL", + "name": "_cr_clause_or_macro" + } + } + ] + } + } + ] + }, + "_cr_clause_or_macro": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "cr_clause" + }, + { + "type": "SYMBOL", + "name": "macro_call_expr" + } + ] + }, + "cr_clause": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "pat", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_clause_guard" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "clause_body" + } + } + ] + }, + "receive_expr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "receive" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_cr_clauses" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "after", + "content": { + "type": "SYMBOL", + "name": "receive_after" + } + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "end" + } + ] + }, + "receive_after": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "after" + }, + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "clause_body" + } + } + ] + }, + "_fun_expr": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "internal_fun" + }, + { + "type": "SYMBOL", + "name": "external_fun" + }, + { + "type": "SYMBOL", + "name": "anonymous_fun" + }, + { + "type": "SYMBOL", + "name": "fun_type" + } + ] + }, + "internal_fun": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "fun" + }, + { + "type": "FIELD", + "name": "fun", + "content": { + "type": "SYMBOL", + "name": "_name" + } + }, + { + "type": "FIELD", + "name": "arity", + "content": { + "type": "SYMBOL", + "name": "arity" + } + } + ] + }, + "external_fun": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "fun" + }, + { + "type": "FIELD", + "name": "module", + "content": { + "type": "SYMBOL", + "name": "module" + } + }, + { + "type": "FIELD", + "name": "fun", + "content": { + "type": "SYMBOL", + "name": "_name" + } + }, + { + "type": "FIELD", + "name": "arity", + "content": { + "type": "SYMBOL", + "name": "arity" + } + } + ] + }, + "anonymous_fun": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "fun" + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "clauses", + "content": { + "type": "SYMBOL", + "name": "fun_clause" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "clauses", + "content": { + "type": "SYMBOL", + "name": "fun_clause" + } + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": "end" + } + ] + }, + "_macro_name": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "atom" + }, + { + "type": "SYMBOL", + "name": "var" + } + ] + }, + "_name": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "atom" + }, + { + "type": "SYMBOL", + "name": "var" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "macro_call_none" + }, + "named": true, + "value": "macro_call_expr" + } + ] + }, + "arity": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "/" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_arity_value" + } + } + ] + }, + "_arity_value": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "integer" + }, + { + "type": "SYMBOL", + "name": "var" + }, + { + "type": "SYMBOL", + "name": "macro_call_expr" + } + ] + }, + "fun_clauses": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "fun_clause" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "SYMBOL", + "name": "fun_clause" + } + ] + } + } + ] + }, + "fun_clause": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "var" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "FIELD", + "name": "args", + "content": { + "type": "SYMBOL", + "name": "expr_args" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_clause_guard" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "clause_body" + } + } + ] + }, + "try_expr": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "try" + }, + { + "type": "SYMBOL", + "name": "_exprs" + }, + { + "type": "STRING", + "value": "of" + }, + { + "type": "SYMBOL", + "name": "_cr_clauses" + }, + { + "type": "SYMBOL", + "name": "_try_catch" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "try" + }, + { + "type": "SYMBOL", + "name": "_exprs" + }, + { + "type": "SYMBOL", + "name": "_try_catch" + } + ] + } + ] + }, + "_try_catch": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "catch" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_catch_clauses" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "end" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "catch" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_catch_clauses" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "after", + "content": { + "type": "SYMBOL", + "name": "try_after" + } + }, + { + "type": "STRING", + "value": "end" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "after", + "content": { + "type": "SYMBOL", + "name": "try_after" + } + }, + { + "type": "STRING", + "value": "end" + } + ] + } + ] + }, + "try_after": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "after" + }, + { + "type": "SYMBOL", + "name": "_exprs" + } + ] + }, + "_catch_clauses": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "catch", + "content": { + "type": "SYMBOL", + "name": "catch_clause" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "catch", + "content": { + "type": "SYMBOL", + "name": "catch_clause" + } + } + ] + } + } + ] + }, + "catch_clause": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "pat", + "content": { + "type": "SYMBOL", + "name": "_catch_pat" + } + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "class", + "content": { + "type": "SYMBOL", + "name": "try_class" + } + }, + { + "type": "FIELD", + "name": "pat", + "content": { + "type": "SYMBOL", + "name": "_catch_pat" + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "class", + "content": { + "type": "SYMBOL", + "name": "try_class" + } + }, + { + "type": "FIELD", + "name": "pat", + "content": { + "type": "SYMBOL", + "name": "_catch_pat" + } + }, + { + "type": "FIELD", + "name": "stack", + "content": { + "type": "SYMBOL", + "name": "try_stack" + } + } + ] + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_clause_guard" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "clause_body" + } + } + ] + }, + "try_class": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "class", + "content": { + "type": "SYMBOL", + "name": "_name" + } + }, + { + "type": "STRING", + "value": ":" + } + ] + }, + "try_stack": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "class", + "content": { + "type": "SYMBOL", + "name": "var" + } + } + ] + }, + "_catch_pat": { + "type": "CHOICE", + "members": [ + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "binary_op_catch_pat" + }, + "named": true, + "value": "binary_op_expr" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "match_catch_pat" + }, + "named": true, + "value": "binary_op_expr" + }, + { + "type": "SYMBOL", + "name": "unary_op_expr" + }, + { + "type": "SYMBOL", + "name": "map_expr" + }, + { + "type": "SYMBOL", + "name": "record_index_expr" + }, + { + "type": "SYMBOL", + "name": "record_expr" + }, + { + "type": "SYMBOL", + "name": "_expr_max" + } + ] + }, + "match_catch_pat": { + "type": "PREC_RIGHT", + "value": 12, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_catch_pat" + } + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_catch_pat" + } + } + ] + } + }, + "binary_op_catch_pat": { + "type": "CHOICE", + "members": [ + { + "type": "PREC_LEFT", + "value": 17, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_catch_pat" + } + }, + { + "type": "SYMBOL", + "name": "_comp_op" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_catch_pat" + } + } + ] + } + }, + { + "type": "PREC_RIGHT", + "value": 16, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_catch_pat" + } + }, + { + "type": "SYMBOL", + "name": "_list_op" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_catch_pat" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 4, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_catch_pat" + } + }, + { + "type": "SYMBOL", + "name": "_add_op" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_catch_pat" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 4, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "lhs", + "content": { + "type": "SYMBOL", + "name": "_catch_pat" + } + }, + { + "type": "SYMBOL", + "name": "_mult_op" + }, + { + "type": "FIELD", + "name": "rhs", + "content": { + "type": "SYMBOL", + "name": "_catch_pat" + } + } + ] + } + } + ] + }, + "_macro_def_replacement": { + "type": "CHOICE", + "members": [ + { + "type": "PREC_DYNAMIC", + "value": 5, + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "PREC_DYNAMIC", + "value": 2, + "content": { + "type": "SYMBOL", + "name": "replacement_function_clauses" + } + }, + { + "type": "PREC_DYNAMIC", + "value": 1, + "content": { + "type": "SYMBOL", + "name": "replacement_cr_clauses" + } + }, + { + "type": "PREC_DYNAMIC", + "value": 3, + "content": { + "type": "SYMBOL", + "name": "replacement_guard_or" + } + }, + { + "type": "PREC_DYNAMIC", + "value": 4, + "content": { + "type": "SYMBOL", + "name": "replacement_guard_and" + } + }, + { + "type": "SYMBOL", + "name": "replacement_parens" + } + ] + }, + "replacement_function_clauses": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "clauses", + "content": { + "type": "SYMBOL", + "name": "_function_or_macro_clause" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "clauses", + "content": { + "type": "SYMBOL", + "name": "_function_or_macro_clause" + } + } + ] + } + } + ] + }, + "replacement_cr_clauses": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "clauses", + "content": { + "type": "SYMBOL", + "name": "_cr_clause_or_macro" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "clauses", + "content": { + "type": "SYMBOL", + "name": "_cr_clause_or_macro" + } + } + ] + } + } + ] + }, + "replacement_guard_or": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "guard", + "content": { + "type": "SYMBOL", + "name": "replacement_guard_and" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "guard", + "content": { + "type": "SYMBOL", + "name": "replacement_guard_and" + } + } + ] + } + } + ] + }, + "replacement_guard_and": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "guard", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "guard", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + } + ] + }, + "replacement_parens": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "macro_lhs": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_macro_name" + } + }, + { + "type": "FIELD", + "name": "args", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "var_args" + }, + { + "type": "BLANK" + } + ] + } + } + ] + }, + "_macro_body_expr": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "macro_string" + }, + { + "type": "SYMBOL", + "name": "macro_call_expr" + } + ] + }, + "macro_call_expr": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "?" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_macro_name" + } + }, + { + "type": "FIELD", + "name": "args", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "macro_call_args" + }, + { + "type": "BLANK" + } + ] + } + } + ] + } + }, + "macro_call_args": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "args", + "content": { + "type": "SYMBOL", + "name": "macro_expr" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "args", + "content": { + "type": "SYMBOL", + "name": "macro_expr" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "macro_call_none": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "?" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_macro_name" + } + } + ] + }, + "macro_string": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "?" + }, + { + "type": "STRING", + "value": "?" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_macro_name" + } + } + ] + }, + "macro_expr": { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "expr", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "STRING", + "value": "when" + }, + { + "type": "FIELD", + "name": "guard", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + ] + }, + "_exprs": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "exprs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "exprs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + } + ] + }, + "expr_args": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "args", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "args", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "var_args": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "args", + "content": { + "type": "SYMBOL", + "name": "var" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "args", + "content": { + "type": "SYMBOL", + "name": "var" + } + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "guard": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "clauses", + "content": { + "type": "SYMBOL", + "name": "guard_clause" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "clauses", + "content": { + "type": "SYMBOL", + "name": "guard_clause" + } + } + ] + } + } + ] + } + }, + "guard_clause": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "exprs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "exprs", + "content": { + "type": "SYMBOL", + "name": "_expr" + } + } + ] + } + } + ] + } + }, + "concatables": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "FIELD", + "name": "elems", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_concatable" + }, + { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "_concatable" + } + } + ] + } + } + }, + "_concatable": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "string" + }, + { + "type": "SYMBOL", + "name": "var" + }, + { + "type": "SYMBOL", + "name": "_macro_body_expr" + } + ] + }, + "_prefix_op": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "+" + }, + { + "type": "STRING", + "value": "-" + }, + { + "type": "STRING", + "value": "bnot" + }, + { + "type": "STRING", + "value": "not" + } + ] + }, + "_mult_op": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "/" + }, + { + "type": "STRING", + "value": "*" + }, + { + "type": "STRING", + "value": "div" + }, + { + "type": "STRING", + "value": "rem" + }, + { + "type": "STRING", + "value": "band" + }, + { + "type": "STRING", + "value": "and" + } + ] + }, + "_add_op": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "+" + }, + { + "type": "STRING", + "value": "-" + }, + { + "type": "STRING", + "value": "bor" + }, + { + "type": "STRING", + "value": "bxor" + }, + { + "type": "STRING", + "value": "bsl" + }, + { + "type": "STRING", + "value": "bsr" + }, + { + "type": "STRING", + "value": "or" + }, + { + "type": "STRING", + "value": "xor" + } + ] + }, + "_list_op": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "++" + }, + { + "type": "STRING", + "value": "--" + } + ] + }, + "_comp_op": { + "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": "=/=" + } + ] + }, + "var": { + "type": "TOKEN", + "content": { + "type": "PATTERN", + "value": "[_A-Z\\xC0-\\xD6\\xD8-\\xDE][_@a-zA-Z0-9\\xC0-\\xD6\\xD8-\\xDE\\xDF-\\xF6\\xF8-\\xFF]*" + } + }, + "integer": { + "type": "TOKEN", + "content": { + "type": "PATTERN", + "value": "\\d{1,2}#[0-9a-zA-Z](_?[0-9a-zA-Z])*|\\d(_?\\d)*" + } + }, + "float": { + "type": "TOKEN", + "content": { + "type": "PATTERN", + "value": "\\d(_?\\d)*\\.\\d(_?\\d)*([eE][+-]?\\d(_?\\d)*)?" + } + }, + "string": { + "type": "PATTERN", + "value": "\"([^\"\\\\]|\\\\([^x\\^]|[0-7]{1,3}|x[0-9a-fA-F]{2}|x\\{[0-9a-fA-F]+\\}|\\^.))*\"" + }, + "char": { + "type": "TOKEN", + "content": { + "type": "PATTERN", + "value": "\\$([^\\\\]|\\\\([0-7]{1,3}|x[0-9a-fA-F]{2}|x{[0-9a-fA-F]+}|\\^.|\\\\n|\\\\\\\\|.))" + } + }, + "atom": { + "type": "TOKEN", + "content": { + "type": "PATTERN", + "value": "([a-z\\xDF-\\xF6\\xF8-\\xFF][_@a-zA-Z0-9\\xC0-\\xD6\\xD8-\\xDE\\xDF-\\xF6\\xF8-\\xFF]*)|('([^'\\\\]|\\\\([^x\\^]|[0-7]{1,3}|x[0-9a-fA-F]{2}|x\\{[0-9a-fA-F]+\\}|\\^.))*')" + } + }, + "comment": { + "type": "TOKEN", + "content": { + "type": "PATTERN", + "value": "%[^\\n]*" + } + } + }, + "extras": [ + { + "type": "PATTERN", + "value": "[\\x01-\\x20\\x80-\\xA0]" + }, + { + "type": "SYMBOL", + "name": "comment" + } + ], + "conflicts": [ + [ + "_record_expr_base", + "_map_expr_base" + ], + [ + "macro_call_expr", + "macro_call_none" + ], + [ + "_expr_max", + "_concatable" + ], + [ + "_expr_max", + "_name" + ], + [ + "_function_or_macro_clause", + "_cr_clause_or_macro", + "_macro_body_expr" + ], + [ + "_macro_def_replacement", + "replacement_guard_and" + ], + [ + "_macro_def_replacement", + "replacement_guard_or" + ], + [ + "fun_type", + "expr_args" + ] + ], + "precedences": [ + + ], + "externals": [ + + ], + "inline": [ + "_fun_expr", + "_map_expr", + "_record_expr", + "_exprs", + "_catch_clauses" + ], + "supertypes": [ + "_form", + "_preprocessor_directive", + "_include_detail", + "_function_or_macro_clause", + "_macro_def_replacement", + "_arity_value", + "_concatable", + "_name", + "_macro_name", + "_lc_expr", + "_cr_clause_or_macro", + "_bit_type", + "_bit_expr", + "_map_expr_base", + "_record_expr_base", + "_expr", + "_expr_max", + "_catch_pat" + ], + "@generated": true +} \ No newline at end of file diff --git a/vendor/tree-sitter-erlang/src/node-types.json b/vendor/tree-sitter-erlang/src/node-types.json new file mode 100644 index 000000000..dc457fe74 --- /dev/null +++ b/vendor/tree-sitter-erlang/src/node-types.json @@ -0,0 +1,3231 @@ +[ + { + "type": "_arity_value", + "named": true, + "subtypes": [ + { + "type": "integer", + "named": true + }, + { + "type": "macro_call_expr", + "named": true + }, + { + "type": "var", + "named": true + } + ] + }, + { + "type": "_bit_expr", + "named": true, + "subtypes": [ + { + "type": "_expr_max", + "named": true + }, + { + "type": "binary_op_expr", + "named": true + }, + { + "type": "unary_op_expr", + "named": true + } + ] + }, + { + "type": "_bit_type", + "named": true, + "subtypes": [ + { + "type": "_name", + "named": true + }, + { + "type": "bit_type_unit", + "named": true + } + ] + }, + { + "type": "_catch_pat", + "named": true, + "subtypes": [ + { + "type": "_expr_max", + "named": true + }, + { + "type": "binary_op_expr", + "named": true + }, + { + "type": "map_expr", + "named": true + }, + { + "type": "record_expr", + "named": true + }, + { + "type": "record_index_expr", + "named": true + }, + { + "type": "unary_op_expr", + "named": true + } + ] + }, + { + "type": "_concatable", + "named": true, + "subtypes": [ + { + "type": "macro_call_expr", + "named": true + }, + { + "type": "macro_string", + "named": true + }, + { + "type": "string", + "named": true + }, + { + "type": "var", + "named": true + } + ] + }, + { + "type": "_cr_clause_or_macro", + "named": true, + "subtypes": [ + { + "type": "cr_clause", + "named": true + }, + { + "type": "macro_call_expr", + "named": true + } + ] + }, + { + "type": "_expr", + "named": true, + "subtypes": [ + { + "type": "_expr_max", + "named": true + }, + { + "type": "ann_type", + "named": true + }, + { + "type": "binary_op_expr", + "named": true + }, + { + "type": "call", + "named": true + }, + { + "type": "catch_expr", + "named": true + }, + { + "type": "dotdotdot", + "named": true + }, + { + "type": "map_expr", + "named": true + }, + { + "type": "map_expr_update", + "named": true + }, + { + "type": "match_expr", + "named": true + }, + { + "type": "pipe", + "named": true + }, + { + "type": "range_type", + "named": true + }, + { + "type": "record_expr", + "named": true + }, + { + "type": "record_field_expr", + "named": true + }, + { + "type": "record_index_expr", + "named": true + }, + { + "type": "record_update_expr", + "named": true + }, + { + "type": "remote", + "named": true + }, + { + "type": "unary_op_expr", + "named": true + } + ] + }, + { + "type": "_expr_max", + "named": true, + "subtypes": [ + { + "type": "anonymous_fun", + "named": true + }, + { + "type": "atom", + "named": true + }, + { + "type": "binary", + "named": true + }, + { + "type": "binary_comprehension", + "named": true + }, + { + "type": "block_expr", + "named": true + }, + { + "type": "case_expr", + "named": true + }, + { + "type": "char", + "named": true + }, + { + "type": "concatables", + "named": true + }, + { + "type": "external_fun", + "named": true + }, + { + "type": "float", + "named": true + }, + { + "type": "fun_type", + "named": true + }, + { + "type": "if_expr", + "named": true + }, + { + "type": "integer", + "named": true + }, + { + "type": "internal_fun", + "named": true + }, + { + "type": "list", + "named": true + }, + { + "type": "list_comprehension", + "named": true + }, + { + "type": "macro_call_expr", + "named": true + }, + { + "type": "macro_string", + "named": true + }, + { + "type": "paren_expr", + "named": true + }, + { + "type": "receive_expr", + "named": true + }, + { + "type": "string", + "named": true + }, + { + "type": "try_expr", + "named": true + }, + { + "type": "tuple", + "named": true + }, + { + "type": "var", + "named": true + } + ] + }, + { + "type": "_form", + "named": true, + "subtypes": [ + { + "type": "_preprocessor_directive", + "named": true + }, + { + "type": "behaviour_attribute", + "named": true + }, + { + "type": "callback", + "named": true + }, + { + "type": "compile_options_attribute", + "named": true + }, + { + "type": "export_attribute", + "named": true + }, + { + "type": "export_type_attribute", + "named": true + }, + { + "type": "file_attribute", + "named": true + }, + { + "type": "fun_decl", + "named": true + }, + { + "type": "import_attribute", + "named": true + }, + { + "type": "module_attribute", + "named": true + }, + { + "type": "opaque", + "named": true + }, + { + "type": "optional_callbacks_attribute", + "named": true + }, + { + "type": "record_decl", + "named": true + }, + { + "type": "spec", + "named": true + }, + { + "type": "type_alias", + "named": true + }, + { + "type": "wild_attribute", + "named": true + } + ] + }, + { + "type": "_function_or_macro_clause", + "named": true, + "subtypes": [ + { + "type": "function_clause", + "named": true + }, + { + "type": "macro_call_expr", + "named": true + } + ] + }, + { + "type": "_include_detail", + "named": true, + "subtypes": [ + { + "type": "macro_call_expr", + "named": true + }, + { + "type": "string", + "named": true + } + ] + }, + { + "type": "_lc_expr", + "named": true, + "subtypes": [ + { + "type": "_expr", + "named": true + }, + { + "type": "b_generator", + "named": true + }, + { + "type": "generator", + "named": true + } + ] + }, + { + "type": "_macro_def_replacement", + "named": true, + "subtypes": [ + { + "type": "_expr", + "named": true + }, + { + "type": "replacement_cr_clauses", + "named": true + }, + { + "type": "replacement_function_clauses", + "named": true + }, + { + "type": "replacement_guard_and", + "named": true + }, + { + "type": "replacement_guard_or", + "named": true + }, + { + "type": "replacement_parens", + "named": true + } + ] + }, + { + "type": "_macro_name", + "named": true, + "subtypes": [ + { + "type": "atom", + "named": true + }, + { + "type": "var", + "named": true + } + ] + }, + { + "type": "_map_expr_base", + "named": true, + "subtypes": [ + { + "type": "_expr_max", + "named": true + }, + { + "type": "map_expr", + "named": true + }, + { + "type": "map_expr_update", + "named": true + } + ] + }, + { + "type": "_name", + "named": true, + "subtypes": [ + { + "type": "atom", + "named": true + }, + { + "type": "macro_call_expr", + "named": true + }, + { + "type": "var", + "named": true + } + ] + }, + { + "type": "_preprocessor_directive", + "named": true, + "subtypes": [ + { + "type": "pp_define", + "named": true + }, + { + "type": "pp_elif", + "named": true + }, + { + "type": "pp_else", + "named": true + }, + { + "type": "pp_endif", + "named": true + }, + { + "type": "pp_if", + "named": true + }, + { + "type": "pp_ifdef", + "named": true + }, + { + "type": "pp_ifndef", + "named": true + }, + { + "type": "pp_include", + "named": true + }, + { + "type": "pp_include_lib", + "named": true + }, + { + "type": "pp_undef", + "named": true + } + ] + }, + { + "type": "_record_expr_base", + "named": true, + "subtypes": [ + { + "type": "_expr_max", + "named": true + }, + { + "type": "record_expr", + "named": true + }, + { + "type": "record_field_expr", + "named": true + }, + { + "type": "record_index_expr", + "named": true + }, + { + "type": "record_update_expr", + "named": true + } + ] + }, + { + "type": "ann_type", + "named": true, + "fields": { + "ty": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + }, + "var": { + "multiple": false, + "required": true, + "types": [ + { + "type": "ann_var", + "named": true + } + ] + } + } + }, + { + "type": "ann_var", + "named": true, + "fields": { + "var": { + "multiple": false, + "required": true, + "types": [ + { + "type": "var", + "named": true + } + ] + } + } + }, + { + "type": "anonymous_fun", + "named": true, + "fields": { + "clauses": { + "multiple": true, + "required": true, + "types": [ + { + "type": "fun_clause", + "named": true + } + ] + } + } + }, + { + "type": "arity", + "named": true, + "fields": { + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_arity_value", + "named": true + } + ] + } + } + }, + { + "type": "attr_name", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + } + } + }, + { + "type": "b_generator", + "named": true, + "fields": { + "lhs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + }, + "rhs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "behaviour_attribute", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + } + } + }, + { + "type": "bin_element", + "named": true, + "fields": { + "element": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_bit_expr", + "named": true + } + ] + }, + "size": { + "multiple": false, + "required": false, + "types": [ + { + "type": "bit_size_expr", + "named": true + } + ] + }, + "types": { + "multiple": false, + "required": false, + "types": [ + { + "type": "bit_type_list", + "named": true + } + ] + } + } + }, + { + "type": "binary", + "named": true, + "fields": { + "elements": { + "multiple": true, + "required": false, + "types": [ + { + "type": "bin_element", + "named": true + } + ] + } + } + }, + { + "type": "binary_comprehension", + "named": true, + "fields": { + "expr": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr_max", + "named": true + } + ] + }, + "lc_exprs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "lc_exprs", + "named": true + } + ] + } + } + }, + { + "type": "binary_op_expr", + "named": true, + "fields": { + "lhs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_catch_pat", + "named": true + }, + { + "type": "_expr", + "named": true + } + ] + }, + "rhs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_catch_pat", + "named": true + }, + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "bit_size_expr", + "named": true, + "fields": { + "size": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_bit_expr", + "named": true + } + ] + } + } + }, + { + "type": "bit_type_list", + "named": true, + "fields": { + "types": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_bit_type", + "named": true + } + ] + } + } + }, + { + "type": "bit_type_unit", + "named": true, + "fields": { + "size": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_arity_value", + "named": true + } + ] + } + } + }, + { + "type": "block_expr", + "named": true, + "fields": { + "exprs": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "call", + "named": true, + "fields": { + "args": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expr_args", + "named": true + } + ] + }, + "expr": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "callback", + "named": true, + "fields": { + "fun": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + }, + "module": { + "multiple": false, + "required": false, + "types": [ + { + "type": "module", + "named": true + } + ] + }, + "sigs": { + "multiple": true, + "required": true, + "types": [ + { + "type": "type_sig", + "named": true + } + ] + } + } + }, + { + "type": "case_expr", + "named": true, + "fields": { + "clauses": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_cr_clause_or_macro", + "named": true + } + ] + }, + "expr": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "catch_clause", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "clause_body", + "named": true + } + ] + }, + "class": { + "multiple": false, + "required": false, + "types": [ + { + "type": "try_class", + "named": true + } + ] + }, + "guard": { + "multiple": false, + "required": false, + "types": [ + { + "type": "guard", + "named": true + } + ] + }, + "pat": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_catch_pat", + "named": true + } + ] + }, + "stack": { + "multiple": false, + "required": false, + "types": [ + { + "type": "try_stack", + "named": true + } + ] + } + } + }, + { + "type": "catch_expr", + "named": true, + "fields": { + "expr": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "clause_body", + "named": true, + "fields": { + "exprs": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "compile_options_attribute", + "named": true, + "fields": { + "options": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "concatables", + "named": true, + "fields": { + "elems": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_concatable", + "named": true + } + ] + } + } + }, + { + "type": "cr_clause", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "clause_body", + "named": true + } + ] + }, + "guard": { + "multiple": false, + "required": false, + "types": [ + { + "type": "guard", + "named": true + } + ] + }, + "pat": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "export_attribute", + "named": true, + "fields": { + "funs": { + "multiple": true, + "required": false, + "types": [ + { + "type": "fa", + "named": true + } + ] + } + } + }, + { + "type": "export_type_attribute", + "named": true, + "fields": { + "types": { + "multiple": true, + "required": false, + "types": [ + { + "type": "fa", + "named": true + } + ] + } + } + }, + { + "type": "expr_args", + "named": true, + "fields": { + "args": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "external_fun", + "named": true, + "fields": { + "arity": { + "multiple": false, + "required": true, + "types": [ + { + "type": "arity", + "named": true + } + ] + }, + "fun": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + }, + "module": { + "multiple": false, + "required": true, + "types": [ + { + "type": "module", + "named": true + } + ] + } + } + }, + { + "type": "fa", + "named": true, + "fields": { + "arity": { + "multiple": false, + "required": true, + "types": [ + { + "type": "arity", + "named": true + } + ] + }, + "fun": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + } + } + }, + { + "type": "field_expr", + "named": true, + "fields": { + "expr": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "field_type", + "named": true, + "fields": { + "expr": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "file_attribute", + "named": true, + "fields": { + "original_file": { + "multiple": false, + "required": true, + "types": [ + { + "type": "string", + "named": true + } + ] + }, + "original_line": { + "multiple": false, + "required": true, + "types": [ + { + "type": "integer", + "named": true + } + ] + } + } + }, + { + "type": "fun_clause", + "named": true, + "fields": { + "args": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expr_args", + "named": true + } + ] + }, + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "clause_body", + "named": true + } + ] + }, + "guard": { + "multiple": false, + "required": false, + "types": [ + { + "type": "guard", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": false, + "types": [ + { + "type": "var", + "named": true + } + ] + } + } + }, + { + "type": "fun_decl", + "named": true, + "fields": { + "clauses": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_function_or_macro_clause", + "named": true + } + ] + } + } + }, + { + "type": "fun_type", + "named": true, + "fields": { + "sig": { + "multiple": false, + "required": false, + "types": [ + { + "type": "fun_type_sig", + "named": true + } + ] + } + } + }, + { + "type": "fun_type_sig", + "named": true, + "fields": { + "args": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expr_args", + "named": true + } + ] + }, + "ty": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "function_clause", + "named": true, + "fields": { + "args": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expr_args", + "named": true + } + ] + }, + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "clause_body", + "named": true + } + ] + }, + "guard": { + "multiple": false, + "required": false, + "types": [ + { + "type": "guard", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + } + } + }, + { + "type": "generator", + "named": true, + "fields": { + "lhs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + }, + "rhs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "guard", + "named": true, + "fields": { + "clauses": { + "multiple": true, + "required": true, + "types": [ + { + "type": "guard_clause", + "named": true + } + ] + } + } + }, + { + "type": "guard_clause", + "named": true, + "fields": { + "exprs": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "if_clause", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "clause_body", + "named": true + } + ] + }, + "guard": { + "multiple": false, + "required": true, + "types": [ + { + "type": "guard", + "named": true + } + ] + } + } + }, + { + "type": "if_expr", + "named": true, + "fields": { + "clauses": { + "multiple": true, + "required": false, + "types": [ + { + "type": "if_clause", + "named": true + } + ] + } + } + }, + { + "type": "import_attribute", + "named": true, + "fields": { + "funs": { + "multiple": true, + "required": false, + "types": [ + { + "type": "fa", + "named": true + } + ] + }, + "module": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + } + } + }, + { + "type": "internal_fun", + "named": true, + "fields": { + "arity": { + "multiple": false, + "required": true, + "types": [ + { + "type": "arity", + "named": true + } + ] + }, + "fun": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + } + } + }, + { + "type": "lc_exprs", + "named": true, + "fields": { + "exprs": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_lc_expr", + "named": true + } + ] + } + } + }, + { + "type": "list", + "named": true, + "fields": { + "exprs": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "list_comprehension", + "named": true, + "fields": { + "expr": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + }, + "lc_exprs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "lc_exprs", + "named": true + } + ] + } + } + }, + { + "type": "macro_call_args", + "named": true, + "fields": { + "args": { + "multiple": true, + "required": false, + "types": [ + { + "type": "macro_expr", + "named": true + } + ] + } + } + }, + { + "type": "macro_call_expr", + "named": true, + "fields": { + "args": { + "multiple": false, + "required": false, + "types": [ + { + "type": "macro_call_args", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_macro_name", + "named": true + } + ] + } + } + }, + { + "type": "macro_expr", + "named": true, + "fields": { + "expr": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + }, + "guard": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "macro_lhs", + "named": true, + "fields": { + "args": { + "multiple": false, + "required": false, + "types": [ + { + "type": "var_args", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_macro_name", + "named": true + } + ] + } + } + }, + { + "type": "macro_string", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_macro_name", + "named": true + } + ] + } + } + }, + { + "type": "map_expr", + "named": true, + "fields": { + "fields": { + "multiple": true, + "required": false, + "types": [ + { + "type": "map_field", + "named": true + } + ] + } + } + }, + { + "type": "map_expr_update", + "named": true, + "fields": { + "expr": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_map_expr_base", + "named": true + } + ] + }, + "fields": { + "multiple": true, + "required": false, + "types": [ + { + "type": "map_field", + "named": true + } + ] + } + } + }, + { + "type": "map_field", + "named": true, + "fields": { + "key": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "match_expr", + "named": true, + "fields": { + "lhs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + }, + "rhs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "module", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + } + } + }, + { + "type": "module_attribute", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + } + } + }, + { + "type": "opaque", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_name", + "named": true + } + ] + }, + "ty": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "optional_callbacks_attribute", + "named": true, + "fields": { + "callbacks": { + "multiple": true, + "required": false, + "types": [ + { + "type": "fa", + "named": true + } + ] + } + } + }, + { + "type": "paren_expr", + "named": true, + "fields": { + "expr": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "pipe", + "named": true, + "fields": { + "lhs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + }, + "rhs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "pp_define", + "named": true, + "fields": { + "lhs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "macro_lhs", + "named": true + } + ] + }, + "replacement": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_macro_def_replacement", + "named": true + } + ] + } + } + }, + { + "type": "pp_elif", + "named": true, + "fields": { + "cond": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "pp_else", + "named": true, + "fields": { + } + }, + { + "type": "pp_endif", + "named": true, + "fields": { + } + }, + { + "type": "pp_if", + "named": true, + "fields": { + "cond": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "pp_ifdef", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_macro_name", + "named": true + } + ] + } + } + }, + { + "type": "pp_ifndef", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_macro_name", + "named": true + } + ] + } + } + }, + { + "type": "pp_include", + "named": true, + "fields": { + "file": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_include_detail", + "named": true + } + ] + } + } + }, + { + "type": "pp_include_lib", + "named": true, + "fields": { + "file": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_include_detail", + "named": true + } + ] + } + } + }, + { + "type": "pp_undef", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_macro_name", + "named": true + } + ] + } + } + }, + { + "type": "range_type", + "named": true, + "fields": { + "lhs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + }, + "rhs": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "receive_after", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "clause_body", + "named": true + } + ] + }, + "expr": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "receive_expr", + "named": true, + "fields": { + "after": { + "multiple": false, + "required": false, + "types": [ + { + "type": "receive_after", + "named": true + } + ] + }, + "clauses": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_cr_clause_or_macro", + "named": true + } + ] + } + } + }, + { + "type": "record_decl", + "named": true, + "fields": { + "fields": { + "multiple": true, + "required": false, + "types": [ + { + "type": "record_field", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + } + } + }, + { + "type": "record_expr", + "named": true, + "fields": { + "fields": { + "multiple": true, + "required": false, + "types": [ + { + "type": "record_field", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "record_name", + "named": true + } + ] + } + } + }, + { + "type": "record_field", + "named": true, + "fields": { + "expr": { + "multiple": false, + "required": false, + "types": [ + { + "type": "field_expr", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + }, + "ty": { + "multiple": false, + "required": false, + "types": [ + { + "type": "field_type", + "named": true + } + ] + } + } + }, + { + "type": "record_field_expr", + "named": true, + "fields": { + "expr": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_record_expr_base", + "named": true + } + ] + }, + "field": { + "multiple": false, + "required": true, + "types": [ + { + "type": "record_field_name", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "record_name", + "named": true + } + ] + } + } + }, + { + "type": "record_field_name", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + } + } + }, + { + "type": "record_index_expr", + "named": true, + "fields": { + "field": { + "multiple": false, + "required": true, + "types": [ + { + "type": "record_field_name", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "record_name", + "named": true + } + ] + } + } + }, + { + "type": "record_name", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + } + } + }, + { + "type": "record_update_expr", + "named": true, + "fields": { + "expr": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_record_expr_base", + "named": true + } + ] + }, + "fields": { + "multiple": true, + "required": false, + "types": [ + { + "type": "record_field", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "record_name", + "named": true + } + ] + } + } + }, + { + "type": "remote", + "named": true, + "fields": { + "fun": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr_max", + "named": true + } + ] + }, + "module": { + "multiple": false, + "required": true, + "types": [ + { + "type": "remote_module", + "named": true + } + ] + } + } + }, + { + "type": "remote_module", + "named": true, + "fields": { + "module": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr_max", + "named": true + } + ] + } + } + }, + { + "type": "replacement_cr_clauses", + "named": true, + "fields": { + "clauses": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_cr_clause_or_macro", + "named": true + } + ] + } + } + }, + { + "type": "replacement_function_clauses", + "named": true, + "fields": { + "clauses": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_function_or_macro_clause", + "named": true + } + ] + } + } + }, + { + "type": "replacement_guard_and", + "named": true, + "fields": { + "guard": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "replacement_guard_or", + "named": true, + "fields": { + "guard": { + "multiple": true, + "required": true, + "types": [ + { + "type": "replacement_guard_and", + "named": true + } + ] + } + } + }, + { + "type": "replacement_parens", + "named": true, + "fields": { + } + }, + { + "type": "source_file", + "named": true, + "fields": { + "forms": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_form", + "named": true + } + ] + } + } + }, + { + "type": "spec", + "named": true, + "fields": { + "fun": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + }, + "module": { + "multiple": false, + "required": false, + "types": [ + { + "type": "module", + "named": true + } + ] + }, + "sigs": { + "multiple": true, + "required": true, + "types": [ + { + "type": "type_sig", + "named": true + } + ] + } + } + }, + { + "type": "try_after", + "named": true, + "fields": { + "exprs": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "try_class", + "named": true, + "fields": { + "class": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + } + } + }, + { + "type": "try_expr", + "named": true, + "fields": { + "after": { + "multiple": false, + "required": false, + "types": [ + { + "type": "try_after", + "named": true + } + ] + }, + "catch": { + "multiple": true, + "required": false, + "types": [ + { + "type": "catch_clause", + "named": true + } + ] + }, + "clauses": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_cr_clause_or_macro", + "named": true + } + ] + }, + "exprs": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "try_stack", + "named": true, + "fields": { + "class": { + "multiple": false, + "required": true, + "types": [ + { + "type": "var", + "named": true + } + ] + } + } + }, + { + "type": "tuple", + "named": true, + "fields": { + "expr": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "type_alias", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_name", + "named": true + } + ] + }, + "ty": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "type_guards", + "named": true, + "fields": { + "guards": { + "multiple": true, + "required": true, + "types": [ + { + "type": "ann_type", + "named": true + } + ] + } + } + }, + { + "type": "type_name", + "named": true, + "fields": { + "args": { + "multiple": false, + "required": true, + "types": [ + { + "type": "var_args", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_name", + "named": true + } + ] + } + } + }, + { + "type": "type_sig", + "named": true, + "fields": { + "args": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expr_args", + "named": true + } + ] + }, + "guard": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type_guards", + "named": true + } + ] + }, + "ty": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "unary_op_expr", + "named": true, + "fields": { + "operand": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "var_args", + "named": true, + "fields": { + "args": { + "multiple": true, + "required": false, + "types": [ + { + "type": "var", + "named": true + } + ] + } + } + }, + { + "type": "wild_attribute", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "attr_name", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expr", + "named": true + } + ] + } + } + }, + { + "type": "!", + "named": false + }, + { + "type": "#", + "named": false + }, + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "*", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "++", + "named": false + }, + { + "type": ",", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "--", + "named": false + }, + { + "type": "->", + "named": false + }, + { + "type": ".", + "named": false + }, + { + "type": "..", + "named": false + }, + { + "type": "/", + "named": false + }, + { + "type": "/=", + "named": false + }, + { + "type": ":", + "named": false + }, + { + "type": "::", + "named": false + }, + { + "type": ":=", + "named": false + }, + { + "type": ";", + "named": false + }, + { + "type": "<", + "named": false + }, + { + "type": "<-", + "named": false + }, + { + "type": "<<", + "named": false + }, + { + "type": "<=", + "named": false + }, + { + "type": "=", + "named": false + }, + { + "type": "=/=", + "named": false + }, + { + "type": "=:=", + "named": false + }, + { + "type": "=<", + "named": false + }, + { + "type": "==", + "named": false + }, + { + "type": "=>", + "named": false + }, + { + "type": ">", + "named": false + }, + { + "type": ">=", + "named": false + }, + { + "type": ">>", + "named": false + }, + { + "type": "?", + "named": false + }, + { + "type": "[", + "named": false + }, + { + "type": "]", + "named": false + }, + { + "type": "after", + "named": false + }, + { + "type": "and", + "named": false + }, + { + "type": "andalso", + "named": false + }, + { + "type": "atom", + "named": true + }, + { + "type": "band", + "named": false + }, + { + "type": "begin", + "named": false + }, + { + "type": "behavior", + "named": false + }, + { + "type": "behaviour", + "named": false + }, + { + "type": "bnot", + "named": false + }, + { + "type": "bor", + "named": false + }, + { + "type": "bsl", + "named": false + }, + { + "type": "bsr", + "named": false + }, + { + "type": "bxor", + "named": false + }, + { + "type": "callback", + "named": false + }, + { + "type": "case", + "named": false + }, + { + "type": "catch", + "named": false + }, + { + "type": "char", + "named": true + }, + { + "type": "comment", + "named": true + }, + { + "type": "compile", + "named": false + }, + { + "type": "define", + "named": false + }, + { + "type": "div", + "named": false + }, + { + "type": "dotdotdot", + "named": true + }, + { + "type": "elif", + "named": false + }, + { + "type": "else", + "named": false + }, + { + "type": "end", + "named": false + }, + { + "type": "endif", + "named": false + }, + { + "type": "export", + "named": false + }, + { + "type": "export_type", + "named": false + }, + { + "type": "file", + "named": false + }, + { + "type": "float", + "named": true + }, + { + "type": "fun", + "named": false + }, + { + "type": "if", + "named": false + }, + { + "type": "ifdef", + "named": false + }, + { + "type": "ifndef", + "named": false + }, + { + "type": "import", + "named": false + }, + { + "type": "include", + "named": false + }, + { + "type": "include_lib", + "named": false + }, + { + "type": "integer", + "named": true + }, + { + "type": "module", + "named": false + }, + { + "type": "not", + "named": false + }, + { + "type": "of", + "named": false + }, + { + "type": "opaque", + "named": false + }, + { + "type": "optional_callbacks", + "named": false + }, + { + "type": "or", + "named": false + }, + { + "type": "orelse", + "named": false + }, + { + "type": "receive", + "named": false + }, + { + "type": "record", + "named": false + }, + { + "type": "rem", + "named": false + }, + { + "type": "spec", + "named": false + }, + { + "type": "string", + "named": true + }, + { + "type": "try", + "named": false + }, + { + "type": "type", + "named": false + }, + { + "type": "undef", + "named": false + }, + { + "type": "unit", + "named": false + }, + { + "type": "var", + "named": true + }, + { + "type": "when", + "named": false + }, + { + "type": "xor", + "named": false + }, + { + "type": "{", + "named": false + }, + { + "type": "|", + "named": false + }, + { + "type": "||", + "named": false + }, + { + "type": "}", + "named": false + }, + { + "@generated": true + } +] \ No newline at end of file diff --git a/vendor/tree-sitter-erlang/src/parser.c b/vendor/tree-sitter-erlang/src/parser.c new file mode 100644 index 000000000..eea6a3d26 --- /dev/null +++ b/vendor/tree-sitter-erlang/src/parser.c @@ -0,0 +1,45866 @@ +// @generated + +#include + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wmissing-field-initializers" +#endif + +#define LANGUAGE_VERSION 14 +#define STATE_COUNT 1076 +#define LARGE_STATE_COUNT 161 +#define SYMBOL_COUNT 289 +#define ALIAS_COUNT 0 +#define TOKEN_COUNT 121 +#define EXTERNAL_TOKEN_COUNT 0 +#define FIELD_COUNT 42 +#define MAX_ALIAS_SEQUENCE_LENGTH 11 +#define PRODUCTION_ID_COUNT 141 + +enum { + sym_atom = 1, + anon_sym_DASH = 2, + anon_sym_include = 3, + anon_sym_SQUOTEinclude_SQUOTE = 4, + anon_sym_LPAREN = 5, + anon_sym_RPAREN = 6, + anon_sym_DOT = 7, + anon_sym_include_lib = 8, + anon_sym_SQUOTEinclude_lib_SQUOTE = 9, + anon_sym_undef = 10, + anon_sym_SQUOTEundef_SQUOTE = 11, + anon_sym_ifdef = 12, + anon_sym_SQUOTEifdef_SQUOTE = 13, + anon_sym_ifndef = 14, + anon_sym_SQUOTEifndef_SQUOTE = 15, + anon_sym_else = 16, + anon_sym_SQUOTEelse_SQUOTE = 17, + anon_sym_endif = 18, + anon_sym_SQUOTEendif_SQUOTE = 19, + anon_sym_if = 20, + anon_sym_SQUOTEif_SQUOTE = 21, + anon_sym_elif = 22, + anon_sym_SQUOTEelif_SQUOTE = 23, + anon_sym_define = 24, + anon_sym_SQUOTEdefine_SQUOTE = 25, + anon_sym_COMMA = 26, + anon_sym_module = 27, + anon_sym_SQUOTEmodule_SQUOTE = 28, + anon_sym_behaviour = 29, + anon_sym_SQUOTEbehaviour_SQUOTE = 30, + anon_sym_behavior = 31, + anon_sym_SQUOTEbehavior_SQUOTE = 32, + anon_sym_export = 33, + anon_sym_SQUOTEexport_SQUOTE = 34, + anon_sym_LBRACK = 35, + anon_sym_RBRACK = 36, + anon_sym_import = 37, + anon_sym_SQUOTEimport_SQUOTE = 38, + anon_sym_optional_callbacks = 39, + anon_sym_SQUOTEoptional_callbacks_SQUOTE = 40, + anon_sym_export_type = 41, + anon_sym_SQUOTEexport_type_SQUOTE = 42, + anon_sym_compile = 43, + anon_sym_SQUOTEcompile_SQUOTE = 44, + anon_sym_file = 45, + anon_sym_SQUOTEfile_SQUOTE = 46, + anon_sym_type = 47, + anon_sym_SQUOTEtype_SQUOTE = 48, + anon_sym_opaque = 49, + anon_sym_SQUOTEopaque_SQUOTE = 50, + anon_sym_COLON_COLON = 51, + anon_sym_record = 52, + anon_sym_SQUOTErecord_SQUOTE = 53, + anon_sym_spec = 54, + anon_sym_SQUOTEspec_SQUOTE = 55, + anon_sym_callback = 56, + anon_sym_SQUOTEcallback_SQUOTE = 57, + anon_sym_SEMI = 58, + anon_sym_COLON = 59, + anon_sym_DASH_GT = 60, + anon_sym_when = 61, + anon_sym_PIPE = 62, + anon_sym_fun = 63, + anon_sym_DOT_DOT = 64, + sym_dotdotdot = 65, + anon_sym_catch = 66, + anon_sym_EQ = 67, + anon_sym_BANG = 68, + anon_sym_orelse = 69, + anon_sym_andalso = 70, + anon_sym_begin = 71, + anon_sym_end = 72, + anon_sym_LT_LT = 73, + anon_sym_GT_GT = 74, + anon_sym_SLASH = 75, + anon_sym_STAR = 76, + anon_sym_unit = 77, + anon_sym_PIPE_PIPE = 78, + anon_sym_LT_DASH = 79, + anon_sym_LT_EQ = 80, + anon_sym_LBRACE = 81, + anon_sym_RBRACE = 82, + anon_sym_POUND = 83, + anon_sym_EQ_GT = 84, + anon_sym_COLON_EQ = 85, + anon_sym_case = 86, + anon_sym_of = 87, + anon_sym_receive = 88, + anon_sym_after = 89, + anon_sym_try = 90, + anon_sym_QMARK = 91, + anon_sym_PLUS = 92, + anon_sym_bnot = 93, + anon_sym_not = 94, + anon_sym_div = 95, + anon_sym_rem = 96, + anon_sym_band = 97, + anon_sym_and = 98, + anon_sym_bor = 99, + anon_sym_bxor = 100, + anon_sym_bsl = 101, + anon_sym_bsr = 102, + anon_sym_or = 103, + anon_sym_xor = 104, + anon_sym_PLUS_PLUS = 105, + anon_sym_DASH_DASH = 106, + anon_sym_EQ_EQ = 107, + anon_sym_SLASH_EQ = 108, + anon_sym_EQ_LT = 109, + anon_sym_LT = 110, + anon_sym_GT_EQ = 111, + anon_sym_GT = 112, + anon_sym_EQ_COLON_EQ = 113, + anon_sym_EQ_SLASH_EQ = 114, + sym_var = 115, + sym_integer = 116, + sym_float = 117, + sym_string = 118, + sym_char = 119, + sym_comment = 120, + sym_source_file = 121, + sym__form = 122, + sym__preprocessor_directive = 123, + sym_pp_include = 124, + sym_pp_include_lib = 125, + sym_pp_undef = 126, + sym_pp_ifdef = 127, + sym_pp_ifndef = 128, + sym_pp_else = 129, + sym_pp_endif = 130, + sym_pp_if = 131, + sym_pp_elif = 132, + sym_pp_define = 133, + sym__include_detail = 134, + sym_module_attribute = 135, + sym_behaviour_attribute = 136, + sym_export_attribute = 137, + sym_import_attribute = 138, + sym_optional_callbacks_attribute = 139, + sym_fa = 140, + sym_export_type_attribute = 141, + sym_compile_options_attribute = 142, + sym_file_attribute = 143, + sym_type_alias = 144, + sym_opaque = 145, + sym__type_def = 146, + sym_type_name = 147, + sym_record_decl = 148, + sym_spec = 149, + sym_callback = 150, + sym__spec_def = 151, + sym__spec_fun = 152, + sym_module = 153, + sym_wild_attribute = 154, + sym_attr_name = 155, + sym_fun_decl = 156, + sym_type_sig = 157, + sym_type_guards = 158, + sym_ann_type = 159, + sym_ann_var = 160, + sym_pipe = 161, + sym_fun_type = 162, + sym_fun_type_sig = 163, + sym_range_type = 164, + sym__function_or_macro_clause = 165, + sym_function_clause = 166, + sym__clause_guard = 167, + sym_clause_body = 168, + sym__expr = 169, + sym_catch_expr = 170, + sym_match_expr = 171, + sym_binary_op_expr = 172, + sym_unary_op_expr = 173, + sym__expr_max = 174, + sym_remote = 175, + sym_remote_module = 176, + sym_paren_expr = 177, + sym_block_expr = 178, + sym_list = 179, + sym_binary = 180, + sym_bin_element = 181, + sym_bit_size_expr = 182, + sym_bit_type_list = 183, + sym__bit_expr = 184, + sym_unary_op_expr_max = 185, + sym_binary_op_expr_max = 186, + sym__bit_type = 187, + sym_bit_type_unit = 188, + sym_list_comprehension = 189, + sym_binary_comprehension = 190, + sym_lc_exprs = 191, + sym__lc_expr = 192, + sym_generator = 193, + sym_b_generator = 194, + sym_tuple = 195, + sym_map_expr_update = 196, + sym_map_expr = 197, + sym__map_expr_base = 198, + sym_map_field = 199, + sym__map_field_op = 200, + sym_record_index_expr = 201, + sym_record_field_expr = 202, + sym_record_update_expr = 203, + sym_record_expr = 204, + sym_record_name = 205, + sym_record_field_name = 206, + sym__record_expr_base = 207, + sym__record_tuple = 208, + sym_record_field = 209, + sym_field_expr = 210, + sym_field_type = 211, + sym_call = 212, + sym_if_expr = 213, + sym_if_clause = 214, + sym_case_expr = 215, + sym__cr_clauses = 216, + sym__cr_clause_or_macro = 217, + sym_cr_clause = 218, + sym_receive_expr = 219, + sym_receive_after = 220, + sym_internal_fun = 221, + sym_external_fun = 222, + sym_anonymous_fun = 223, + sym__macro_name = 224, + sym__name = 225, + sym_arity = 226, + sym__arity_value = 227, + sym_fun_clause = 228, + sym_try_expr = 229, + sym__try_catch = 230, + sym_try_after = 231, + sym_catch_clause = 232, + sym_try_class = 233, + sym_try_stack = 234, + sym__catch_pat = 235, + sym_match_catch_pat = 236, + sym_binary_op_catch_pat = 237, + sym__macro_def_replacement = 238, + sym_replacement_function_clauses = 239, + sym_replacement_cr_clauses = 240, + sym_replacement_guard_or = 241, + sym_replacement_guard_and = 242, + sym_replacement_parens = 243, + sym_macro_lhs = 244, + sym__macro_body_expr = 245, + sym_macro_call_expr = 246, + sym_macro_call_args = 247, + sym_macro_call_none = 248, + sym_macro_string = 249, + sym_macro_expr = 250, + sym_expr_args = 251, + sym_var_args = 252, + sym_guard = 253, + sym_guard_clause = 254, + sym_concatables = 255, + sym__concatable = 256, + sym__prefix_op = 257, + sym__mult_op = 258, + sym__add_op = 259, + sym__list_op = 260, + sym__comp_op = 261, + aux_sym_source_file_repeat1 = 262, + aux_sym_pp_include_repeat1 = 263, + aux_sym_export_attribute_repeat1 = 264, + aux_sym_optional_callbacks_attribute_repeat1 = 265, + aux_sym_export_type_attribute_repeat1 = 266, + aux_sym__spec_def_repeat1 = 267, + aux_sym_fun_decl_repeat1 = 268, + aux_sym_type_guards_repeat1 = 269, + aux_sym_clause_body_repeat1 = 270, + aux_sym_binary_repeat1 = 271, + aux_sym_bit_type_list_repeat1 = 272, + aux_sym_lc_exprs_repeat1 = 273, + aux_sym_tuple_repeat1 = 274, + aux_sym_map_expr_update_repeat1 = 275, + aux_sym__record_tuple_repeat1 = 276, + aux_sym_if_expr_repeat1 = 277, + aux_sym__cr_clauses_repeat1 = 278, + aux_sym_anonymous_fun_repeat1 = 279, + aux_sym__catch_clauses_repeat1 = 280, + aux_sym_replacement_function_clauses_repeat1 = 281, + aux_sym_replacement_guard_or_repeat1 = 282, + aux_sym_replacement_guard_and_repeat1 = 283, + aux_sym_macro_call_args_repeat1 = 284, + aux_sym_expr_args_repeat1 = 285, + aux_sym_var_args_repeat1 = 286, + aux_sym_guard_repeat1 = 287, + aux_sym_concatables_repeat1 = 288, +}; + +static const char * const ts_symbol_names[] = { + [ts_builtin_sym_end] = "end", + [sym_atom] = "atom", + [anon_sym_DASH] = "-", + [anon_sym_include] = "include", + [anon_sym_SQUOTEinclude_SQUOTE] = "include", + [anon_sym_LPAREN] = "(", + [anon_sym_RPAREN] = ")", + [anon_sym_DOT] = ".", + [anon_sym_include_lib] = "include_lib", + [anon_sym_SQUOTEinclude_lib_SQUOTE] = "include_lib", + [anon_sym_undef] = "undef", + [anon_sym_SQUOTEundef_SQUOTE] = "undef", + [anon_sym_ifdef] = "ifdef", + [anon_sym_SQUOTEifdef_SQUOTE] = "ifdef", + [anon_sym_ifndef] = "ifndef", + [anon_sym_SQUOTEifndef_SQUOTE] = "ifndef", + [anon_sym_else] = "else", + [anon_sym_SQUOTEelse_SQUOTE] = "else", + [anon_sym_endif] = "endif", + [anon_sym_SQUOTEendif_SQUOTE] = "endif", + [anon_sym_if] = "if", + [anon_sym_SQUOTEif_SQUOTE] = "if", + [anon_sym_elif] = "elif", + [anon_sym_SQUOTEelif_SQUOTE] = "elif", + [anon_sym_define] = "define", + [anon_sym_SQUOTEdefine_SQUOTE] = "define", + [anon_sym_COMMA] = ",", + [anon_sym_module] = "module", + [anon_sym_SQUOTEmodule_SQUOTE] = "module", + [anon_sym_behaviour] = "behaviour", + [anon_sym_SQUOTEbehaviour_SQUOTE] = "behaviour", + [anon_sym_behavior] = "behavior", + [anon_sym_SQUOTEbehavior_SQUOTE] = "behavior", + [anon_sym_export] = "export", + [anon_sym_SQUOTEexport_SQUOTE] = "export", + [anon_sym_LBRACK] = "[", + [anon_sym_RBRACK] = "]", + [anon_sym_import] = "import", + [anon_sym_SQUOTEimport_SQUOTE] = "import", + [anon_sym_optional_callbacks] = "optional_callbacks", + [anon_sym_SQUOTEoptional_callbacks_SQUOTE] = "optional_callbacks", + [anon_sym_export_type] = "export_type", + [anon_sym_SQUOTEexport_type_SQUOTE] = "export_type", + [anon_sym_compile] = "compile", + [anon_sym_SQUOTEcompile_SQUOTE] = "compile", + [anon_sym_file] = "file", + [anon_sym_SQUOTEfile_SQUOTE] = "file", + [anon_sym_type] = "type", + [anon_sym_SQUOTEtype_SQUOTE] = "type", + [anon_sym_opaque] = "opaque", + [anon_sym_SQUOTEopaque_SQUOTE] = "opaque", + [anon_sym_COLON_COLON] = "::", + [anon_sym_record] = "record", + [anon_sym_SQUOTErecord_SQUOTE] = "record", + [anon_sym_spec] = "spec", + [anon_sym_SQUOTEspec_SQUOTE] = "spec", + [anon_sym_callback] = "callback", + [anon_sym_SQUOTEcallback_SQUOTE] = "callback", + [anon_sym_SEMI] = ";", + [anon_sym_COLON] = ":", + [anon_sym_DASH_GT] = "->", + [anon_sym_when] = "when", + [anon_sym_PIPE] = "|", + [anon_sym_fun] = "fun", + [anon_sym_DOT_DOT] = "..", + [sym_dotdotdot] = "dotdotdot", + [anon_sym_catch] = "catch", + [anon_sym_EQ] = "=", + [anon_sym_BANG] = "!", + [anon_sym_orelse] = "orelse", + [anon_sym_andalso] = "andalso", + [anon_sym_begin] = "begin", + [anon_sym_end] = "end", + [anon_sym_LT_LT] = "<<", + [anon_sym_GT_GT] = ">>", + [anon_sym_SLASH] = "/", + [anon_sym_STAR] = "*", + [anon_sym_unit] = "unit", + [anon_sym_PIPE_PIPE] = "||", + [anon_sym_LT_DASH] = "<-", + [anon_sym_LT_EQ] = "<=", + [anon_sym_LBRACE] = "{", + [anon_sym_RBRACE] = "}", + [anon_sym_POUND] = "#", + [anon_sym_EQ_GT] = "=>", + [anon_sym_COLON_EQ] = ":=", + [anon_sym_case] = "case", + [anon_sym_of] = "of", + [anon_sym_receive] = "receive", + [anon_sym_after] = "after", + [anon_sym_try] = "try", + [anon_sym_QMARK] = "\?", + [anon_sym_PLUS] = "+", + [anon_sym_bnot] = "bnot", + [anon_sym_not] = "not", + [anon_sym_div] = "div", + [anon_sym_rem] = "rem", + [anon_sym_band] = "band", + [anon_sym_and] = "and", + [anon_sym_bor] = "bor", + [anon_sym_bxor] = "bxor", + [anon_sym_bsl] = "bsl", + [anon_sym_bsr] = "bsr", + [anon_sym_or] = "or", + [anon_sym_xor] = "xor", + [anon_sym_PLUS_PLUS] = "++", + [anon_sym_DASH_DASH] = "--", + [anon_sym_EQ_EQ] = "==", + [anon_sym_SLASH_EQ] = "/=", + [anon_sym_EQ_LT] = "=<", + [anon_sym_LT] = "<", + [anon_sym_GT_EQ] = ">=", + [anon_sym_GT] = ">", + [anon_sym_EQ_COLON_EQ] = "=:=", + [anon_sym_EQ_SLASH_EQ] = "=/=", + [sym_var] = "var", + [sym_integer] = "integer", + [sym_float] = "float", + [sym_string] = "string", + [sym_char] = "char", + [sym_comment] = "comment", + [sym_source_file] = "source_file", + [sym__form] = "_form", + [sym__preprocessor_directive] = "_preprocessor_directive", + [sym_pp_include] = "pp_include", + [sym_pp_include_lib] = "pp_include_lib", + [sym_pp_undef] = "pp_undef", + [sym_pp_ifdef] = "pp_ifdef", + [sym_pp_ifndef] = "pp_ifndef", + [sym_pp_else] = "pp_else", + [sym_pp_endif] = "pp_endif", + [sym_pp_if] = "pp_if", + [sym_pp_elif] = "pp_elif", + [sym_pp_define] = "pp_define", + [sym__include_detail] = "_include_detail", + [sym_module_attribute] = "module_attribute", + [sym_behaviour_attribute] = "behaviour_attribute", + [sym_export_attribute] = "export_attribute", + [sym_import_attribute] = "import_attribute", + [sym_optional_callbacks_attribute] = "optional_callbacks_attribute", + [sym_fa] = "fa", + [sym_export_type_attribute] = "export_type_attribute", + [sym_compile_options_attribute] = "compile_options_attribute", + [sym_file_attribute] = "file_attribute", + [sym_type_alias] = "type_alias", + [sym_opaque] = "opaque", + [sym__type_def] = "_type_def", + [sym_type_name] = "type_name", + [sym_record_decl] = "record_decl", + [sym_spec] = "spec", + [sym_callback] = "callback", + [sym__spec_def] = "_spec_def", + [sym__spec_fun] = "_spec_fun", + [sym_module] = "module", + [sym_wild_attribute] = "wild_attribute", + [sym_attr_name] = "attr_name", + [sym_fun_decl] = "fun_decl", + [sym_type_sig] = "type_sig", + [sym_type_guards] = "type_guards", + [sym_ann_type] = "ann_type", + [sym_ann_var] = "ann_var", + [sym_pipe] = "pipe", + [sym_fun_type] = "fun_type", + [sym_fun_type_sig] = "fun_type_sig", + [sym_range_type] = "range_type", + [sym__function_or_macro_clause] = "_function_or_macro_clause", + [sym_function_clause] = "function_clause", + [sym__clause_guard] = "_clause_guard", + [sym_clause_body] = "clause_body", + [sym__expr] = "_expr", + [sym_catch_expr] = "catch_expr", + [sym_match_expr] = "match_expr", + [sym_binary_op_expr] = "binary_op_expr", + [sym_unary_op_expr] = "unary_op_expr", + [sym__expr_max] = "_expr_max", + [sym_remote] = "remote", + [sym_remote_module] = "remote_module", + [sym_paren_expr] = "paren_expr", + [sym_block_expr] = "block_expr", + [sym_list] = "list", + [sym_binary] = "binary", + [sym_bin_element] = "bin_element", + [sym_bit_size_expr] = "bit_size_expr", + [sym_bit_type_list] = "bit_type_list", + [sym__bit_expr] = "_bit_expr", + [sym_unary_op_expr_max] = "unary_op_expr", + [sym_binary_op_expr_max] = "binary_op_expr", + [sym__bit_type] = "_bit_type", + [sym_bit_type_unit] = "bit_type_unit", + [sym_list_comprehension] = "list_comprehension", + [sym_binary_comprehension] = "binary_comprehension", + [sym_lc_exprs] = "lc_exprs", + [sym__lc_expr] = "_lc_expr", + [sym_generator] = "generator", + [sym_b_generator] = "b_generator", + [sym_tuple] = "tuple", + [sym_map_expr_update] = "map_expr_update", + [sym_map_expr] = "map_expr", + [sym__map_expr_base] = "_map_expr_base", + [sym_map_field] = "map_field", + [sym__map_field_op] = "_map_field_op", + [sym_record_index_expr] = "record_index_expr", + [sym_record_field_expr] = "record_field_expr", + [sym_record_update_expr] = "record_update_expr", + [sym_record_expr] = "record_expr", + [sym_record_name] = "record_name", + [sym_record_field_name] = "record_field_name", + [sym__record_expr_base] = "_record_expr_base", + [sym__record_tuple] = "_record_tuple", + [sym_record_field] = "record_field", + [sym_field_expr] = "field_expr", + [sym_field_type] = "field_type", + [sym_call] = "call", + [sym_if_expr] = "if_expr", + [sym_if_clause] = "if_clause", + [sym_case_expr] = "case_expr", + [sym__cr_clauses] = "_cr_clauses", + [sym__cr_clause_or_macro] = "_cr_clause_or_macro", + [sym_cr_clause] = "cr_clause", + [sym_receive_expr] = "receive_expr", + [sym_receive_after] = "receive_after", + [sym_internal_fun] = "internal_fun", + [sym_external_fun] = "external_fun", + [sym_anonymous_fun] = "anonymous_fun", + [sym__macro_name] = "_macro_name", + [sym__name] = "_name", + [sym_arity] = "arity", + [sym__arity_value] = "_arity_value", + [sym_fun_clause] = "fun_clause", + [sym_try_expr] = "try_expr", + [sym__try_catch] = "_try_catch", + [sym_try_after] = "try_after", + [sym_catch_clause] = "catch_clause", + [sym_try_class] = "try_class", + [sym_try_stack] = "try_stack", + [sym__catch_pat] = "_catch_pat", + [sym_match_catch_pat] = "binary_op_expr", + [sym_binary_op_catch_pat] = "binary_op_expr", + [sym__macro_def_replacement] = "_macro_def_replacement", + [sym_replacement_function_clauses] = "replacement_function_clauses", + [sym_replacement_cr_clauses] = "replacement_cr_clauses", + [sym_replacement_guard_or] = "replacement_guard_or", + [sym_replacement_guard_and] = "replacement_guard_and", + [sym_replacement_parens] = "replacement_parens", + [sym_macro_lhs] = "macro_lhs", + [sym__macro_body_expr] = "_macro_body_expr", + [sym_macro_call_expr] = "macro_call_expr", + [sym_macro_call_args] = "macro_call_args", + [sym_macro_call_none] = "macro_call_expr", + [sym_macro_string] = "macro_string", + [sym_macro_expr] = "macro_expr", + [sym_expr_args] = "expr_args", + [sym_var_args] = "var_args", + [sym_guard] = "guard", + [sym_guard_clause] = "guard_clause", + [sym_concatables] = "concatables", + [sym__concatable] = "_concatable", + [sym__prefix_op] = "_prefix_op", + [sym__mult_op] = "_mult_op", + [sym__add_op] = "_add_op", + [sym__list_op] = "_list_op", + [sym__comp_op] = "_comp_op", + [aux_sym_source_file_repeat1] = "source_file_repeat1", + [aux_sym_pp_include_repeat1] = "pp_include_repeat1", + [aux_sym_export_attribute_repeat1] = "export_attribute_repeat1", + [aux_sym_optional_callbacks_attribute_repeat1] = "optional_callbacks_attribute_repeat1", + [aux_sym_export_type_attribute_repeat1] = "export_type_attribute_repeat1", + [aux_sym__spec_def_repeat1] = "_spec_def_repeat1", + [aux_sym_fun_decl_repeat1] = "fun_decl_repeat1", + [aux_sym_type_guards_repeat1] = "type_guards_repeat1", + [aux_sym_clause_body_repeat1] = "clause_body_repeat1", + [aux_sym_binary_repeat1] = "binary_repeat1", + [aux_sym_bit_type_list_repeat1] = "bit_type_list_repeat1", + [aux_sym_lc_exprs_repeat1] = "lc_exprs_repeat1", + [aux_sym_tuple_repeat1] = "tuple_repeat1", + [aux_sym_map_expr_update_repeat1] = "map_expr_update_repeat1", + [aux_sym__record_tuple_repeat1] = "_record_tuple_repeat1", + [aux_sym_if_expr_repeat1] = "if_expr_repeat1", + [aux_sym__cr_clauses_repeat1] = "_cr_clauses_repeat1", + [aux_sym_anonymous_fun_repeat1] = "anonymous_fun_repeat1", + [aux_sym__catch_clauses_repeat1] = "_catch_clauses_repeat1", + [aux_sym_replacement_function_clauses_repeat1] = "replacement_function_clauses_repeat1", + [aux_sym_replacement_guard_or_repeat1] = "replacement_guard_or_repeat1", + [aux_sym_replacement_guard_and_repeat1] = "replacement_guard_and_repeat1", + [aux_sym_macro_call_args_repeat1] = "macro_call_args_repeat1", + [aux_sym_expr_args_repeat1] = "expr_args_repeat1", + [aux_sym_var_args_repeat1] = "var_args_repeat1", + [aux_sym_guard_repeat1] = "guard_repeat1", + [aux_sym_concatables_repeat1] = "concatables_repeat1", +}; + +static const TSSymbol ts_symbol_map[] = { + [ts_builtin_sym_end] = ts_builtin_sym_end, + [sym_atom] = sym_atom, + [anon_sym_DASH] = anon_sym_DASH, + [anon_sym_include] = anon_sym_include, + [anon_sym_SQUOTEinclude_SQUOTE] = anon_sym_include, + [anon_sym_LPAREN] = anon_sym_LPAREN, + [anon_sym_RPAREN] = anon_sym_RPAREN, + [anon_sym_DOT] = anon_sym_DOT, + [anon_sym_include_lib] = anon_sym_include_lib, + [anon_sym_SQUOTEinclude_lib_SQUOTE] = anon_sym_include_lib, + [anon_sym_undef] = anon_sym_undef, + [anon_sym_SQUOTEundef_SQUOTE] = anon_sym_undef, + [anon_sym_ifdef] = anon_sym_ifdef, + [anon_sym_SQUOTEifdef_SQUOTE] = anon_sym_ifdef, + [anon_sym_ifndef] = anon_sym_ifndef, + [anon_sym_SQUOTEifndef_SQUOTE] = anon_sym_ifndef, + [anon_sym_else] = anon_sym_else, + [anon_sym_SQUOTEelse_SQUOTE] = anon_sym_else, + [anon_sym_endif] = anon_sym_endif, + [anon_sym_SQUOTEendif_SQUOTE] = anon_sym_endif, + [anon_sym_if] = anon_sym_if, + [anon_sym_SQUOTEif_SQUOTE] = anon_sym_if, + [anon_sym_elif] = anon_sym_elif, + [anon_sym_SQUOTEelif_SQUOTE] = anon_sym_elif, + [anon_sym_define] = anon_sym_define, + [anon_sym_SQUOTEdefine_SQUOTE] = anon_sym_define, + [anon_sym_COMMA] = anon_sym_COMMA, + [anon_sym_module] = anon_sym_module, + [anon_sym_SQUOTEmodule_SQUOTE] = anon_sym_module, + [anon_sym_behaviour] = anon_sym_behaviour, + [anon_sym_SQUOTEbehaviour_SQUOTE] = anon_sym_behaviour, + [anon_sym_behavior] = anon_sym_behavior, + [anon_sym_SQUOTEbehavior_SQUOTE] = anon_sym_behavior, + [anon_sym_export] = anon_sym_export, + [anon_sym_SQUOTEexport_SQUOTE] = anon_sym_export, + [anon_sym_LBRACK] = anon_sym_LBRACK, + [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_import] = anon_sym_import, + [anon_sym_SQUOTEimport_SQUOTE] = anon_sym_import, + [anon_sym_optional_callbacks] = anon_sym_optional_callbacks, + [anon_sym_SQUOTEoptional_callbacks_SQUOTE] = anon_sym_optional_callbacks, + [anon_sym_export_type] = anon_sym_export_type, + [anon_sym_SQUOTEexport_type_SQUOTE] = anon_sym_export_type, + [anon_sym_compile] = anon_sym_compile, + [anon_sym_SQUOTEcompile_SQUOTE] = anon_sym_compile, + [anon_sym_file] = anon_sym_file, + [anon_sym_SQUOTEfile_SQUOTE] = anon_sym_file, + [anon_sym_type] = anon_sym_type, + [anon_sym_SQUOTEtype_SQUOTE] = anon_sym_type, + [anon_sym_opaque] = anon_sym_opaque, + [anon_sym_SQUOTEopaque_SQUOTE] = anon_sym_opaque, + [anon_sym_COLON_COLON] = anon_sym_COLON_COLON, + [anon_sym_record] = anon_sym_record, + [anon_sym_SQUOTErecord_SQUOTE] = anon_sym_record, + [anon_sym_spec] = anon_sym_spec, + [anon_sym_SQUOTEspec_SQUOTE] = anon_sym_spec, + [anon_sym_callback] = anon_sym_callback, + [anon_sym_SQUOTEcallback_SQUOTE] = anon_sym_callback, + [anon_sym_SEMI] = anon_sym_SEMI, + [anon_sym_COLON] = anon_sym_COLON, + [anon_sym_DASH_GT] = anon_sym_DASH_GT, + [anon_sym_when] = anon_sym_when, + [anon_sym_PIPE] = anon_sym_PIPE, + [anon_sym_fun] = anon_sym_fun, + [anon_sym_DOT_DOT] = anon_sym_DOT_DOT, + [sym_dotdotdot] = sym_dotdotdot, + [anon_sym_catch] = anon_sym_catch, + [anon_sym_EQ] = anon_sym_EQ, + [anon_sym_BANG] = anon_sym_BANG, + [anon_sym_orelse] = anon_sym_orelse, + [anon_sym_andalso] = anon_sym_andalso, + [anon_sym_begin] = anon_sym_begin, + [anon_sym_end] = anon_sym_end, + [anon_sym_LT_LT] = anon_sym_LT_LT, + [anon_sym_GT_GT] = anon_sym_GT_GT, + [anon_sym_SLASH] = anon_sym_SLASH, + [anon_sym_STAR] = anon_sym_STAR, + [anon_sym_unit] = anon_sym_unit, + [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE, + [anon_sym_LT_DASH] = anon_sym_LT_DASH, + [anon_sym_LT_EQ] = anon_sym_LT_EQ, + [anon_sym_LBRACE] = anon_sym_LBRACE, + [anon_sym_RBRACE] = anon_sym_RBRACE, + [anon_sym_POUND] = anon_sym_POUND, + [anon_sym_EQ_GT] = anon_sym_EQ_GT, + [anon_sym_COLON_EQ] = anon_sym_COLON_EQ, + [anon_sym_case] = anon_sym_case, + [anon_sym_of] = anon_sym_of, + [anon_sym_receive] = anon_sym_receive, + [anon_sym_after] = anon_sym_after, + [anon_sym_try] = anon_sym_try, + [anon_sym_QMARK] = anon_sym_QMARK, + [anon_sym_PLUS] = anon_sym_PLUS, + [anon_sym_bnot] = anon_sym_bnot, + [anon_sym_not] = anon_sym_not, + [anon_sym_div] = anon_sym_div, + [anon_sym_rem] = anon_sym_rem, + [anon_sym_band] = anon_sym_band, + [anon_sym_and] = anon_sym_and, + [anon_sym_bor] = anon_sym_bor, + [anon_sym_bxor] = anon_sym_bxor, + [anon_sym_bsl] = anon_sym_bsl, + [anon_sym_bsr] = anon_sym_bsr, + [anon_sym_or] = anon_sym_or, + [anon_sym_xor] = anon_sym_xor, + [anon_sym_PLUS_PLUS] = anon_sym_PLUS_PLUS, + [anon_sym_DASH_DASH] = anon_sym_DASH_DASH, + [anon_sym_EQ_EQ] = anon_sym_EQ_EQ, + [anon_sym_SLASH_EQ] = anon_sym_SLASH_EQ, + [anon_sym_EQ_LT] = anon_sym_EQ_LT, + [anon_sym_LT] = anon_sym_LT, + [anon_sym_GT_EQ] = anon_sym_GT_EQ, + [anon_sym_GT] = anon_sym_GT, + [anon_sym_EQ_COLON_EQ] = anon_sym_EQ_COLON_EQ, + [anon_sym_EQ_SLASH_EQ] = anon_sym_EQ_SLASH_EQ, + [sym_var] = sym_var, + [sym_integer] = sym_integer, + [sym_float] = sym_float, + [sym_string] = sym_string, + [sym_char] = sym_char, + [sym_comment] = sym_comment, + [sym_source_file] = sym_source_file, + [sym__form] = sym__form, + [sym__preprocessor_directive] = sym__preprocessor_directive, + [sym_pp_include] = sym_pp_include, + [sym_pp_include_lib] = sym_pp_include_lib, + [sym_pp_undef] = sym_pp_undef, + [sym_pp_ifdef] = sym_pp_ifdef, + [sym_pp_ifndef] = sym_pp_ifndef, + [sym_pp_else] = sym_pp_else, + [sym_pp_endif] = sym_pp_endif, + [sym_pp_if] = sym_pp_if, + [sym_pp_elif] = sym_pp_elif, + [sym_pp_define] = sym_pp_define, + [sym__include_detail] = sym__include_detail, + [sym_module_attribute] = sym_module_attribute, + [sym_behaviour_attribute] = sym_behaviour_attribute, + [sym_export_attribute] = sym_export_attribute, + [sym_import_attribute] = sym_import_attribute, + [sym_optional_callbacks_attribute] = sym_optional_callbacks_attribute, + [sym_fa] = sym_fa, + [sym_export_type_attribute] = sym_export_type_attribute, + [sym_compile_options_attribute] = sym_compile_options_attribute, + [sym_file_attribute] = sym_file_attribute, + [sym_type_alias] = sym_type_alias, + [sym_opaque] = sym_opaque, + [sym__type_def] = sym__type_def, + [sym_type_name] = sym_type_name, + [sym_record_decl] = sym_record_decl, + [sym_spec] = sym_spec, + [sym_callback] = sym_callback, + [sym__spec_def] = sym__spec_def, + [sym__spec_fun] = sym__spec_fun, + [sym_module] = sym_module, + [sym_wild_attribute] = sym_wild_attribute, + [sym_attr_name] = sym_attr_name, + [sym_fun_decl] = sym_fun_decl, + [sym_type_sig] = sym_type_sig, + [sym_type_guards] = sym_type_guards, + [sym_ann_type] = sym_ann_type, + [sym_ann_var] = sym_ann_var, + [sym_pipe] = sym_pipe, + [sym_fun_type] = sym_fun_type, + [sym_fun_type_sig] = sym_fun_type_sig, + [sym_range_type] = sym_range_type, + [sym__function_or_macro_clause] = sym__function_or_macro_clause, + [sym_function_clause] = sym_function_clause, + [sym__clause_guard] = sym__clause_guard, + [sym_clause_body] = sym_clause_body, + [sym__expr] = sym__expr, + [sym_catch_expr] = sym_catch_expr, + [sym_match_expr] = sym_match_expr, + [sym_binary_op_expr] = sym_binary_op_expr, + [sym_unary_op_expr] = sym_unary_op_expr, + [sym__expr_max] = sym__expr_max, + [sym_remote] = sym_remote, + [sym_remote_module] = sym_remote_module, + [sym_paren_expr] = sym_paren_expr, + [sym_block_expr] = sym_block_expr, + [sym_list] = sym_list, + [sym_binary] = sym_binary, + [sym_bin_element] = sym_bin_element, + [sym_bit_size_expr] = sym_bit_size_expr, + [sym_bit_type_list] = sym_bit_type_list, + [sym__bit_expr] = sym__bit_expr, + [sym_unary_op_expr_max] = sym_unary_op_expr, + [sym_binary_op_expr_max] = sym_binary_op_expr, + [sym__bit_type] = sym__bit_type, + [sym_bit_type_unit] = sym_bit_type_unit, + [sym_list_comprehension] = sym_list_comprehension, + [sym_binary_comprehension] = sym_binary_comprehension, + [sym_lc_exprs] = sym_lc_exprs, + [sym__lc_expr] = sym__lc_expr, + [sym_generator] = sym_generator, + [sym_b_generator] = sym_b_generator, + [sym_tuple] = sym_tuple, + [sym_map_expr_update] = sym_map_expr_update, + [sym_map_expr] = sym_map_expr, + [sym__map_expr_base] = sym__map_expr_base, + [sym_map_field] = sym_map_field, + [sym__map_field_op] = sym__map_field_op, + [sym_record_index_expr] = sym_record_index_expr, + [sym_record_field_expr] = sym_record_field_expr, + [sym_record_update_expr] = sym_record_update_expr, + [sym_record_expr] = sym_record_expr, + [sym_record_name] = sym_record_name, + [sym_record_field_name] = sym_record_field_name, + [sym__record_expr_base] = sym__record_expr_base, + [sym__record_tuple] = sym__record_tuple, + [sym_record_field] = sym_record_field, + [sym_field_expr] = sym_field_expr, + [sym_field_type] = sym_field_type, + [sym_call] = sym_call, + [sym_if_expr] = sym_if_expr, + [sym_if_clause] = sym_if_clause, + [sym_case_expr] = sym_case_expr, + [sym__cr_clauses] = sym__cr_clauses, + [sym__cr_clause_or_macro] = sym__cr_clause_or_macro, + [sym_cr_clause] = sym_cr_clause, + [sym_receive_expr] = sym_receive_expr, + [sym_receive_after] = sym_receive_after, + [sym_internal_fun] = sym_internal_fun, + [sym_external_fun] = sym_external_fun, + [sym_anonymous_fun] = sym_anonymous_fun, + [sym__macro_name] = sym__macro_name, + [sym__name] = sym__name, + [sym_arity] = sym_arity, + [sym__arity_value] = sym__arity_value, + [sym_fun_clause] = sym_fun_clause, + [sym_try_expr] = sym_try_expr, + [sym__try_catch] = sym__try_catch, + [sym_try_after] = sym_try_after, + [sym_catch_clause] = sym_catch_clause, + [sym_try_class] = sym_try_class, + [sym_try_stack] = sym_try_stack, + [sym__catch_pat] = sym__catch_pat, + [sym_match_catch_pat] = sym_binary_op_expr, + [sym_binary_op_catch_pat] = sym_binary_op_expr, + [sym__macro_def_replacement] = sym__macro_def_replacement, + [sym_replacement_function_clauses] = sym_replacement_function_clauses, + [sym_replacement_cr_clauses] = sym_replacement_cr_clauses, + [sym_replacement_guard_or] = sym_replacement_guard_or, + [sym_replacement_guard_and] = sym_replacement_guard_and, + [sym_replacement_parens] = sym_replacement_parens, + [sym_macro_lhs] = sym_macro_lhs, + [sym__macro_body_expr] = sym__macro_body_expr, + [sym_macro_call_expr] = sym_macro_call_expr, + [sym_macro_call_args] = sym_macro_call_args, + [sym_macro_call_none] = sym_macro_call_expr, + [sym_macro_string] = sym_macro_string, + [sym_macro_expr] = sym_macro_expr, + [sym_expr_args] = sym_expr_args, + [sym_var_args] = sym_var_args, + [sym_guard] = sym_guard, + [sym_guard_clause] = sym_guard_clause, + [sym_concatables] = sym_concatables, + [sym__concatable] = sym__concatable, + [sym__prefix_op] = sym__prefix_op, + [sym__mult_op] = sym__mult_op, + [sym__add_op] = sym__add_op, + [sym__list_op] = sym__list_op, + [sym__comp_op] = sym__comp_op, + [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, + [aux_sym_pp_include_repeat1] = aux_sym_pp_include_repeat1, + [aux_sym_export_attribute_repeat1] = aux_sym_export_attribute_repeat1, + [aux_sym_optional_callbacks_attribute_repeat1] = aux_sym_optional_callbacks_attribute_repeat1, + [aux_sym_export_type_attribute_repeat1] = aux_sym_export_type_attribute_repeat1, + [aux_sym__spec_def_repeat1] = aux_sym__spec_def_repeat1, + [aux_sym_fun_decl_repeat1] = aux_sym_fun_decl_repeat1, + [aux_sym_type_guards_repeat1] = aux_sym_type_guards_repeat1, + [aux_sym_clause_body_repeat1] = aux_sym_clause_body_repeat1, + [aux_sym_binary_repeat1] = aux_sym_binary_repeat1, + [aux_sym_bit_type_list_repeat1] = aux_sym_bit_type_list_repeat1, + [aux_sym_lc_exprs_repeat1] = aux_sym_lc_exprs_repeat1, + [aux_sym_tuple_repeat1] = aux_sym_tuple_repeat1, + [aux_sym_map_expr_update_repeat1] = aux_sym_map_expr_update_repeat1, + [aux_sym__record_tuple_repeat1] = aux_sym__record_tuple_repeat1, + [aux_sym_if_expr_repeat1] = aux_sym_if_expr_repeat1, + [aux_sym__cr_clauses_repeat1] = aux_sym__cr_clauses_repeat1, + [aux_sym_anonymous_fun_repeat1] = aux_sym_anonymous_fun_repeat1, + [aux_sym__catch_clauses_repeat1] = aux_sym__catch_clauses_repeat1, + [aux_sym_replacement_function_clauses_repeat1] = aux_sym_replacement_function_clauses_repeat1, + [aux_sym_replacement_guard_or_repeat1] = aux_sym_replacement_guard_or_repeat1, + [aux_sym_replacement_guard_and_repeat1] = aux_sym_replacement_guard_and_repeat1, + [aux_sym_macro_call_args_repeat1] = aux_sym_macro_call_args_repeat1, + [aux_sym_expr_args_repeat1] = aux_sym_expr_args_repeat1, + [aux_sym_var_args_repeat1] = aux_sym_var_args_repeat1, + [aux_sym_guard_repeat1] = aux_sym_guard_repeat1, + [aux_sym_concatables_repeat1] = aux_sym_concatables_repeat1, +}; + +static const TSSymbolMetadata ts_symbol_metadata[] = { + [ts_builtin_sym_end] = { + .visible = false, + .named = true, + }, + [sym_atom] = { + .visible = true, + .named = true, + }, + [anon_sym_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_include] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEinclude_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_LPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_RPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_include_lib] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEinclude_lib_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_undef] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEundef_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_ifdef] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEifdef_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_ifndef] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEifndef_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_else] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEelse_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_endif] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEendif_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_if] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEif_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_elif] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEelif_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_define] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEdefine_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_COMMA] = { + .visible = true, + .named = false, + }, + [anon_sym_module] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEmodule_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_behaviour] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEbehaviour_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_behavior] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEbehavior_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_export] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEexport_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_import] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEimport_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_optional_callbacks] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEoptional_callbacks_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_export_type] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEexport_type_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_compile] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEcompile_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_file] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEfile_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_type] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEtype_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_opaque] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEopaque_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_record] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTErecord_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_spec] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEspec_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_callback] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTEcallback_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_SEMI] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_when] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_fun] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_DOT] = { + .visible = true, + .named = false, + }, + [sym_dotdotdot] = { + .visible = true, + .named = true, + }, + [anon_sym_catch] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_BANG] = { + .visible = true, + .named = false, + }, + [anon_sym_orelse] = { + .visible = true, + .named = false, + }, + [anon_sym_andalso] = { + .visible = true, + .named = false, + }, + [anon_sym_begin] = { + .visible = true, + .named = false, + }, + [anon_sym_end] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_unit] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_POUND] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_case] = { + .visible = true, + .named = false, + }, + [anon_sym_of] = { + .visible = true, + .named = false, + }, + [anon_sym_receive] = { + .visible = true, + .named = false, + }, + [anon_sym_after] = { + .visible = true, + .named = false, + }, + [anon_sym_try] = { + .visible = true, + .named = false, + }, + [anon_sym_QMARK] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS] = { + .visible = true, + .named = false, + }, + [anon_sym_bnot] = { + .visible = true, + .named = false, + }, + [anon_sym_not] = { + .visible = true, + .named = false, + }, + [anon_sym_div] = { + .visible = true, + .named = false, + }, + [anon_sym_rem] = { + .visible = true, + .named = false, + }, + [anon_sym_band] = { + .visible = true, + .named = false, + }, + [anon_sym_and] = { + .visible = true, + .named = false, + }, + [anon_sym_bor] = { + .visible = true, + .named = false, + }, + [anon_sym_bxor] = { + .visible = true, + .named = false, + }, + [anon_sym_bsl] = { + .visible = true, + .named = false, + }, + [anon_sym_bsr] = { + .visible = true, + .named = false, + }, + [anon_sym_or] = { + .visible = true, + .named = false, + }, + [anon_sym_xor] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS_PLUS] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_COLON_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_SLASH_EQ] = { + .visible = true, + .named = false, + }, + [sym_var] = { + .visible = true, + .named = true, + }, + [sym_integer] = { + .visible = true, + .named = true, + }, + [sym_float] = { + .visible = true, + .named = true, + }, + [sym_string] = { + .visible = true, + .named = true, + }, + [sym_char] = { + .visible = true, + .named = true, + }, + [sym_comment] = { + .visible = true, + .named = true, + }, + [sym_source_file] = { + .visible = true, + .named = true, + }, + [sym__form] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__preprocessor_directive] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_pp_include] = { + .visible = true, + .named = true, + }, + [sym_pp_include_lib] = { + .visible = true, + .named = true, + }, + [sym_pp_undef] = { + .visible = true, + .named = true, + }, + [sym_pp_ifdef] = { + .visible = true, + .named = true, + }, + [sym_pp_ifndef] = { + .visible = true, + .named = true, + }, + [sym_pp_else] = { + .visible = true, + .named = true, + }, + [sym_pp_endif] = { + .visible = true, + .named = true, + }, + [sym_pp_if] = { + .visible = true, + .named = true, + }, + [sym_pp_elif] = { + .visible = true, + .named = true, + }, + [sym_pp_define] = { + .visible = true, + .named = true, + }, + [sym__include_detail] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_module_attribute] = { + .visible = true, + .named = true, + }, + [sym_behaviour_attribute] = { + .visible = true, + .named = true, + }, + [sym_export_attribute] = { + .visible = true, + .named = true, + }, + [sym_import_attribute] = { + .visible = true, + .named = true, + }, + [sym_optional_callbacks_attribute] = { + .visible = true, + .named = true, + }, + [sym_fa] = { + .visible = true, + .named = true, + }, + [sym_export_type_attribute] = { + .visible = true, + .named = true, + }, + [sym_compile_options_attribute] = { + .visible = true, + .named = true, + }, + [sym_file_attribute] = { + .visible = true, + .named = true, + }, + [sym_type_alias] = { + .visible = true, + .named = true, + }, + [sym_opaque] = { + .visible = true, + .named = true, + }, + [sym__type_def] = { + .visible = false, + .named = true, + }, + [sym_type_name] = { + .visible = true, + .named = true, + }, + [sym_record_decl] = { + .visible = true, + .named = true, + }, + [sym_spec] = { + .visible = true, + .named = true, + }, + [sym_callback] = { + .visible = true, + .named = true, + }, + [sym__spec_def] = { + .visible = false, + .named = true, + }, + [sym__spec_fun] = { + .visible = false, + .named = true, + }, + [sym_module] = { + .visible = true, + .named = true, + }, + [sym_wild_attribute] = { + .visible = true, + .named = true, + }, + [sym_attr_name] = { + .visible = true, + .named = true, + }, + [sym_fun_decl] = { + .visible = true, + .named = true, + }, + [sym_type_sig] = { + .visible = true, + .named = true, + }, + [sym_type_guards] = { + .visible = true, + .named = true, + }, + [sym_ann_type] = { + .visible = true, + .named = true, + }, + [sym_ann_var] = { + .visible = true, + .named = true, + }, + [sym_pipe] = { + .visible = true, + .named = true, + }, + [sym_fun_type] = { + .visible = true, + .named = true, + }, + [sym_fun_type_sig] = { + .visible = true, + .named = true, + }, + [sym_range_type] = { + .visible = true, + .named = true, + }, + [sym__function_or_macro_clause] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_function_clause] = { + .visible = true, + .named = true, + }, + [sym__clause_guard] = { + .visible = false, + .named = true, + }, + [sym_clause_body] = { + .visible = true, + .named = true, + }, + [sym__expr] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_catch_expr] = { + .visible = true, + .named = true, + }, + [sym_match_expr] = { + .visible = true, + .named = true, + }, + [sym_binary_op_expr] = { + .visible = true, + .named = true, + }, + [sym_unary_op_expr] = { + .visible = true, + .named = true, + }, + [sym__expr_max] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_remote] = { + .visible = true, + .named = true, + }, + [sym_remote_module] = { + .visible = true, + .named = true, + }, + [sym_paren_expr] = { + .visible = true, + .named = true, + }, + [sym_block_expr] = { + .visible = true, + .named = true, + }, + [sym_list] = { + .visible = true, + .named = true, + }, + [sym_binary] = { + .visible = true, + .named = true, + }, + [sym_bin_element] = { + .visible = true, + .named = true, + }, + [sym_bit_size_expr] = { + .visible = true, + .named = true, + }, + [sym_bit_type_list] = { + .visible = true, + .named = true, + }, + [sym__bit_expr] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_unary_op_expr_max] = { + .visible = true, + .named = true, + }, + [sym_binary_op_expr_max] = { + .visible = true, + .named = true, + }, + [sym__bit_type] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_bit_type_unit] = { + .visible = true, + .named = true, + }, + [sym_list_comprehension] = { + .visible = true, + .named = true, + }, + [sym_binary_comprehension] = { + .visible = true, + .named = true, + }, + [sym_lc_exprs] = { + .visible = true, + .named = true, + }, + [sym__lc_expr] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_generator] = { + .visible = true, + .named = true, + }, + [sym_b_generator] = { + .visible = true, + .named = true, + }, + [sym_tuple] = { + .visible = true, + .named = true, + }, + [sym_map_expr_update] = { + .visible = true, + .named = true, + }, + [sym_map_expr] = { + .visible = true, + .named = true, + }, + [sym__map_expr_base] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_map_field] = { + .visible = true, + .named = true, + }, + [sym__map_field_op] = { + .visible = false, + .named = true, + }, + [sym_record_index_expr] = { + .visible = true, + .named = true, + }, + [sym_record_field_expr] = { + .visible = true, + .named = true, + }, + [sym_record_update_expr] = { + .visible = true, + .named = true, + }, + [sym_record_expr] = { + .visible = true, + .named = true, + }, + [sym_record_name] = { + .visible = true, + .named = true, + }, + [sym_record_field_name] = { + .visible = true, + .named = true, + }, + [sym__record_expr_base] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__record_tuple] = { + .visible = false, + .named = true, + }, + [sym_record_field] = { + .visible = true, + .named = true, + }, + [sym_field_expr] = { + .visible = true, + .named = true, + }, + [sym_field_type] = { + .visible = true, + .named = true, + }, + [sym_call] = { + .visible = true, + .named = true, + }, + [sym_if_expr] = { + .visible = true, + .named = true, + }, + [sym_if_clause] = { + .visible = true, + .named = true, + }, + [sym_case_expr] = { + .visible = true, + .named = true, + }, + [sym__cr_clauses] = { + .visible = false, + .named = true, + }, + [sym__cr_clause_or_macro] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_cr_clause] = { + .visible = true, + .named = true, + }, + [sym_receive_expr] = { + .visible = true, + .named = true, + }, + [sym_receive_after] = { + .visible = true, + .named = true, + }, + [sym_internal_fun] = { + .visible = true, + .named = true, + }, + [sym_external_fun] = { + .visible = true, + .named = true, + }, + [sym_anonymous_fun] = { + .visible = true, + .named = true, + }, + [sym__macro_name] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__name] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_arity] = { + .visible = true, + .named = true, + }, + [sym__arity_value] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_fun_clause] = { + .visible = true, + .named = true, + }, + [sym_try_expr] = { + .visible = true, + .named = true, + }, + [sym__try_catch] = { + .visible = false, + .named = true, + }, + [sym_try_after] = { + .visible = true, + .named = true, + }, + [sym_catch_clause] = { + .visible = true, + .named = true, + }, + [sym_try_class] = { + .visible = true, + .named = true, + }, + [sym_try_stack] = { + .visible = true, + .named = true, + }, + [sym__catch_pat] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_match_catch_pat] = { + .visible = true, + .named = true, + }, + [sym_binary_op_catch_pat] = { + .visible = true, + .named = true, + }, + [sym__macro_def_replacement] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_replacement_function_clauses] = { + .visible = true, + .named = true, + }, + [sym_replacement_cr_clauses] = { + .visible = true, + .named = true, + }, + [sym_replacement_guard_or] = { + .visible = true, + .named = true, + }, + [sym_replacement_guard_and] = { + .visible = true, + .named = true, + }, + [sym_replacement_parens] = { + .visible = true, + .named = true, + }, + [sym_macro_lhs] = { + .visible = true, + .named = true, + }, + [sym__macro_body_expr] = { + .visible = false, + .named = true, + }, + [sym_macro_call_expr] = { + .visible = true, + .named = true, + }, + [sym_macro_call_args] = { + .visible = true, + .named = true, + }, + [sym_macro_call_none] = { + .visible = true, + .named = true, + }, + [sym_macro_string] = { + .visible = true, + .named = true, + }, + [sym_macro_expr] = { + .visible = true, + .named = true, + }, + [sym_expr_args] = { + .visible = true, + .named = true, + }, + [sym_var_args] = { + .visible = true, + .named = true, + }, + [sym_guard] = { + .visible = true, + .named = true, + }, + [sym_guard_clause] = { + .visible = true, + .named = true, + }, + [sym_concatables] = { + .visible = true, + .named = true, + }, + [sym__concatable] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__prefix_op] = { + .visible = false, + .named = true, + }, + [sym__mult_op] = { + .visible = false, + .named = true, + }, + [sym__add_op] = { + .visible = false, + .named = true, + }, + [sym__list_op] = { + .visible = false, + .named = true, + }, + [sym__comp_op] = { + .visible = false, + .named = true, + }, + [aux_sym_source_file_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_pp_include_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_export_attribute_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_optional_callbacks_attribute_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_export_type_attribute_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__spec_def_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_fun_decl_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_type_guards_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_clause_body_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_binary_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_bit_type_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_lc_exprs_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_tuple_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_map_expr_update_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__record_tuple_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_if_expr_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__cr_clauses_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_anonymous_fun_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__catch_clauses_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_replacement_function_clauses_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_replacement_guard_or_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_replacement_guard_and_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_macro_call_args_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_expr_args_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_var_args_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_guard_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_concatables_repeat1] = { + .visible = false, + .named = false, + }, +}; + +enum { + field_after = 1, + field_args = 2, + field_arity = 3, + field_body = 4, + field_callbacks = 5, + field_catch = 6, + field_class = 7, + field_clauses = 8, + field_cond = 9, + field_element = 10, + field_elements = 11, + field_elems = 12, + field_expr = 13, + field_exprs = 14, + field_field = 15, + field_fields = 16, + field_file = 17, + field_forms = 18, + field_fun = 19, + field_funs = 20, + field_guard = 21, + field_guards = 22, + field_key = 23, + field_lc_exprs = 24, + field_lhs = 25, + field_module = 26, + field_name = 27, + field_operand = 28, + field_options = 29, + field_original_file = 30, + field_original_line = 31, + field_pat = 32, + field_replacement = 33, + field_rhs = 34, + field_sig = 35, + field_sigs = 36, + field_size = 37, + field_stack = 38, + field_ty = 39, + field_types = 40, + field_value = 41, + field_var = 42, +}; + +static const char * const ts_field_names[] = { + [0] = NULL, + [field_after] = "after", + [field_args] = "args", + [field_arity] = "arity", + [field_body] = "body", + [field_callbacks] = "callbacks", + [field_catch] = "catch", + [field_class] = "class", + [field_clauses] = "clauses", + [field_cond] = "cond", + [field_element] = "element", + [field_elements] = "elements", + [field_elems] = "elems", + [field_expr] = "expr", + [field_exprs] = "exprs", + [field_field] = "field", + [field_fields] = "fields", + [field_file] = "file", + [field_forms] = "forms", + [field_fun] = "fun", + [field_funs] = "funs", + [field_guard] = "guard", + [field_guards] = "guards", + [field_key] = "key", + [field_lc_exprs] = "lc_exprs", + [field_lhs] = "lhs", + [field_module] = "module", + [field_name] = "name", + [field_operand] = "operand", + [field_options] = "options", + [field_original_file] = "original_file", + [field_original_line] = "original_line", + [field_pat] = "pat", + [field_replacement] = "replacement", + [field_rhs] = "rhs", + [field_sig] = "sig", + [field_sigs] = "sigs", + [field_size] = "size", + [field_stack] = "stack", + [field_ty] = "ty", + [field_types] = "types", + [field_value] = "value", + [field_var] = "var", +}; + +static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { + [1] = {.index = 0, .length = 1}, + [2] = {.index = 1, .length = 1}, + [3] = {.index = 2, .length = 1}, + [4] = {.index = 3, .length = 1}, + [5] = {.index = 4, .length = 2}, + [6] = {.index = 6, .length = 1}, + [7] = {.index = 7, .length = 1}, + [8] = {.index = 8, .length = 1}, + [9] = {.index = 9, .length = 1}, + [10] = {.index = 10, .length = 2}, + [11] = {.index = 12, .length = 2}, + [12] = {.index = 14, .length = 2}, + [13] = {.index = 16, .length = 1}, + [14] = {.index = 17, .length = 2}, + [15] = {.index = 19, .length = 2}, + [16] = {.index = 21, .length = 2}, + [17] = {.index = 23, .length = 2}, + [18] = {.index = 25, .length = 1}, + [19] = {.index = 26, .length = 1}, + [20] = {.index = 27, .length = 2}, + [21] = {.index = 29, .length = 2}, + [22] = {.index = 31, .length = 3}, + [23] = {.index = 34, .length = 1}, + [24] = {.index = 35, .length = 1}, + [25] = {.index = 36, .length = 2}, + [26] = {.index = 38, .length = 2}, + [27] = {.index = 40, .length = 3}, + [28] = {.index = 43, .length = 3}, + [29] = {.index = 46, .length = 1}, + [30] = {.index = 47, .length = 2}, + [31] = {.index = 49, .length = 2}, + [32] = {.index = 51, .length = 1}, + [33] = {.index = 52, .length = 2}, + [34] = {.index = 54, .length = 2}, + [35] = {.index = 56, .length = 1}, + [36] = {.index = 57, .length = 2}, + [37] = {.index = 59, .length = 2}, + [38] = {.index = 61, .length = 2}, + [39] = {.index = 63, .length = 1}, + [40] = {.index = 64, .length = 1}, + [41] = {.index = 65, .length = 3}, + [42] = {.index = 68, .length = 1}, + [43] = {.index = 69, .length = 2}, + [44] = {.index = 71, .length = 3}, + [45] = {.index = 74, .length = 3}, + [46] = {.index = 77, .length = 1}, + [47] = {.index = 78, .length = 1}, + [48] = {.index = 79, .length = 4}, + [49] = {.index = 83, .length = 2}, + [50] = {.index = 85, .length = 4}, + [51] = {.index = 89, .length = 2}, + [52] = {.index = 91, .length = 2}, + [53] = {.index = 93, .length = 2}, + [54] = {.index = 95, .length = 2}, + [55] = {.index = 97, .length = 1}, + [56] = {.index = 98, .length = 3}, + [57] = {.index = 101, .length = 1}, + [58] = {.index = 102, .length = 3}, + [59] = {.index = 105, .length = 2}, + [60] = {.index = 107, .length = 2}, + [61] = {.index = 109, .length = 1}, + [62] = {.index = 110, .length = 1}, + [63] = {.index = 111, .length = 3}, + [64] = {.index = 114, .length = 2}, + [65] = {.index = 116, .length = 2}, + [66] = {.index = 118, .length = 1}, + [67] = {.index = 119, .length = 2}, + [68] = {.index = 121, .length = 3}, + [69] = {.index = 124, .length = 2}, + [70] = {.index = 126, .length = 1}, + [71] = {.index = 127, .length = 4}, + [72] = {.index = 131, .length = 1}, + [73] = {.index = 132, .length = 2}, + [74] = {.index = 134, .length = 2}, + [75] = {.index = 136, .length = 2}, + [76] = {.index = 138, .length = 2}, + [77] = {.index = 140, .length = 1}, + [78] = {.index = 141, .length = 1}, + [79] = {.index = 142, .length = 1}, + [80] = {.index = 143, .length = 1}, + [81] = {.index = 144, .length = 2}, + [82] = {.index = 146, .length = 1}, + [83] = {.index = 147, .length = 1}, + [84] = {.index = 148, .length = 1}, + [85] = {.index = 149, .length = 1}, + [86] = {.index = 150, .length = 3}, + [87] = {.index = 153, .length = 1}, + [88] = {.index = 154, .length = 2}, + [89] = {.index = 156, .length = 2}, + [90] = {.index = 158, .length = 2}, + [91] = {.index = 160, .length = 2}, + [92] = {.index = 162, .length = 2}, + [93] = {.index = 164, .length = 2}, + [94] = {.index = 166, .length = 2}, + [95] = {.index = 168, .length = 2}, + [96] = {.index = 170, .length = 1}, + [97] = {.index = 171, .length = 1}, + [98] = {.index = 172, .length = 4}, + [99] = {.index = 176, .length = 2}, + [100] = {.index = 178, .length = 2}, + [101] = {.index = 180, .length = 3}, + [102] = {.index = 183, .length = 1}, + [103] = {.index = 184, .length = 2}, + [104] = {.index = 186, .length = 1}, + [105] = {.index = 187, .length = 2}, + [106] = {.index = 189, .length = 1}, + [107] = {.index = 190, .length = 2}, + [108] = {.index = 192, .length = 2}, + [109] = {.index = 194, .length = 2}, + [110] = {.index = 196, .length = 2}, + [111] = {.index = 198, .length = 4}, + [112] = {.index = 202, .length = 3}, + [113] = {.index = 205, .length = 1}, + [114] = {.index = 206, .length = 2}, + [115] = {.index = 208, .length = 2}, + [116] = {.index = 210, .length = 2}, + [117] = {.index = 212, .length = 3}, + [118] = {.index = 215, .length = 5}, + [119] = {.index = 220, .length = 3}, + [120] = {.index = 223, .length = 2}, + [121] = {.index = 225, .length = 2}, + [122] = {.index = 227, .length = 1}, + [123] = {.index = 228, .length = 1}, + [124] = {.index = 229, .length = 1}, + [125] = {.index = 230, .length = 2}, + [126] = {.index = 232, .length = 2}, + [127] = {.index = 234, .length = 1}, + [128] = {.index = 235, .length = 3}, + [129] = {.index = 238, .length = 1}, + [130] = {.index = 239, .length = 4}, + [131] = {.index = 243, .length = 4}, + [132] = {.index = 247, .length = 2}, + [133] = {.index = 249, .length = 1}, + [134] = {.index = 250, .length = 2}, + [135] = {.index = 252, .length = 2}, + [136] = {.index = 254, .length = 2}, + [137] = {.index = 256, .length = 5}, + [138] = {.index = 261, .length = 2}, + [139] = {.index = 263, .length = 2}, + [140] = {.index = 265, .length = 3}, +}; + +static const TSFieldMapEntry ts_field_map_entries[] = { + [0] = + {field_forms, 0}, + [1] = + {field_name, 1}, + [2] = + {field_clauses, 0}, + [3] = + {field_fun, 0}, + [4] = + {field_args, 2}, + {field_name, 1}, + [6] = + {field_exprs, 0}, + [7] = + {field_expr, 1}, + [8] = + {field_element, 0}, + [9] = + {field_var, 0}, + [10] = + {field_ty, 1}, + {field_var, 0}, + [12] = + {field_name, 0}, + {field_value, 1}, + [14] = + {field_args, 1}, + {field_expr, 0}, + [16] = + {field_module, 0}, + [17] = + {field_fun, 1}, + {field_module, 0}, + [19] = + {field_field, 1}, + {field_name, 0}, + [21] = + {field_fields, 1, .inherited = true}, + {field_name, 0}, + [23] = + {field_elems, 0}, + {field_elems, 1}, + [25] = + {field_operand, 1}, + [26] = + {field_clauses, 1}, + [27] = + {field_clauses, 0}, + {field_clauses, 1, .inherited = true}, + [29] = + {field_clauses, 0, .inherited = true}, + {field_clauses, 1, .inherited = true}, + [31] = + {field_args, 1}, + {field_body, 2}, + {field_name, 0}, + [34] = + {field_cond, 2}, + [35] = + {field_name, 0}, + [36] = + {field_name, 2, .inherited = true}, + {field_ty, 2, .inherited = true}, + [38] = + {field_args, 1}, + {field_name, 0}, + [40] = + {field_fun, 2, .inherited = true}, + {field_module, 2, .inherited = true}, + {field_sigs, 2, .inherited = true}, + [43] = + {field_fun, 0, .inherited = true}, + {field_module, 0, .inherited = true}, + {field_sigs, 1}, + [46] = + {field_expr, 0}, + [47] = + {field_exprs, 0}, + {field_exprs, 1, .inherited = true}, + [49] = + {field_body, 1}, + {field_guard, 0}, + [51] = + {field_exprs, 1}, + [52] = + {field_arity, 2}, + {field_fun, 1}, + [54] = + {field_args, 0}, + {field_body, 1}, + [56] = + {field_elements, 1}, + [57] = + {field_element, 0}, + {field_size, 1}, + [59] = + {field_element, 0}, + {field_types, 1}, + [61] = + {field_body, 1}, + {field_pat, 0}, + [63] = + {field_clauses, 1, .inherited = true}, + [64] = + {field_after, 1}, + [65] = + {field_after, 2, .inherited = true}, + {field_catch, 2, .inherited = true}, + {field_exprs, 1}, + [68] = + {field_name, 2}, + [69] = + {field_lhs, 0}, + {field_rhs, 2}, + [71] = + {field_expr, 0}, + {field_field, 2}, + {field_name, 1}, + [74] = + {field_expr, 0}, + {field_fields, 2, .inherited = true}, + {field_name, 1}, + [77] = + {field_args, 1}, + [78] = + {field_guard, 1}, + [79] = + {field_args, 1}, + {field_body, 3}, + {field_guard, 2, .inherited = true}, + {field_name, 0}, + [83] = + {field_name, 0}, + {field_ty, 2}, + [85] = + {field_fun, 0, .inherited = true}, + {field_module, 0, .inherited = true}, + {field_sigs, 1}, + {field_sigs, 2, .inherited = true}, + [89] = + {field_exprs, 0, .inherited = true}, + {field_exprs, 1, .inherited = true}, + [91] = + {field_clauses, 1}, + {field_clauses, 2, .inherited = true}, + [93] = + {field_expr, 1}, + {field_lc_exprs, 2}, + [95] = + {field_exprs, 1}, + {field_exprs, 2, .inherited = true}, + [97] = + {field_sig, 2}, + [98] = + {field_arity, 3}, + {field_fun, 2}, + {field_module, 1}, + [101] = + {field_value, 1}, + [102] = + {field_args, 0}, + {field_body, 2}, + {field_guard, 1, .inherited = true}, + [105] = + {field_elements, 1}, + {field_elements, 2, .inherited = true}, + [107] = + {field_elements, 0, .inherited = true}, + {field_elements, 1, .inherited = true}, + [109] = + {field_size, 1}, + [110] = + {field_types, 1}, + [111] = + {field_element, 0}, + {field_size, 1}, + {field_types, 2}, + [114] = + {field_expr, 1}, + {field_expr, 2, .inherited = true}, + [116] = + {field_expr, 0, .inherited = true}, + {field_expr, 1, .inherited = true}, + [118] = + {field_fields, 2}, + [119] = + {field_body, 2}, + {field_expr, 1}, + [121] = + {field_body, 2}, + {field_guard, 1, .inherited = true}, + {field_pat, 0}, + [124] = + {field_after, 2}, + {field_clauses, 1, .inherited = true}, + [126] = + {field_after, 0}, + [127] = + {field_after, 3, .inherited = true}, + {field_catch, 3, .inherited = true}, + {field_exprs, 1}, + {field_exprs, 2, .inherited = true}, + [131] = + {field_fields, 1}, + [132] = + {field_expr, 1}, + {field_name, 0}, + [134] = + {field_name, 0}, + {field_ty, 1}, + [136] = + {field_args, 1}, + {field_args, 2, .inherited = true}, + [138] = + {field_args, 0, .inherited = true}, + {field_args, 1, .inherited = true}, + [140] = + {field_file, 3}, + [141] = + {field_name, 3}, + [142] = + {field_guard, 0}, + [143] = + {field_funs, 0}, + [144] = + {field_arity, 1}, + {field_fun, 0}, + [146] = + {field_callbacks, 0}, + [147] = + {field_types, 0}, + [148] = + {field_options, 3}, + [149] = + {field_args, 0}, + [150] = + {field_fun, 1, .inherited = true}, + {field_module, 1, .inherited = true}, + {field_sigs, 2}, + [153] = + {field_sigs, 1}, + [154] = + {field_sigs, 0, .inherited = true}, + {field_sigs, 1, .inherited = true}, + [156] = + {field_args, 0}, + {field_ty, 2}, + [158] = + {field_expr, 0}, + {field_guard, 2}, + [160] = + {field_types, 1}, + {field_types, 2, .inherited = true}, + [162] = + {field_key, 0}, + {field_value, 2}, + [164] = + {field_fields, 2}, + {field_fields, 3, .inherited = true}, + [166] = + {field_fields, 0, .inherited = true}, + {field_fields, 1, .inherited = true}, + [168] = + {field_clauses, 3, .inherited = true}, + {field_expr, 1}, + [170] = + {field_class, 0}, + [171] = + {field_catch, 1}, + [172] = + {field_after, 4, .inherited = true}, + {field_catch, 4, .inherited = true}, + {field_clauses, 3, .inherited = true}, + {field_exprs, 1}, + [176] = + {field_expr, 0}, + {field_fields, 3}, + [178] = + {field_fields, 1}, + {field_fields, 2, .inherited = true}, + [180] = + {field_expr, 1}, + {field_name, 0}, + {field_ty, 2}, + [183] = + {field_lhs, 3}, + [184] = + {field_guard, 0}, + {field_guard, 1, .inherited = true}, + [186] = + {field_funs, 1}, + [187] = + {field_funs, 0, .inherited = true}, + {field_funs, 1, .inherited = true}, + [189] = + {field_callbacks, 1}, + [190] = + {field_callbacks, 0, .inherited = true}, + {field_callbacks, 1, .inherited = true}, + [192] = + {field_types, 0, .inherited = true}, + {field_types, 1, .inherited = true}, + [194] = + {field_name, 1}, + {field_ty, 3}, + [196] = + {field_fields, 4, .inherited = true}, + {field_name, 3}, + [198] = + {field_fun, 1, .inherited = true}, + {field_module, 1, .inherited = true}, + {field_sigs, 2}, + {field_sigs, 3, .inherited = true}, + [202] = + {field_args, 0}, + {field_guard, 3}, + {field_ty, 2}, + [205] = + {field_size, 2}, + [206] = + {field_after, 2}, + {field_catch, 1}, + [208] = + {field_catch, 1}, + {field_catch, 2, .inherited = true}, + [210] = + {field_catch, 0, .inherited = true}, + {field_catch, 1, .inherited = true}, + [212] = + {field_body, 2}, + {field_class, 0}, + {field_pat, 1}, + [215] = + {field_after, 5, .inherited = true}, + {field_catch, 5, .inherited = true}, + {field_clauses, 4, .inherited = true}, + {field_exprs, 1}, + {field_exprs, 2, .inherited = true}, + [220] = + {field_expr, 0}, + {field_fields, 3}, + {field_fields, 4, .inherited = true}, + [223] = + {field_guard, 0, .inherited = true}, + {field_guard, 1, .inherited = true}, + [225] = + {field_lhs, 3}, + {field_replacement, 5}, + [227] = + {field_funs, 4}, + [228] = + {field_callbacks, 4}, + [229] = + {field_types, 4}, + [230] = + {field_original_file, 3}, + {field_original_line, 5}, + [232] = + {field_fields, 5, .inherited = true}, + {field_name, 3}, + [234] = + {field_guards, 1}, + [235] = + {field_after, 3}, + {field_catch, 1}, + {field_catch, 2, .inherited = true}, + [238] = + {field_class, 1}, + [239] = + {field_body, 3}, + {field_class, 0}, + {field_guard, 2, .inherited = true}, + {field_pat, 1}, + [243] = + {field_body, 3}, + {field_class, 0}, + {field_pat, 1}, + {field_stack, 2}, + [247] = + {field_funs, 4}, + {field_funs, 5, .inherited = true}, + [249] = + {field_module, 3}, + [250] = + {field_callbacks, 4}, + {field_callbacks, 5, .inherited = true}, + [252] = + {field_types, 4}, + {field_types, 5, .inherited = true}, + [254] = + {field_guards, 1}, + {field_guards, 2, .inherited = true}, + [256] = + {field_body, 4}, + {field_class, 0}, + {field_guard, 3, .inherited = true}, + {field_pat, 1}, + {field_stack, 2}, + [261] = + {field_funs, 6}, + {field_module, 3}, + [263] = + {field_guards, 0, .inherited = true}, + {field_guards, 1, .inherited = true}, + [265] = + {field_funs, 6}, + {field_funs, 7, .inherited = true}, + {field_module, 3}, +}; + +static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { + [0] = {0}, +}; + +static const uint16_t ts_non_terminal_alias_map[] = { + 0, +}; + +static const TSStateId ts_primary_state_ids[STATE_COUNT] = { + [0] = 0, + [1] = 1, + [2] = 2, + [3] = 3, + [4] = 3, + [5] = 3, + [6] = 6, + [7] = 7, + [8] = 7, + [9] = 6, + [10] = 7, + [11] = 6, + [12] = 12, + [13] = 13, + [14] = 14, + [15] = 12, + [16] = 13, + [17] = 13, + [18] = 13, + [19] = 14, + [20] = 12, + [21] = 21, + [22] = 13, + [23] = 13, + [24] = 24, + [25] = 25, + [26] = 14, + [27] = 27, + [28] = 27, + [29] = 29, + [30] = 27, + [31] = 31, + [32] = 31, + [33] = 33, + [34] = 27, + [35] = 29, + [36] = 36, + [37] = 31, + [38] = 38, + [39] = 39, + [40] = 40, + [41] = 41, + [42] = 42, + [43] = 43, + [44] = 44, + [45] = 45, + [46] = 46, + [47] = 41, + [48] = 41, + [49] = 39, + [50] = 42, + [51] = 42, + [52] = 52, + [53] = 53, + [54] = 54, + [55] = 53, + [56] = 56, + [57] = 57, + [58] = 58, + [59] = 59, + [60] = 60, + [61] = 60, + [62] = 60, + [63] = 59, + [64] = 64, + [65] = 56, + [66] = 53, + [67] = 67, + [68] = 68, + [69] = 52, + [70] = 70, + [71] = 59, + [72] = 72, + [73] = 73, + [74] = 74, + [75] = 75, + [76] = 76, + [77] = 75, + [78] = 73, + [79] = 72, + [80] = 70, + [81] = 67, + [82] = 82, + [83] = 76, + [84] = 53, + [85] = 56, + [86] = 67, + [87] = 59, + [88] = 88, + [89] = 60, + [90] = 58, + [91] = 91, + [92] = 54, + [93] = 64, + [94] = 94, + [95] = 94, + [96] = 96, + [97] = 97, + [98] = 57, + [99] = 99, + [100] = 52, + [101] = 64, + [102] = 60, + [103] = 70, + [104] = 59, + [105] = 105, + [106] = 56, + [107] = 64, + [108] = 64, + [109] = 67, + [110] = 52, + [111] = 59, + [112] = 70, + [113] = 105, + [114] = 72, + [115] = 73, + [116] = 75, + [117] = 76, + [118] = 76, + [119] = 75, + [120] = 73, + [121] = 72, + [122] = 122, + [123] = 72, + [124] = 124, + [125] = 70, + [126] = 52, + [127] = 67, + [128] = 53, + [129] = 129, + [130] = 73, + [131] = 56, + [132] = 132, + [133] = 59, + [134] = 60, + [135] = 58, + [136] = 54, + [137] = 64, + [138] = 56, + [139] = 53, + [140] = 67, + [141] = 52, + [142] = 70, + [143] = 72, + [144] = 73, + [145] = 75, + [146] = 76, + [147] = 94, + [148] = 75, + [149] = 76, + [150] = 150, + [151] = 151, + [152] = 152, + [153] = 105, + [154] = 152, + [155] = 155, + [156] = 57, + [157] = 157, + [158] = 158, + [159] = 159, + [160] = 160, + [161] = 161, + [162] = 161, + [163] = 161, + [164] = 164, + [165] = 165, + [166] = 166, + [167] = 167, + [168] = 168, + [169] = 169, + [170] = 170, + [171] = 171, + [172] = 172, + [173] = 173, + [174] = 174, + [175] = 175, + [176] = 176, + [177] = 177, + [178] = 178, + [179] = 179, + [180] = 180, + [181] = 181, + [182] = 182, + [183] = 183, + [184] = 184, + [185] = 185, + [186] = 186, + [187] = 187, + [188] = 188, + [189] = 189, + [190] = 190, + [191] = 191, + [192] = 192, + [193] = 193, + [194] = 194, + [195] = 195, + [196] = 196, + [197] = 197, + [198] = 198, + [199] = 199, + [200] = 200, + [201] = 201, + [202] = 202, + [203] = 203, + [204] = 204, + [205] = 205, + [206] = 206, + [207] = 207, + [208] = 208, + [209] = 209, + [210] = 210, + [211] = 211, + [212] = 212, + [213] = 213, + [214] = 214, + [215] = 215, + [216] = 216, + [217] = 217, + [218] = 218, + [219] = 219, + [220] = 220, + [221] = 221, + [222] = 222, + [223] = 223, + [224] = 224, + [225] = 225, + [226] = 226, + [227] = 227, + [228] = 228, + [229] = 229, + [230] = 230, + [231] = 231, + [232] = 232, + [233] = 233, + [234] = 234, + [235] = 235, + [236] = 236, + [237] = 237, + [238] = 238, + [239] = 239, + [240] = 240, + [241] = 241, + [242] = 242, + [243] = 243, + [244] = 244, + [245] = 245, + [246] = 246, + [247] = 247, + [248] = 248, + [249] = 249, + [250] = 250, + [251] = 251, + [252] = 252, + [253] = 253, + [254] = 254, + [255] = 255, + [256] = 256, + [257] = 257, + [258] = 258, + [259] = 259, + [260] = 260, + [261] = 261, + [262] = 262, + [263] = 263, + [264] = 263, + [265] = 263, + [266] = 266, + [267] = 267, + [268] = 164, + [269] = 165, + [270] = 270, + [271] = 271, + [272] = 272, + [273] = 273, + [274] = 273, + [275] = 273, + [276] = 272, + [277] = 277, + [278] = 258, + [279] = 231, + [280] = 260, + [281] = 257, + [282] = 251, + [283] = 262, + [284] = 261, + [285] = 261, + [286] = 260, + [287] = 252, + [288] = 253, + [289] = 257, + [290] = 270, + [291] = 255, + [292] = 259, + [293] = 253, + [294] = 251, + [295] = 256, + [296] = 256, + [297] = 262, + [298] = 254, + [299] = 254, + [300] = 300, + [301] = 258, + [302] = 252, + [303] = 303, + [304] = 255, + [305] = 259, + [306] = 167, + [307] = 171, + [308] = 252, + [309] = 262, + [310] = 233, + [311] = 311, + [312] = 172, + [313] = 259, + [314] = 255, + [315] = 168, + [316] = 254, + [317] = 256, + [318] = 318, + [319] = 256, + [320] = 254, + [321] = 258, + [322] = 173, + [323] = 258, + [324] = 252, + [325] = 170, + [326] = 260, + [327] = 327, + [328] = 261, + [329] = 253, + [330] = 169, + [331] = 257, + [332] = 260, + [333] = 261, + [334] = 251, + [335] = 251, + [336] = 253, + [337] = 174, + [338] = 257, + [339] = 231, + [340] = 340, + [341] = 262, + [342] = 318, + [343] = 318, + [344] = 255, + [345] = 259, + [346] = 233, + [347] = 347, + [348] = 348, + [349] = 349, + [350] = 230, + [351] = 230, + [352] = 259, + [353] = 258, + [354] = 354, + [355] = 355, + [356] = 355, + [357] = 357, + [358] = 262, + [359] = 261, + [360] = 360, + [361] = 270, + [362] = 362, + [363] = 357, + [364] = 364, + [365] = 365, + [366] = 366, + [367] = 253, + [368] = 260, + [369] = 255, + [370] = 370, + [371] = 371, + [372] = 256, + [373] = 254, + [374] = 258, + [375] = 257, + [376] = 355, + [377] = 377, + [378] = 357, + [379] = 252, + [380] = 251, + [381] = 360, + [382] = 382, + [383] = 383, + [384] = 230, + [385] = 183, + [386] = 386, + [387] = 387, + [388] = 387, + [389] = 389, + [390] = 387, + [391] = 391, + [392] = 392, + [393] = 387, + [394] = 175, + [395] = 215, + [396] = 212, + [397] = 211, + [398] = 208, + [399] = 204, + [400] = 179, + [401] = 188, + [402] = 202, + [403] = 191, + [404] = 196, + [405] = 194, + [406] = 406, + [407] = 205, + [408] = 408, + [409] = 192, + [410] = 219, + [411] = 227, + [412] = 238, + [413] = 236, + [414] = 206, + [415] = 182, + [416] = 220, + [417] = 184, + [418] = 418, + [419] = 181, + [420] = 217, + [421] = 178, + [422] = 223, + [423] = 423, + [424] = 424, + [425] = 193, + [426] = 197, + [427] = 232, + [428] = 387, + [429] = 239, + [430] = 387, + [431] = 234, + [432] = 207, + [433] = 214, + [434] = 210, + [435] = 199, + [436] = 185, + [437] = 180, + [438] = 195, + [439] = 190, + [440] = 200, + [441] = 186, + [442] = 189, + [443] = 230, + [444] = 229, + [445] = 237, + [446] = 446, + [447] = 213, + [448] = 222, + [449] = 449, + [450] = 228, + [451] = 451, + [452] = 203, + [453] = 221, + [454] = 226, + [455] = 209, + [456] = 176, + [457] = 235, + [458] = 177, + [459] = 187, + [460] = 198, + [461] = 461, + [462] = 462, + [463] = 218, + [464] = 464, + [465] = 462, + [466] = 464, + [467] = 462, + [468] = 468, + [469] = 464, + [470] = 225, + [471] = 201, + [472] = 472, + [473] = 172, + [474] = 224, + [475] = 475, + [476] = 476, + [477] = 245, + [478] = 246, + [479] = 165, + [480] = 241, + [481] = 164, + [482] = 248, + [483] = 242, + [484] = 249, + [485] = 485, + [486] = 167, + [487] = 303, + [488] = 488, + [489] = 235, + [490] = 229, + [491] = 491, + [492] = 172, + [493] = 493, + [494] = 494, + [495] = 495, + [496] = 174, + [497] = 168, + [498] = 170, + [499] = 233, + [500] = 169, + [501] = 173, + [502] = 171, + [503] = 503, + [504] = 190, + [505] = 235, + [506] = 227, + [507] = 238, + [508] = 219, + [509] = 236, + [510] = 510, + [511] = 205, + [512] = 182, + [513] = 230, + [514] = 206, + [515] = 229, + [516] = 220, + [517] = 217, + [518] = 234, + [519] = 207, + [520] = 195, + [521] = 189, + [522] = 224, + [523] = 201, + [524] = 191, + [525] = 180, + [526] = 185, + [527] = 199, + [528] = 188, + [529] = 179, + [530] = 222, + [531] = 203, + [532] = 197, + [533] = 187, + [534] = 193, + [535] = 177, + [536] = 223, + [537] = 178, + [538] = 198, + [539] = 209, + [540] = 181, + [541] = 183, + [542] = 225, + [543] = 423, + [544] = 186, + [545] = 184, + [546] = 200, + [547] = 210, + [548] = 214, + [549] = 175, + [550] = 215, + [551] = 212, + [552] = 211, + [553] = 208, + [554] = 232, + [555] = 204, + [556] = 202, + [557] = 192, + [558] = 196, + [559] = 194, + [560] = 560, + [561] = 561, + [562] = 562, + [563] = 563, + [564] = 165, + [565] = 164, + [566] = 566, + [567] = 567, + [568] = 568, + [569] = 569, + [570] = 570, + [571] = 571, + [572] = 572, + [573] = 573, + [574] = 574, + [575] = 573, + [576] = 576, + [577] = 573, + [578] = 578, + [579] = 579, + [580] = 573, + [581] = 573, + [582] = 573, + [583] = 583, + [584] = 584, + [585] = 585, + [586] = 573, + [587] = 587, + [588] = 588, + [589] = 589, + [590] = 590, + [591] = 303, + [592] = 592, + [593] = 593, + [594] = 594, + [595] = 595, + [596] = 596, + [597] = 595, + [598] = 598, + [599] = 595, + [600] = 595, + [601] = 601, + [602] = 602, + [603] = 602, + [604] = 604, + [605] = 605, + [606] = 606, + [607] = 607, + [608] = 584, + [609] = 602, + [610] = 604, + [611] = 611, + [612] = 612, + [613] = 606, + [614] = 607, + [615] = 615, + [616] = 607, + [617] = 606, + [618] = 618, + [619] = 619, + [620] = 620, + [621] = 621, + [622] = 622, + [623] = 623, + [624] = 624, + [625] = 621, + [626] = 626, + [627] = 627, + [628] = 628, + [629] = 629, + [630] = 630, + [631] = 631, + [632] = 632, + [633] = 633, + [634] = 621, + [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] = 650, + [651] = 651, + [652] = 652, + [653] = 653, + [654] = 654, + [655] = 655, + [656] = 656, + [657] = 637, + [658] = 658, + [659] = 659, + [660] = 660, + [661] = 661, + [662] = 659, + [663] = 663, + [664] = 664, + [665] = 665, + [666] = 666, + [667] = 667, + [668] = 668, + [669] = 660, + [670] = 655, + [671] = 637, + [672] = 672, + [673] = 655, + [674] = 674, + [675] = 675, + [676] = 676, + [677] = 677, + [678] = 678, + [679] = 679, + [680] = 680, + [681] = 681, + [682] = 682, + [683] = 683, + [684] = 684, + [685] = 685, + [686] = 686, + [687] = 687, + [688] = 688, + [689] = 689, + [690] = 690, + [691] = 691, + [692] = 692, + [693] = 693, + [694] = 167, + [695] = 695, + [696] = 696, + [697] = 697, + [698] = 698, + [699] = 699, + [700] = 700, + [701] = 701, + [702] = 702, + [703] = 660, + [704] = 704, + [705] = 705, + [706] = 653, + [707] = 707, + [708] = 708, + [709] = 709, + [710] = 659, + [711] = 653, + [712] = 660, + [713] = 659, + [714] = 714, + [715] = 715, + [716] = 716, + [717] = 717, + [718] = 718, + [719] = 719, + [720] = 720, + [721] = 721, + [722] = 722, + [723] = 723, + [724] = 584, + [725] = 725, + [726] = 726, + [727] = 727, + [728] = 728, + [729] = 729, + [730] = 730, + [731] = 731, + [732] = 732, + [733] = 733, + [734] = 734, + [735] = 735, + [736] = 736, + [737] = 734, + [738] = 738, + [739] = 739, + [740] = 736, + [741] = 741, + [742] = 742, + [743] = 735, + [744] = 738, + [745] = 745, + [746] = 746, + [747] = 747, + [748] = 748, + [749] = 749, + [750] = 750, + [751] = 736, + [752] = 752, + [753] = 753, + [754] = 745, + [755] = 749, + [756] = 750, + [757] = 734, + [758] = 758, + [759] = 759, + [760] = 745, + [761] = 761, + [762] = 750, + [763] = 763, + [764] = 736, + [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] = 766, + [782] = 782, + [783] = 783, + [784] = 784, + [785] = 785, + [786] = 786, + [787] = 787, + [788] = 788, + [789] = 789, + [790] = 790, + [791] = 791, + [792] = 792, + [793] = 793, + [794] = 794, + [795] = 795, + [796] = 796, + [797] = 797, + [798] = 798, + [799] = 799, + [800] = 800, + [801] = 801, + [802] = 802, + [803] = 803, + [804] = 804, + [805] = 805, + [806] = 806, + [807] = 807, + [808] = 808, + [809] = 809, + [810] = 810, + [811] = 811, + [812] = 812, + [813] = 813, + [814] = 814, + [815] = 815, + [816] = 816, + [817] = 168, + [818] = 818, + [819] = 819, + [820] = 804, + [821] = 769, + [822] = 174, + [823] = 823, + [824] = 824, + [825] = 173, + [826] = 826, + [827] = 170, + [828] = 800, + [829] = 829, + [830] = 773, + [831] = 831, + [832] = 832, + [833] = 823, + [834] = 834, + [835] = 835, + [836] = 773, + [837] = 837, + [838] = 838, + [839] = 839, + [840] = 840, + [841] = 841, + [842] = 842, + [843] = 843, + [844] = 844, + [845] = 798, + [846] = 846, + [847] = 842, + [848] = 800, + [849] = 805, + [850] = 804, + [851] = 774, + [852] = 807, + [853] = 853, + [854] = 826, + [855] = 811, + [856] = 767, + [857] = 775, + [858] = 814, + [859] = 777, + [860] = 782, + [861] = 861, + [862] = 840, + [863] = 768, + [864] = 769, + [865] = 823, + [866] = 831, + [867] = 831, + [868] = 768, + [869] = 823, + [870] = 814, + [871] = 871, + [872] = 782, + [873] = 777, + [874] = 814, + [875] = 775, + [876] = 767, + [877] = 826, + [878] = 811, + [879] = 206, + [880] = 807, + [881] = 769, + [882] = 882, + [883] = 805, + [884] = 800, + [885] = 885, + [886] = 774, + [887] = 779, + [888] = 804, + [889] = 842, + [890] = 798, + [891] = 891, + [892] = 892, + [893] = 773, + [894] = 769, + [895] = 861, + [896] = 840, + [897] = 897, + [898] = 898, + [899] = 899, + [900] = 900, + [901] = 901, + [902] = 902, + [903] = 903, + [904] = 904, + [905] = 905, + [906] = 906, + [907] = 907, + [908] = 908, + [909] = 909, + [910] = 910, + [911] = 911, + [912] = 912, + [913] = 913, + [914] = 914, + [915] = 915, + [916] = 916, + [917] = 917, + [918] = 918, + [919] = 898, + [920] = 920, + [921] = 921, + [922] = 922, + [923] = 923, + [924] = 924, + [925] = 925, + [926] = 901, + [927] = 927, + [928] = 898, + [929] = 929, + [930] = 930, + [931] = 931, + [932] = 932, + [933] = 898, + [934] = 934, + [935] = 935, + [936] = 936, + [937] = 937, + [938] = 938, + [939] = 897, + [940] = 904, + [941] = 941, + [942] = 942, + [943] = 943, + [944] = 944, + [945] = 945, + [946] = 946, + [947] = 947, + [948] = 948, + [949] = 949, + [950] = 950, + [951] = 951, + [952] = 952, + [953] = 953, + [954] = 953, + [955] = 952, + [956] = 956, + [957] = 957, + [958] = 949, + [959] = 959, + [960] = 960, + [961] = 947, + [962] = 946, + [963] = 963, + [964] = 964, + [965] = 965, + [966] = 966, + [967] = 957, + [968] = 968, + [969] = 969, + [970] = 966, + [971] = 971, + [972] = 972, + [973] = 973, + [974] = 974, + [975] = 975, + [976] = 976, + [977] = 953, + [978] = 978, + [979] = 979, + [980] = 980, + [981] = 952, + [982] = 982, + [983] = 983, + [984] = 947, + [985] = 985, + [986] = 986, + [987] = 987, + [988] = 988, + [989] = 964, + [990] = 979, + [991] = 991, + [992] = 992, + [993] = 993, + [994] = 994, + [995] = 995, + [996] = 996, + [997] = 997, + [998] = 998, + [999] = 966, + [1000] = 1000, + [1001] = 1001, + [1002] = 1002, + [1003] = 1003, + [1004] = 957, + [1005] = 1005, + [1006] = 1006, + [1007] = 1007, + [1008] = 1008, + [1009] = 1009, + [1010] = 1010, + [1011] = 1011, + [1012] = 1012, + [1013] = 1013, + [1014] = 971, + [1015] = 1015, + [1016] = 1016, + [1017] = 1017, + [1018] = 1018, + [1019] = 1019, + [1020] = 1020, + [1021] = 1021, + [1022] = 974, + [1023] = 1023, + [1024] = 1024, + [1025] = 1025, + [1026] = 1026, + [1027] = 1027, + [1028] = 1028, + [1029] = 1029, + [1030] = 1030, + [1031] = 1031, + [1032] = 1032, + [1033] = 1033, + [1034] = 1034, + [1035] = 1035, + [1036] = 1036, + [1037] = 1037, + [1038] = 1038, + [1039] = 1039, + [1040] = 1040, + [1041] = 1041, + [1042] = 1042, + [1043] = 1043, + [1044] = 1044, + [1045] = 1036, + [1046] = 1046, + [1047] = 1047, + [1048] = 949, + [1049] = 1049, + [1050] = 1050, + [1051] = 1051, + [1052] = 964, + [1053] = 1053, + [1054] = 1054, + [1055] = 1055, + [1056] = 1056, + [1057] = 1057, + [1058] = 1058, + [1059] = 1059, + [1060] = 1060, + [1061] = 1061, + [1062] = 1062, + [1063] = 1063, + [1064] = 1064, + [1065] = 1065, + [1066] = 1066, + [1067] = 1067, + [1068] = 1068, + [1069] = 1069, + [1070] = 971, + [1071] = 974, + [1072] = 946, + [1073] = 1073, + [1074] = 1074, + [1075] = 1075, +}; + +static bool ts_lex(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + if (eof) ADVANCE(167); + if (lookahead == '!') ADVANCE(214); + if (lookahead == '"') ADVANCE(5); + if (lookahead == '#') ADVANCE(225); + if (lookahead == '$') ADVANCE(142); + if (lookahead == '%') ADVANCE(261); + if (lookahead == '\'') ADVANCE(14); + if (lookahead == '(') ADVANCE(172); + if (lookahead == ')') ADVANCE(173); + if (lookahead == '*') ADVANCE(219); + if (lookahead == '+') ADVANCE(230); + if (lookahead == ',') ADVANCE(185); + if (lookahead == '-') ADVANCE(169); + if (lookahead == '.') ADVANCE(174); + if (lookahead == '/') ADVANCE(218); + if (lookahead == ':') ADVANCE(205); + if (lookahead == ';') ADVANCE(203); + if (lookahead == '<') ADVANCE(237); + if (lookahead == '=') ADVANCE(213); + if (lookahead == '>') ADVANCE(239); + if (lookahead == '?') ADVANCE(228); + if (lookahead == '[') ADVANCE(190); + if (lookahead == ']') ADVANCE(191); + if (lookahead == '{') ADVANCE(223); + if (lookahead == '|') ADVANCE(208); + if (lookahead == '}') ADVANCE(224); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(244); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + (192 <= lookahead && lookahead <= 214) || + (216 <= lookahead && lookahead <= 222)) ADVANCE(242); + if (('a' <= lookahead && lookahead <= 'z') || + (223 <= lookahead && lookahead <= 246) || + (248 <= lookahead && lookahead <= 255)) ADVANCE(260); + if ((1 <= lookahead && lookahead <= ' ') || + (128 <= lookahead && lookahead <= 160)) SKIP(0) + END_STATE(); + case 1: + if (lookahead == '!') ADVANCE(214); + if (lookahead == '"') ADVANCE(5); + if (lookahead == '#') ADVANCE(225); + if (lookahead == '%') ADVANCE(261); + if (lookahead == '\'') ADVANCE(109); + if (lookahead == '(') ADVANCE(172); + if (lookahead == ')') ADVANCE(173); + if (lookahead == '*') ADVANCE(219); + if (lookahead == '+') ADVANCE(230); + if (lookahead == ',') ADVANCE(185); + if (lookahead == '-') ADVANCE(169); + if (lookahead == '.') ADVANCE(174); + if (lookahead == '/') ADVANCE(218); + if (lookahead == ':') ADVANCE(205); + if (lookahead == ';') ADVANCE(203); + if (lookahead == '<') ADVANCE(236); + if (lookahead == '=') ADVANCE(213); + if (lookahead == '>') ADVANCE(239); + if (lookahead == '?') ADVANCE(228); + if (lookahead == ']') ADVANCE(191); + if (lookahead == '|') ADVANCE(208); + if (lookahead == '}') ADVANCE(224); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(246); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + (192 <= lookahead && lookahead <= 214) || + (216 <= lookahead && lookahead <= 222)) ADVANCE(242); + if (('a' <= lookahead && lookahead <= 'z') || + (223 <= lookahead && lookahead <= 246) || + (248 <= lookahead && lookahead <= 255)) ADVANCE(260); + if ((1 <= lookahead && lookahead <= ' ') || + (128 <= lookahead && lookahead <= 160)) SKIP(1) + END_STATE(); + case 2: + if (lookahead == '!') ADVANCE(214); + if (lookahead == '"') ADVANCE(5); + if (lookahead == '#') ADVANCE(225); + if (lookahead == '%') ADVANCE(261); + if (lookahead == '\'') ADVANCE(109); + if (lookahead == '(') ADVANCE(172); + if (lookahead == '*') ADVANCE(219); + if (lookahead == '+') ADVANCE(230); + if (lookahead == ',') ADVANCE(185); + if (lookahead == '-') ADVANCE(169); + if (lookahead == '.') ADVANCE(134); + if (lookahead == '/') ADVANCE(218); + if (lookahead == ':') ADVANCE(204); + if (lookahead == '<') ADVANCE(237); + if (lookahead == '=') ADVANCE(212); + if (lookahead == '>') ADVANCE(239); + if (lookahead == '?') ADVANCE(228); + if (lookahead == ']') ADVANCE(191); + if (lookahead == '|') ADVANCE(207); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + (192 <= lookahead && lookahead <= 214) || + (216 <= lookahead && lookahead <= 222)) ADVANCE(242); + if (('a' <= lookahead && lookahead <= 'z') || + (223 <= lookahead && lookahead <= 246) || + (248 <= lookahead && lookahead <= 255)) ADVANCE(260); + if ((1 <= lookahead && lookahead <= ' ') || + (128 <= lookahead && lookahead <= 160)) SKIP(2) + END_STATE(); + case 3: + if (lookahead == '"') ADVANCE(5); + if (lookahead == '#') ADVANCE(225); + if (lookahead == '$') ADVANCE(142); + if (lookahead == '%') ADVANCE(261); + if (lookahead == '\'') ADVANCE(109); + if (lookahead == '(') ADVANCE(172); + if (lookahead == ')') ADVANCE(173); + if (lookahead == '*') ADVANCE(219); + if (lookahead == '+') ADVANCE(229); + if (lookahead == ',') ADVANCE(185); + if (lookahead == '-') ADVANCE(168); + if (lookahead == '.') ADVANCE(175); + if (lookahead == '/') ADVANCE(217); + if (lookahead == ':') ADVANCE(204); + if (lookahead == ';') ADVANCE(203); + if (lookahead == '<') ADVANCE(138); + if (lookahead == '=') ADVANCE(211); + if (lookahead == '>') ADVANCE(141); + if (lookahead == '?') ADVANCE(228); + if (lookahead == '[') ADVANCE(190); + if (lookahead == ']') ADVANCE(191); + if (lookahead == '{') ADVANCE(223); + if (lookahead == '|') ADVANCE(148); + if (lookahead == '}') ADVANCE(224); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(244); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + (192 <= lookahead && lookahead <= 214) || + (216 <= lookahead && lookahead <= 222)) ADVANCE(242); + if (('a' <= lookahead && lookahead <= 'z') || + (223 <= lookahead && lookahead <= 246) || + (248 <= lookahead && lookahead <= 255)) ADVANCE(260); + if ((1 <= lookahead && lookahead <= ' ') || + (128 <= lookahead && lookahead <= 160)) SKIP(3) + END_STATE(); + case 4: + if (lookahead == '"') ADVANCE(252); + if (lookahead == '\\') ADVANCE(144); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(5); + if (lookahead != 0) ADVANCE(5); + END_STATE(); + case 5: + if (lookahead == '"') ADVANCE(252); + if (lookahead == '\\') ADVANCE(144); + if (lookahead != 0) ADVANCE(5); + END_STATE(); + case 6: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == '_') ADVANCE(22); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 7: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'a') ADVANCE(67); + if (lookahead == 'o') ADVANCE(75); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 8: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'a') ADVANCE(92); + if (lookahead == 't') ADVANCE(59); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 9: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'a') ADVANCE(105); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 10: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'a') ADVANCE(18); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 11: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'a') ADVANCE(68); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 12: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'a') ADVANCE(19); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 13: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'a') ADVANCE(74); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 14: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'b') ADVANCE(30); + if (lookahead == 'c') ADVANCE(7); + if (lookahead == 'd') ADVANCE(31); + if (lookahead == 'e') ADVANCE(64); + if (lookahead == 'f') ADVANCE(55); + if (lookahead == 'i') ADVANCE(46); + if (lookahead == 'm') ADVANCE(81); + if (lookahead == 'o') ADVANCE(85); + if (lookahead == 'r') ADVANCE(32); + if (lookahead == 's') ADVANCE(87); + if (lookahead == 't') ADVANCE(106); + if (lookahead == 'u') ADVANCE(76); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 15: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'b') ADVANCE(10); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 16: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'b') ADVANCE(132); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 17: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'b') ADVANCE(12); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 18: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'c') ADVANCE(63); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 19: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'c') ADVANCE(62); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 20: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'c') ADVANCE(82); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 21: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'c') ADVANCE(66); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 22: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'c') ADVANCE(13); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 23: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'c') ADVANCE(114); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 24: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'd') ADVANCE(102); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 25: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'd') ADVANCE(58); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 26: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'd') ADVANCE(33); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 27: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'd') ADVANCE(125); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 28: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'd') ADVANCE(44); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 29: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'd') ADVANCE(45); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 30: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'e') ADVANCE(53); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 31: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'e') ADVANCE(47); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 32: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'e') ADVANCE(20); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 33: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'e') ADVANCE(127); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 34: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'e') ADVANCE(112); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 35: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'e') ADVANCE(23); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 36: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'e') ADVANCE(113); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 37: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'e') ADVANCE(115); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 38: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'e') ADVANCE(119); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 39: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'e') ADVANCE(123); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 40: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'e') ADVANCE(124); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 41: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'e') ADVANCE(126); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 42: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'e') ADVANCE(131); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 43: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'e') ADVANCE(50); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 44: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'e') ADVANCE(51); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 45: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'e') ADVANCE(52); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 46: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'f') ADVANCE(110); + if (lookahead == 'm') ADVANCE(89); + if (lookahead == 'n') ADVANCE(21); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 47: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'f') ADVANCE(54); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 48: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'f') ADVANCE(111); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 49: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'f') ADVANCE(116); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 50: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'f') ADVANCE(117); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 51: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'f') ADVANCE(118); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 52: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'f') ADVANCE(121); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 53: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'h') ADVANCE(9); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 54: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'i') ADVANCE(78); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 55: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'i') ADVANCE(70); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 56: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'i') ADVANCE(48); + if (lookahead == 's') ADVANCE(34); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 57: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'i') ADVANCE(16); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 58: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'i') ADVANCE(49); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 59: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'i') ADVANCE(83); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 60: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'i') ADVANCE(80); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 61: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'i') ADVANCE(72); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 62: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'k') ADVANCE(98); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 63: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'k') ADVANCE(129); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 64: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'l') ADVANCE(56); + if (lookahead == 'n') ADVANCE(25); + if (lookahead == 'x') ADVANCE(86); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 65: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'l') ADVANCE(15); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 66: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'l') ADVANCE(103); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 67: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'l') ADVANCE(65); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 68: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'l') ADVANCE(6); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 69: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'l') ADVANCE(57); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 70: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'l') ADVANCE(36); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 71: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'l') ADVANCE(39); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 72: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'l') ADVANCE(41); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 73: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'l') ADVANCE(17); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 74: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'l') ADVANCE(73); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 75: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'm') ADVANCE(91); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 76: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'n') ADVANCE(28); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 77: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'n') ADVANCE(11); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 78: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'n') ADVANCE(38); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 79: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'o') ADVANCE(93); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 80: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'o') ADVANCE(96); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 81: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'o') ADVANCE(24); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 82: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'o') ADVANCE(95); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 83: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'o') ADVANCE(77); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 84: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'o') ADVANCE(94); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 85: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'p') ADVANCE(8); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 86: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'p') ADVANCE(79); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 87: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'p') ADVANCE(35); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 88: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'p') ADVANCE(37); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 89: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'p') ADVANCE(84); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 90: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'p') ADVANCE(42); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 91: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'p') ADVANCE(61); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 92: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'q') ADVANCE(104); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 93: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'r') ADVANCE(99); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 94: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'r') ADVANCE(100); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 95: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'r') ADVANCE(27); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 96: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'r') ADVANCE(128); + if (lookahead == 'u') ADVANCE(97); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 97: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'r') ADVANCE(130); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 98: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 's') ADVANCE(133); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 99: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 't') ADVANCE(120); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 100: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 't') ADVANCE(122); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 101: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 't') ADVANCE(107); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 102: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'u') ADVANCE(71); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 103: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'u') ADVANCE(26); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 104: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'u') ADVANCE(40); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 105: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'v') ADVANCE(60); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 106: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'y') ADVANCE(88); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 107: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'y') ADVANCE(90); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 108: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(109); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 109: + if (lookahead == '\'') ADVANCE(259); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 110: + if (lookahead == '\'') ADVANCE(182); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == 'd') ADVANCE(43); + if (lookahead == 'n') ADVANCE(29); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 111: + if (lookahead == '\'') ADVANCE(183); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 112: + if (lookahead == '\'') ADVANCE(180); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 113: + if (lookahead == '\'') ADVANCE(196); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 114: + if (lookahead == '\'') ADVANCE(201); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 115: + if (lookahead == '\'') ADVANCE(197); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 116: + if (lookahead == '\'') ADVANCE(181); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 117: + if (lookahead == '\'') ADVANCE(178); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 118: + if (lookahead == '\'') ADVANCE(177); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 119: + if (lookahead == '\'') ADVANCE(184); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 120: + if (lookahead == '\'') ADVANCE(189); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == '_') ADVANCE(101); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 121: + if (lookahead == '\'') ADVANCE(179); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 122: + if (lookahead == '\'') ADVANCE(192); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 123: + if (lookahead == '\'') ADVANCE(186); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 124: + if (lookahead == '\'') ADVANCE(198); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 125: + if (lookahead == '\'') ADVANCE(200); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 126: + if (lookahead == '\'') ADVANCE(195); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 127: + if (lookahead == '\'') ADVANCE(171); + if (lookahead == '\\') ADVANCE(145); + if (lookahead == '_') ADVANCE(69); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 128: + if (lookahead == '\'') ADVANCE(188); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 129: + if (lookahead == '\'') ADVANCE(202); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 130: + if (lookahead == '\'') ADVANCE(187); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 131: + if (lookahead == '\'') ADVANCE(194); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 132: + if (lookahead == '\'') ADVANCE(176); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 133: + if (lookahead == '\'') ADVANCE(193); + if (lookahead == '\\') ADVANCE(145); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 134: + if (lookahead == '.') ADVANCE(209); + END_STATE(); + case 135: + if (lookahead == '.') ADVANCE(210); + END_STATE(); + case 136: + if (lookahead == '.') ADVANCE(135); + END_STATE(); + case 137: + if (lookahead == ':') ADVANCE(199); + END_STATE(); + case 138: + if (lookahead == '<') ADVANCE(215); + END_STATE(); + case 139: + if (lookahead == '=') ADVANCE(241); + END_STATE(); + case 140: + if (lookahead == '=') ADVANCE(240); + END_STATE(); + case 141: + if (lookahead == '>') ADVANCE(216); + END_STATE(); + case 142: + if (lookahead == '\\') ADVANCE(143); + if (lookahead != 0) ADVANCE(253); + END_STATE(); + case 143: + if (lookahead == '\\') ADVANCE(255); + if (lookahead == '^') ADVANCE(258); + if (lookahead == 'x') ADVANCE(254); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(257); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(253); + END_STATE(); + case 144: + if (lookahead == '^') ADVANCE(164); + if (lookahead == 'x') ADVANCE(146); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(4); + if (lookahead != 0) ADVANCE(5); + END_STATE(); + case 145: + if (lookahead == '^') ADVANCE(165); + if (lookahead == 'x') ADVANCE(147); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(108); + if (lookahead != 0) ADVANCE(109); + END_STATE(); + case 146: + if (lookahead == '{') ADVANCE(160); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(157); + END_STATE(); + case 147: + if (lookahead == '{') ADVANCE(162); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(159); + END_STATE(); + case 148: + if (lookahead == '|') ADVANCE(220); + END_STATE(); + case 149: + if (lookahead == '}') ADVANCE(5); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(149); + END_STATE(); + case 150: + if (lookahead == '}') ADVANCE(253); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(150); + END_STATE(); + case 151: + if (lookahead == '}') ADVANCE(109); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(151); + END_STATE(); + case 152: + if (lookahead == '+' || + lookahead == '-') ADVANCE(155); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(251); + END_STATE(); + case 153: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(250); + END_STATE(); + case 154: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(247); + END_STATE(); + case 155: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(251); + END_STATE(); + case 156: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(249); + END_STATE(); + case 157: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(5); + END_STATE(); + case 158: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(253); + END_STATE(); + case 159: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(109); + END_STATE(); + case 160: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(149); + END_STATE(); + case 161: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(150); + END_STATE(); + case 162: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(151); + END_STATE(); + case 163: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(248); + END_STATE(); + case 164: + if (lookahead != 0 && + lookahead != '\n') ADVANCE(5); + END_STATE(); + case 165: + if (lookahead != 0 && + lookahead != '\n') ADVANCE(109); + END_STATE(); + case 166: + if (eof) ADVANCE(167); + if (lookahead == '"') ADVANCE(5); + if (lookahead == '#') ADVANCE(225); + if (lookahead == '$') ADVANCE(142); + if (lookahead == '%') ADVANCE(261); + if (lookahead == '\'') ADVANCE(109); + if (lookahead == '(') ADVANCE(172); + if (lookahead == ')') ADVANCE(173); + if (lookahead == '+') ADVANCE(229); + if (lookahead == ',') ADVANCE(185); + if (lookahead == '-') ADVANCE(170); + if (lookahead == '.') ADVANCE(136); + if (lookahead == ':') ADVANCE(137); + if (lookahead == ';') ADVANCE(203); + if (lookahead == '<') ADVANCE(138); + if (lookahead == '=') ADVANCE(211); + if (lookahead == '>') ADVANCE(141); + if (lookahead == '?') ADVANCE(228); + if (lookahead == '[') ADVANCE(190); + if (lookahead == ']') ADVANCE(191); + if (lookahead == '{') ADVANCE(223); + if (lookahead == '}') ADVANCE(224); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(244); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + (192 <= lookahead && lookahead <= 214) || + (216 <= lookahead && lookahead <= 222)) ADVANCE(242); + if (('a' <= lookahead && lookahead <= 'z') || + (223 <= lookahead && lookahead <= 246) || + (248 <= lookahead && lookahead <= 255)) ADVANCE(260); + if ((1 <= lookahead && lookahead <= ' ') || + (128 <= lookahead && lookahead <= 160)) SKIP(166) + END_STATE(); + case 167: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 168: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); + case 169: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(232); + if (lookahead == '>') ADVANCE(206); + END_STATE(); + case 170: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '>') ADVANCE(206); + END_STATE(); + case 171: + ACCEPT_TOKEN(anon_sym_SQUOTEinclude_SQUOTE); + END_STATE(); + case 172: + ACCEPT_TOKEN(anon_sym_LPAREN); + END_STATE(); + case 173: + ACCEPT_TOKEN(anon_sym_RPAREN); + END_STATE(); + case 174: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(209); + END_STATE(); + case 175: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(135); + END_STATE(); + case 176: + ACCEPT_TOKEN(anon_sym_SQUOTEinclude_lib_SQUOTE); + END_STATE(); + case 177: + ACCEPT_TOKEN(anon_sym_SQUOTEundef_SQUOTE); + END_STATE(); + case 178: + ACCEPT_TOKEN(anon_sym_SQUOTEifdef_SQUOTE); + END_STATE(); + case 179: + ACCEPT_TOKEN(anon_sym_SQUOTEifndef_SQUOTE); + END_STATE(); + case 180: + ACCEPT_TOKEN(anon_sym_SQUOTEelse_SQUOTE); + END_STATE(); + case 181: + ACCEPT_TOKEN(anon_sym_SQUOTEendif_SQUOTE); + END_STATE(); + case 182: + ACCEPT_TOKEN(anon_sym_SQUOTEif_SQUOTE); + END_STATE(); + case 183: + ACCEPT_TOKEN(anon_sym_SQUOTEelif_SQUOTE); + END_STATE(); + case 184: + ACCEPT_TOKEN(anon_sym_SQUOTEdefine_SQUOTE); + END_STATE(); + case 185: + ACCEPT_TOKEN(anon_sym_COMMA); + END_STATE(); + case 186: + ACCEPT_TOKEN(anon_sym_SQUOTEmodule_SQUOTE); + END_STATE(); + case 187: + ACCEPT_TOKEN(anon_sym_SQUOTEbehaviour_SQUOTE); + END_STATE(); + case 188: + ACCEPT_TOKEN(anon_sym_SQUOTEbehavior_SQUOTE); + END_STATE(); + case 189: + ACCEPT_TOKEN(anon_sym_SQUOTEexport_SQUOTE); + END_STATE(); + case 190: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 191: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 192: + ACCEPT_TOKEN(anon_sym_SQUOTEimport_SQUOTE); + END_STATE(); + case 193: + ACCEPT_TOKEN(anon_sym_SQUOTEoptional_callbacks_SQUOTE); + END_STATE(); + case 194: + ACCEPT_TOKEN(anon_sym_SQUOTEexport_type_SQUOTE); + END_STATE(); + case 195: + ACCEPT_TOKEN(anon_sym_SQUOTEcompile_SQUOTE); + END_STATE(); + case 196: + ACCEPT_TOKEN(anon_sym_SQUOTEfile_SQUOTE); + END_STATE(); + case 197: + ACCEPT_TOKEN(anon_sym_SQUOTEtype_SQUOTE); + END_STATE(); + case 198: + ACCEPT_TOKEN(anon_sym_SQUOTEopaque_SQUOTE); + END_STATE(); + case 199: + ACCEPT_TOKEN(anon_sym_COLON_COLON); + END_STATE(); + case 200: + ACCEPT_TOKEN(anon_sym_SQUOTErecord_SQUOTE); + END_STATE(); + case 201: + ACCEPT_TOKEN(anon_sym_SQUOTEspec_SQUOTE); + END_STATE(); + case 202: + ACCEPT_TOKEN(anon_sym_SQUOTEcallback_SQUOTE); + END_STATE(); + case 203: + ACCEPT_TOKEN(anon_sym_SEMI); + END_STATE(); + case 204: + ACCEPT_TOKEN(anon_sym_COLON); + if (lookahead == ':') ADVANCE(199); + END_STATE(); + case 205: + ACCEPT_TOKEN(anon_sym_COLON); + if (lookahead == ':') ADVANCE(199); + if (lookahead == '=') ADVANCE(227); + END_STATE(); + case 206: + ACCEPT_TOKEN(anon_sym_DASH_GT); + END_STATE(); + case 207: + ACCEPT_TOKEN(anon_sym_PIPE); + END_STATE(); + case 208: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '|') ADVANCE(220); + END_STATE(); + case 209: + ACCEPT_TOKEN(anon_sym_DOT_DOT); + END_STATE(); + case 210: + ACCEPT_TOKEN(sym_dotdotdot); + END_STATE(); + case 211: + ACCEPT_TOKEN(anon_sym_EQ); + END_STATE(); + case 212: + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '/') ADVANCE(139); + if (lookahead == ':') ADVANCE(140); + if (lookahead == '<') ADVANCE(235); + if (lookahead == '=') ADVANCE(233); + END_STATE(); + case 213: + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '/') ADVANCE(139); + if (lookahead == ':') ADVANCE(140); + if (lookahead == '<') ADVANCE(235); + if (lookahead == '=') ADVANCE(233); + if (lookahead == '>') ADVANCE(226); + END_STATE(); + case 214: + ACCEPT_TOKEN(anon_sym_BANG); + END_STATE(); + case 215: + ACCEPT_TOKEN(anon_sym_LT_LT); + END_STATE(); + case 216: + ACCEPT_TOKEN(anon_sym_GT_GT); + END_STATE(); + case 217: + ACCEPT_TOKEN(anon_sym_SLASH); + END_STATE(); + case 218: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '=') ADVANCE(234); + END_STATE(); + case 219: + ACCEPT_TOKEN(anon_sym_STAR); + END_STATE(); + case 220: + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + END_STATE(); + case 221: + ACCEPT_TOKEN(anon_sym_LT_DASH); + END_STATE(); + case 222: + ACCEPT_TOKEN(anon_sym_LT_EQ); + END_STATE(); + case 223: + ACCEPT_TOKEN(anon_sym_LBRACE); + END_STATE(); + case 224: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 225: + ACCEPT_TOKEN(anon_sym_POUND); + END_STATE(); + case 226: + ACCEPT_TOKEN(anon_sym_EQ_GT); + END_STATE(); + case 227: + ACCEPT_TOKEN(anon_sym_COLON_EQ); + END_STATE(); + case 228: + ACCEPT_TOKEN(anon_sym_QMARK); + END_STATE(); + case 229: + ACCEPT_TOKEN(anon_sym_PLUS); + END_STATE(); + case 230: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(231); + END_STATE(); + case 231: + ACCEPT_TOKEN(anon_sym_PLUS_PLUS); + END_STATE(); + case 232: + ACCEPT_TOKEN(anon_sym_DASH_DASH); + END_STATE(); + case 233: + ACCEPT_TOKEN(anon_sym_EQ_EQ); + END_STATE(); + case 234: + ACCEPT_TOKEN(anon_sym_SLASH_EQ); + END_STATE(); + case 235: + ACCEPT_TOKEN(anon_sym_EQ_LT); + END_STATE(); + case 236: + ACCEPT_TOKEN(anon_sym_LT); + END_STATE(); + case 237: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '-') ADVANCE(221); + if (lookahead == '=') ADVANCE(222); + END_STATE(); + case 238: + ACCEPT_TOKEN(anon_sym_GT_EQ); + END_STATE(); + case 239: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(238); + if (lookahead == '>') ADVANCE(216); + END_STATE(); + case 240: + ACCEPT_TOKEN(anon_sym_EQ_COLON_EQ); + END_STATE(); + case 241: + ACCEPT_TOKEN(anon_sym_EQ_SLASH_EQ); + END_STATE(); + case 242: + ACCEPT_TOKEN(sym_var); + if (('0' <= lookahead && lookahead <= '9') || + ('@' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + (192 <= lookahead && lookahead <= 214) || + (216 <= lookahead && lookahead <= 246) || + (248 <= lookahead && lookahead <= 255)) ADVANCE(242); + END_STATE(); + case 243: + ACCEPT_TOKEN(sym_integer); + if (lookahead == '#') ADVANCE(163); + if (lookahead == '.') ADVANCE(153); + if (lookahead == '_') ADVANCE(154); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(247); + END_STATE(); + case 244: + ACCEPT_TOKEN(sym_integer); + if (lookahead == '#') ADVANCE(163); + if (lookahead == '.') ADVANCE(153); + if (lookahead == '_') ADVANCE(154); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(243); + END_STATE(); + case 245: + ACCEPT_TOKEN(sym_integer); + if (lookahead == '#') ADVANCE(163); + if (lookahead == '_') ADVANCE(156); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(249); + END_STATE(); + case 246: + ACCEPT_TOKEN(sym_integer); + if (lookahead == '#') ADVANCE(163); + if (lookahead == '_') ADVANCE(156); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(245); + END_STATE(); + case 247: + ACCEPT_TOKEN(sym_integer); + if (lookahead == '.') ADVANCE(153); + if (lookahead == '_') ADVANCE(154); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(247); + END_STATE(); + case 248: + ACCEPT_TOKEN(sym_integer); + if (lookahead == '_') ADVANCE(163); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(248); + END_STATE(); + case 249: + ACCEPT_TOKEN(sym_integer); + if (lookahead == '_') ADVANCE(156); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(249); + END_STATE(); + case 250: + ACCEPT_TOKEN(sym_float); + if (lookahead == '_') ADVANCE(153); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(152); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(250); + END_STATE(); + case 251: + ACCEPT_TOKEN(sym_float); + if (lookahead == '_') ADVANCE(155); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(251); + END_STATE(); + case 252: + ACCEPT_TOKEN(sym_string); + END_STATE(); + case 253: + ACCEPT_TOKEN(sym_char); + END_STATE(); + case 254: + ACCEPT_TOKEN(sym_char); + if (lookahead == '{') ADVANCE(161); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(158); + END_STATE(); + case 255: + ACCEPT_TOKEN(sym_char); + if (lookahead == '\\' || + lookahead == 'n') ADVANCE(253); + END_STATE(); + case 256: + ACCEPT_TOKEN(sym_char); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(253); + END_STATE(); + case 257: + ACCEPT_TOKEN(sym_char); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(256); + END_STATE(); + case 258: + ACCEPT_TOKEN(sym_char); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(253); + END_STATE(); + case 259: + ACCEPT_TOKEN(sym_atom); + END_STATE(); + case 260: + ACCEPT_TOKEN(sym_atom); + if (('0' <= lookahead && lookahead <= '9') || + ('@' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z') || + (192 <= lookahead && lookahead <= 214) || + (216 <= lookahead && lookahead <= 246) || + (248 <= lookahead && lookahead <= 255)) ADVANCE(260); + END_STATE(); + case 261: + ACCEPT_TOKEN(sym_comment); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(261); + 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 == 'a') ADVANCE(1); + if (lookahead == 'b') ADVANCE(2); + if (lookahead == 'c') ADVANCE(3); + if (lookahead == 'd') ADVANCE(4); + if (lookahead == 'e') ADVANCE(5); + if (lookahead == 'f') ADVANCE(6); + if (lookahead == 'i') ADVANCE(7); + if (lookahead == 'm') ADVANCE(8); + if (lookahead == 'n') ADVANCE(9); + if (lookahead == 'o') ADVANCE(10); + if (lookahead == 'r') ADVANCE(11); + if (lookahead == 's') ADVANCE(12); + if (lookahead == 't') ADVANCE(13); + if (lookahead == 'u') ADVANCE(14); + if (lookahead == 'w') ADVANCE(15); + if (lookahead == 'x') ADVANCE(16); + if ((1 <= lookahead && lookahead <= ' ') || + (128 <= lookahead && lookahead <= 160)) SKIP(0) + END_STATE(); + case 1: + if (lookahead == 'f') ADVANCE(17); + if (lookahead == 'n') ADVANCE(18); + END_STATE(); + case 2: + if (lookahead == 'a') ADVANCE(19); + if (lookahead == 'e') ADVANCE(20); + if (lookahead == 'n') ADVANCE(21); + if (lookahead == 'o') ADVANCE(22); + if (lookahead == 's') ADVANCE(23); + if (lookahead == 'x') ADVANCE(24); + END_STATE(); + case 3: + if (lookahead == 'a') ADVANCE(25); + if (lookahead == 'o') ADVANCE(26); + END_STATE(); + case 4: + if (lookahead == 'e') ADVANCE(27); + if (lookahead == 'i') ADVANCE(28); + END_STATE(); + case 5: + if (lookahead == 'l') ADVANCE(29); + if (lookahead == 'n') ADVANCE(30); + if (lookahead == 'x') ADVANCE(31); + END_STATE(); + case 6: + if (lookahead == 'i') ADVANCE(32); + if (lookahead == 'u') ADVANCE(33); + END_STATE(); + case 7: + if (lookahead == 'f') ADVANCE(34); + if (lookahead == 'm') ADVANCE(35); + if (lookahead == 'n') ADVANCE(36); + END_STATE(); + case 8: + if (lookahead == 'o') ADVANCE(37); + END_STATE(); + case 9: + if (lookahead == 'o') ADVANCE(38); + END_STATE(); + case 10: + if (lookahead == 'f') ADVANCE(39); + if (lookahead == 'p') ADVANCE(40); + if (lookahead == 'r') ADVANCE(41); + END_STATE(); + case 11: + if (lookahead == 'e') ADVANCE(42); + END_STATE(); + case 12: + if (lookahead == 'p') ADVANCE(43); + END_STATE(); + case 13: + if (lookahead == 'r') ADVANCE(44); + if (lookahead == 'y') ADVANCE(45); + END_STATE(); + case 14: + if (lookahead == 'n') ADVANCE(46); + END_STATE(); + case 15: + if (lookahead == 'h') ADVANCE(47); + END_STATE(); + case 16: + if (lookahead == 'o') ADVANCE(48); + END_STATE(); + case 17: + if (lookahead == 't') ADVANCE(49); + END_STATE(); + case 18: + if (lookahead == 'd') ADVANCE(50); + END_STATE(); + case 19: + if (lookahead == 'n') ADVANCE(51); + END_STATE(); + case 20: + if (lookahead == 'g') ADVANCE(52); + if (lookahead == 'h') ADVANCE(53); + END_STATE(); + case 21: + if (lookahead == 'o') ADVANCE(54); + END_STATE(); + case 22: + if (lookahead == 'r') ADVANCE(55); + END_STATE(); + case 23: + if (lookahead == 'l') ADVANCE(56); + if (lookahead == 'r') ADVANCE(57); + END_STATE(); + case 24: + if (lookahead == 'o') ADVANCE(58); + END_STATE(); + case 25: + if (lookahead == 'l') ADVANCE(59); + if (lookahead == 's') ADVANCE(60); + if (lookahead == 't') ADVANCE(61); + END_STATE(); + case 26: + if (lookahead == 'm') ADVANCE(62); + END_STATE(); + case 27: + if (lookahead == 'f') ADVANCE(63); + END_STATE(); + case 28: + if (lookahead == 'v') ADVANCE(64); + END_STATE(); + case 29: + if (lookahead == 'i') ADVANCE(65); + if (lookahead == 's') ADVANCE(66); + END_STATE(); + case 30: + if (lookahead == 'd') ADVANCE(67); + END_STATE(); + case 31: + if (lookahead == 'p') ADVANCE(68); + END_STATE(); + case 32: + if (lookahead == 'l') ADVANCE(69); + END_STATE(); + case 33: + if (lookahead == 'n') ADVANCE(70); + END_STATE(); + case 34: + ACCEPT_TOKEN(anon_sym_if); + if (lookahead == 'd') ADVANCE(71); + if (lookahead == 'n') ADVANCE(72); + END_STATE(); + case 35: + if (lookahead == 'p') ADVANCE(73); + END_STATE(); + case 36: + if (lookahead == 'c') ADVANCE(74); + END_STATE(); + case 37: + if (lookahead == 'd') ADVANCE(75); + END_STATE(); + case 38: + if (lookahead == 't') ADVANCE(76); + END_STATE(); + case 39: + ACCEPT_TOKEN(anon_sym_of); + END_STATE(); + case 40: + if (lookahead == 'a') ADVANCE(77); + if (lookahead == 't') ADVANCE(78); + END_STATE(); + case 41: + ACCEPT_TOKEN(anon_sym_or); + if (lookahead == 'e') ADVANCE(79); + END_STATE(); + case 42: + if (lookahead == 'c') ADVANCE(80); + if (lookahead == 'm') ADVANCE(81); + END_STATE(); + case 43: + if (lookahead == 'e') ADVANCE(82); + END_STATE(); + case 44: + if (lookahead == 'y') ADVANCE(83); + END_STATE(); + case 45: + if (lookahead == 'p') ADVANCE(84); + END_STATE(); + case 46: + if (lookahead == 'd') ADVANCE(85); + if (lookahead == 'i') ADVANCE(86); + END_STATE(); + case 47: + if (lookahead == 'e') ADVANCE(87); + END_STATE(); + case 48: + if (lookahead == 'r') ADVANCE(88); + END_STATE(); + case 49: + if (lookahead == 'e') ADVANCE(89); + END_STATE(); + case 50: + ACCEPT_TOKEN(anon_sym_and); + if (lookahead == 'a') ADVANCE(90); + END_STATE(); + case 51: + if (lookahead == 'd') ADVANCE(91); + END_STATE(); + case 52: + if (lookahead == 'i') ADVANCE(92); + END_STATE(); + case 53: + if (lookahead == 'a') ADVANCE(93); + END_STATE(); + case 54: + if (lookahead == 't') ADVANCE(94); + END_STATE(); + case 55: + ACCEPT_TOKEN(anon_sym_bor); + END_STATE(); + case 56: + ACCEPT_TOKEN(anon_sym_bsl); + END_STATE(); + case 57: + ACCEPT_TOKEN(anon_sym_bsr); + END_STATE(); + case 58: + if (lookahead == 'r') ADVANCE(95); + END_STATE(); + case 59: + if (lookahead == 'l') ADVANCE(96); + END_STATE(); + case 60: + if (lookahead == 'e') ADVANCE(97); + END_STATE(); + case 61: + if (lookahead == 'c') ADVANCE(98); + END_STATE(); + case 62: + if (lookahead == 'p') ADVANCE(99); + END_STATE(); + case 63: + if (lookahead == 'i') ADVANCE(100); + END_STATE(); + case 64: + ACCEPT_TOKEN(anon_sym_div); + END_STATE(); + case 65: + if (lookahead == 'f') ADVANCE(101); + END_STATE(); + case 66: + if (lookahead == 'e') ADVANCE(102); + END_STATE(); + case 67: + ACCEPT_TOKEN(anon_sym_end); + if (lookahead == 'i') ADVANCE(103); + END_STATE(); + case 68: + if (lookahead == 'o') ADVANCE(104); + END_STATE(); + case 69: + if (lookahead == 'e') ADVANCE(105); + END_STATE(); + case 70: + ACCEPT_TOKEN(anon_sym_fun); + END_STATE(); + case 71: + if (lookahead == 'e') ADVANCE(106); + END_STATE(); + case 72: + if (lookahead == 'd') ADVANCE(107); + END_STATE(); + case 73: + if (lookahead == 'o') ADVANCE(108); + END_STATE(); + case 74: + if (lookahead == 'l') ADVANCE(109); + END_STATE(); + case 75: + if (lookahead == 'u') ADVANCE(110); + END_STATE(); + case 76: + ACCEPT_TOKEN(anon_sym_not); + END_STATE(); + case 77: + if (lookahead == 'q') ADVANCE(111); + END_STATE(); + case 78: + if (lookahead == 'i') ADVANCE(112); + END_STATE(); + case 79: + if (lookahead == 'l') ADVANCE(113); + END_STATE(); + case 80: + if (lookahead == 'e') ADVANCE(114); + if (lookahead == 'o') ADVANCE(115); + END_STATE(); + case 81: + ACCEPT_TOKEN(anon_sym_rem); + END_STATE(); + case 82: + if (lookahead == 'c') ADVANCE(116); + END_STATE(); + case 83: + ACCEPT_TOKEN(anon_sym_try); + END_STATE(); + case 84: + if (lookahead == 'e') ADVANCE(117); + END_STATE(); + case 85: + if (lookahead == 'e') ADVANCE(118); + END_STATE(); + case 86: + if (lookahead == 't') ADVANCE(119); + END_STATE(); + case 87: + if (lookahead == 'n') ADVANCE(120); + END_STATE(); + case 88: + ACCEPT_TOKEN(anon_sym_xor); + END_STATE(); + case 89: + if (lookahead == 'r') ADVANCE(121); + END_STATE(); + case 90: + if (lookahead == 'l') ADVANCE(122); + END_STATE(); + case 91: + ACCEPT_TOKEN(anon_sym_band); + END_STATE(); + case 92: + if (lookahead == 'n') ADVANCE(123); + END_STATE(); + case 93: + if (lookahead == 'v') ADVANCE(124); + END_STATE(); + case 94: + ACCEPT_TOKEN(anon_sym_bnot); + END_STATE(); + case 95: + ACCEPT_TOKEN(anon_sym_bxor); + END_STATE(); + case 96: + if (lookahead == 'b') ADVANCE(125); + END_STATE(); + case 97: + ACCEPT_TOKEN(anon_sym_case); + END_STATE(); + case 98: + if (lookahead == 'h') ADVANCE(126); + END_STATE(); + case 99: + if (lookahead == 'i') ADVANCE(127); + END_STATE(); + case 100: + if (lookahead == 'n') ADVANCE(128); + END_STATE(); + case 101: + ACCEPT_TOKEN(anon_sym_elif); + END_STATE(); + case 102: + ACCEPT_TOKEN(anon_sym_else); + END_STATE(); + case 103: + if (lookahead == 'f') ADVANCE(129); + END_STATE(); + case 104: + if (lookahead == 'r') ADVANCE(130); + END_STATE(); + case 105: + ACCEPT_TOKEN(anon_sym_file); + END_STATE(); + case 106: + if (lookahead == 'f') ADVANCE(131); + END_STATE(); + case 107: + if (lookahead == 'e') ADVANCE(132); + END_STATE(); + case 108: + if (lookahead == 'r') ADVANCE(133); + END_STATE(); + case 109: + if (lookahead == 'u') ADVANCE(134); + END_STATE(); + case 110: + if (lookahead == 'l') ADVANCE(135); + END_STATE(); + case 111: + if (lookahead == 'u') ADVANCE(136); + END_STATE(); + case 112: + if (lookahead == 'o') ADVANCE(137); + END_STATE(); + case 113: + if (lookahead == 's') ADVANCE(138); + END_STATE(); + case 114: + if (lookahead == 'i') ADVANCE(139); + END_STATE(); + case 115: + if (lookahead == 'r') ADVANCE(140); + END_STATE(); + case 116: + ACCEPT_TOKEN(anon_sym_spec); + END_STATE(); + case 117: + ACCEPT_TOKEN(anon_sym_type); + END_STATE(); + case 118: + if (lookahead == 'f') ADVANCE(141); + END_STATE(); + case 119: + ACCEPT_TOKEN(anon_sym_unit); + END_STATE(); + case 120: + ACCEPT_TOKEN(anon_sym_when); + END_STATE(); + case 121: + ACCEPT_TOKEN(anon_sym_after); + END_STATE(); + case 122: + if (lookahead == 's') ADVANCE(142); + END_STATE(); + case 123: + ACCEPT_TOKEN(anon_sym_begin); + END_STATE(); + case 124: + if (lookahead == 'i') ADVANCE(143); + END_STATE(); + case 125: + if (lookahead == 'a') ADVANCE(144); + END_STATE(); + case 126: + ACCEPT_TOKEN(anon_sym_catch); + END_STATE(); + case 127: + if (lookahead == 'l') ADVANCE(145); + END_STATE(); + case 128: + if (lookahead == 'e') ADVANCE(146); + END_STATE(); + case 129: + ACCEPT_TOKEN(anon_sym_endif); + END_STATE(); + case 130: + if (lookahead == 't') ADVANCE(147); + END_STATE(); + case 131: + ACCEPT_TOKEN(anon_sym_ifdef); + END_STATE(); + case 132: + if (lookahead == 'f') ADVANCE(148); + END_STATE(); + case 133: + if (lookahead == 't') ADVANCE(149); + END_STATE(); + case 134: + if (lookahead == 'd') ADVANCE(150); + END_STATE(); + case 135: + if (lookahead == 'e') ADVANCE(151); + END_STATE(); + case 136: + if (lookahead == 'e') ADVANCE(152); + END_STATE(); + case 137: + if (lookahead == 'n') ADVANCE(153); + END_STATE(); + case 138: + if (lookahead == 'e') ADVANCE(154); + END_STATE(); + case 139: + if (lookahead == 'v') ADVANCE(155); + END_STATE(); + case 140: + if (lookahead == 'd') ADVANCE(156); + END_STATE(); + case 141: + ACCEPT_TOKEN(anon_sym_undef); + END_STATE(); + case 142: + if (lookahead == 'o') ADVANCE(157); + END_STATE(); + case 143: + if (lookahead == 'o') ADVANCE(158); + END_STATE(); + case 144: + if (lookahead == 'c') ADVANCE(159); + END_STATE(); + case 145: + if (lookahead == 'e') ADVANCE(160); + END_STATE(); + case 146: + ACCEPT_TOKEN(anon_sym_define); + END_STATE(); + case 147: + ACCEPT_TOKEN(anon_sym_export); + if (lookahead == '_') ADVANCE(161); + END_STATE(); + case 148: + ACCEPT_TOKEN(anon_sym_ifndef); + END_STATE(); + case 149: + ACCEPT_TOKEN(anon_sym_import); + END_STATE(); + case 150: + if (lookahead == 'e') ADVANCE(162); + END_STATE(); + case 151: + ACCEPT_TOKEN(anon_sym_module); + END_STATE(); + case 152: + ACCEPT_TOKEN(anon_sym_opaque); + END_STATE(); + case 153: + if (lookahead == 'a') ADVANCE(163); + END_STATE(); + case 154: + ACCEPT_TOKEN(anon_sym_orelse); + END_STATE(); + case 155: + if (lookahead == 'e') ADVANCE(164); + END_STATE(); + case 156: + ACCEPT_TOKEN(anon_sym_record); + END_STATE(); + case 157: + ACCEPT_TOKEN(anon_sym_andalso); + END_STATE(); + case 158: + if (lookahead == 'r') ADVANCE(165); + if (lookahead == 'u') ADVANCE(166); + END_STATE(); + case 159: + if (lookahead == 'k') ADVANCE(167); + END_STATE(); + case 160: + ACCEPT_TOKEN(anon_sym_compile); + END_STATE(); + case 161: + if (lookahead == 't') ADVANCE(168); + END_STATE(); + case 162: + ACCEPT_TOKEN(anon_sym_include); + if (lookahead == '_') ADVANCE(169); + END_STATE(); + case 163: + if (lookahead == 'l') ADVANCE(170); + END_STATE(); + case 164: + ACCEPT_TOKEN(anon_sym_receive); + END_STATE(); + case 165: + ACCEPT_TOKEN(anon_sym_behavior); + END_STATE(); + case 166: + if (lookahead == 'r') ADVANCE(171); + END_STATE(); + case 167: + ACCEPT_TOKEN(anon_sym_callback); + END_STATE(); + case 168: + if (lookahead == 'y') ADVANCE(172); + END_STATE(); + case 169: + if (lookahead == 'l') ADVANCE(173); + END_STATE(); + case 170: + if (lookahead == '_') ADVANCE(174); + END_STATE(); + case 171: + ACCEPT_TOKEN(anon_sym_behaviour); + END_STATE(); + case 172: + if (lookahead == 'p') ADVANCE(175); + END_STATE(); + case 173: + if (lookahead == 'i') ADVANCE(176); + END_STATE(); + case 174: + if (lookahead == 'c') ADVANCE(177); + END_STATE(); + case 175: + if (lookahead == 'e') ADVANCE(178); + END_STATE(); + case 176: + if (lookahead == 'b') ADVANCE(179); + END_STATE(); + case 177: + if (lookahead == 'a') ADVANCE(180); + END_STATE(); + case 178: + ACCEPT_TOKEN(anon_sym_export_type); + END_STATE(); + case 179: + ACCEPT_TOKEN(anon_sym_include_lib); + END_STATE(); + case 180: + if (lookahead == 'l') ADVANCE(181); + END_STATE(); + case 181: + if (lookahead == 'l') ADVANCE(182); + END_STATE(); + case 182: + if (lookahead == 'b') ADVANCE(183); + END_STATE(); + case 183: + if (lookahead == 'a') ADVANCE(184); + END_STATE(); + case 184: + if (lookahead == 'c') ADVANCE(185); + END_STATE(); + case 185: + if (lookahead == 'k') ADVANCE(186); + END_STATE(); + case 186: + if (lookahead == 's') ADVANCE(187); + END_STATE(); + case 187: + ACCEPT_TOKEN(anon_sym_optional_callbacks); + END_STATE(); + default: + return false; + } +} + +static const TSLexMode ts_lex_modes[STATE_COUNT] = { + [0] = {.lex_state = 0}, + [1] = {.lex_state = 166}, + [2] = {.lex_state = 166}, + [3] = {.lex_state = 166}, + [4] = {.lex_state = 166}, + [5] = {.lex_state = 166}, + [6] = {.lex_state = 166}, + [7] = {.lex_state = 166}, + [8] = {.lex_state = 166}, + [9] = {.lex_state = 166}, + [10] = {.lex_state = 166}, + [11] = {.lex_state = 166}, + [12] = {.lex_state = 166}, + [13] = {.lex_state = 166}, + [14] = {.lex_state = 166}, + [15] = {.lex_state = 166}, + [16] = {.lex_state = 166}, + [17] = {.lex_state = 166}, + [18] = {.lex_state = 166}, + [19] = {.lex_state = 166}, + [20] = {.lex_state = 166}, + [21] = {.lex_state = 166}, + [22] = {.lex_state = 166}, + [23] = {.lex_state = 166}, + [24] = {.lex_state = 166}, + [25] = {.lex_state = 166}, + [26] = {.lex_state = 166}, + [27] = {.lex_state = 166}, + [28] = {.lex_state = 166}, + [29] = {.lex_state = 166}, + [30] = {.lex_state = 166}, + [31] = {.lex_state = 166}, + [32] = {.lex_state = 166}, + [33] = {.lex_state = 166}, + [34] = {.lex_state = 166}, + [35] = {.lex_state = 166}, + [36] = {.lex_state = 166}, + [37] = {.lex_state = 166}, + [38] = {.lex_state = 166}, + [39] = {.lex_state = 166}, + [40] = {.lex_state = 166}, + [41] = {.lex_state = 166}, + [42] = {.lex_state = 166}, + [43] = {.lex_state = 166}, + [44] = {.lex_state = 166}, + [45] = {.lex_state = 166}, + [46] = {.lex_state = 166}, + [47] = {.lex_state = 166}, + [48] = {.lex_state = 166}, + [49] = {.lex_state = 166}, + [50] = {.lex_state = 166}, + [51] = {.lex_state = 166}, + [52] = {.lex_state = 166}, + [53] = {.lex_state = 166}, + [54] = {.lex_state = 166}, + [55] = {.lex_state = 166}, + [56] = {.lex_state = 166}, + [57] = {.lex_state = 166}, + [58] = {.lex_state = 166}, + [59] = {.lex_state = 166}, + [60] = {.lex_state = 166}, + [61] = {.lex_state = 166}, + [62] = {.lex_state = 166}, + [63] = {.lex_state = 166}, + [64] = {.lex_state = 166}, + [65] = {.lex_state = 166}, + [66] = {.lex_state = 166}, + [67] = {.lex_state = 166}, + [68] = {.lex_state = 166}, + [69] = {.lex_state = 166}, + [70] = {.lex_state = 166}, + [71] = {.lex_state = 166}, + [72] = {.lex_state = 166}, + [73] = {.lex_state = 166}, + [74] = {.lex_state = 166}, + [75] = {.lex_state = 166}, + [76] = {.lex_state = 166}, + [77] = {.lex_state = 166}, + [78] = {.lex_state = 166}, + [79] = {.lex_state = 166}, + [80] = {.lex_state = 166}, + [81] = {.lex_state = 166}, + [82] = {.lex_state = 166}, + [83] = {.lex_state = 166}, + [84] = {.lex_state = 166}, + [85] = {.lex_state = 166}, + [86] = {.lex_state = 166}, + [87] = {.lex_state = 166}, + [88] = {.lex_state = 166}, + [89] = {.lex_state = 166}, + [90] = {.lex_state = 166}, + [91] = {.lex_state = 166}, + [92] = {.lex_state = 166}, + [93] = {.lex_state = 166}, + [94] = {.lex_state = 166}, + [95] = {.lex_state = 166}, + [96] = {.lex_state = 166}, + [97] = {.lex_state = 166}, + [98] = {.lex_state = 166}, + [99] = {.lex_state = 166}, + [100] = {.lex_state = 166}, + [101] = {.lex_state = 166}, + [102] = {.lex_state = 166}, + [103] = {.lex_state = 166}, + [104] = {.lex_state = 166}, + [105] = {.lex_state = 166}, + [106] = {.lex_state = 166}, + [107] = {.lex_state = 166}, + [108] = {.lex_state = 166}, + [109] = {.lex_state = 166}, + [110] = {.lex_state = 166}, + [111] = {.lex_state = 166}, + [112] = {.lex_state = 166}, + [113] = {.lex_state = 166}, + [114] = {.lex_state = 166}, + [115] = {.lex_state = 166}, + [116] = {.lex_state = 166}, + [117] = {.lex_state = 166}, + [118] = {.lex_state = 166}, + [119] = {.lex_state = 166}, + [120] = {.lex_state = 166}, + [121] = {.lex_state = 166}, + [122] = {.lex_state = 166}, + [123] = {.lex_state = 166}, + [124] = {.lex_state = 166}, + [125] = {.lex_state = 166}, + [126] = {.lex_state = 166}, + [127] = {.lex_state = 166}, + [128] = {.lex_state = 166}, + [129] = {.lex_state = 166}, + [130] = {.lex_state = 166}, + [131] = {.lex_state = 166}, + [132] = {.lex_state = 166}, + [133] = {.lex_state = 166}, + [134] = {.lex_state = 166}, + [135] = {.lex_state = 166}, + [136] = {.lex_state = 166}, + [137] = {.lex_state = 166}, + [138] = {.lex_state = 166}, + [139] = {.lex_state = 166}, + [140] = {.lex_state = 166}, + [141] = {.lex_state = 166}, + [142] = {.lex_state = 166}, + [143] = {.lex_state = 166}, + [144] = {.lex_state = 166}, + [145] = {.lex_state = 166}, + [146] = {.lex_state = 166}, + [147] = {.lex_state = 166}, + [148] = {.lex_state = 166}, + [149] = {.lex_state = 166}, + [150] = {.lex_state = 166}, + [151] = {.lex_state = 166}, + [152] = {.lex_state = 166}, + [153] = {.lex_state = 166}, + [154] = {.lex_state = 166}, + [155] = {.lex_state = 166}, + [156] = {.lex_state = 166}, + [157] = {.lex_state = 166}, + [158] = {.lex_state = 166}, + [159] = {.lex_state = 166}, + [160] = {.lex_state = 166}, + [161] = {.lex_state = 166}, + [162] = {.lex_state = 166}, + [163] = {.lex_state = 166}, + [164] = {.lex_state = 1}, + [165] = {.lex_state = 1}, + [166] = {.lex_state = 166}, + [167] = {.lex_state = 1}, + [168] = {.lex_state = 1}, + [169] = {.lex_state = 1}, + [170] = {.lex_state = 1}, + [171] = {.lex_state = 1}, + [172] = {.lex_state = 1}, + [173] = {.lex_state = 1}, + [174] = {.lex_state = 1}, + [175] = {.lex_state = 1}, + [176] = {.lex_state = 1}, + [177] = {.lex_state = 1}, + [178] = {.lex_state = 1}, + [179] = {.lex_state = 1}, + [180] = {.lex_state = 1}, + [181] = {.lex_state = 1}, + [182] = {.lex_state = 1}, + [183] = {.lex_state = 1}, + [184] = {.lex_state = 1}, + [185] = {.lex_state = 1}, + [186] = {.lex_state = 1}, + [187] = {.lex_state = 1}, + [188] = {.lex_state = 1}, + [189] = {.lex_state = 1}, + [190] = {.lex_state = 1}, + [191] = {.lex_state = 1}, + [192] = {.lex_state = 1}, + [193] = {.lex_state = 1}, + [194] = {.lex_state = 1}, + [195] = {.lex_state = 1}, + [196] = {.lex_state = 1}, + [197] = {.lex_state = 1}, + [198] = {.lex_state = 1}, + [199] = {.lex_state = 1}, + [200] = {.lex_state = 1}, + [201] = {.lex_state = 1}, + [202] = {.lex_state = 1}, + [203] = {.lex_state = 1}, + [204] = {.lex_state = 1}, + [205] = {.lex_state = 1}, + [206] = {.lex_state = 1}, + [207] = {.lex_state = 1}, + [208] = {.lex_state = 1}, + [209] = {.lex_state = 1}, + [210] = {.lex_state = 1}, + [211] = {.lex_state = 1}, + [212] = {.lex_state = 1}, + [213] = {.lex_state = 1}, + [214] = {.lex_state = 1}, + [215] = {.lex_state = 1}, + [216] = {.lex_state = 0}, + [217] = {.lex_state = 1}, + [218] = {.lex_state = 1}, + [219] = {.lex_state = 1}, + [220] = {.lex_state = 1}, + [221] = {.lex_state = 1}, + [222] = {.lex_state = 1}, + [223] = {.lex_state = 1}, + [224] = {.lex_state = 1}, + [225] = {.lex_state = 1}, + [226] = {.lex_state = 1}, + [227] = {.lex_state = 1}, + [228] = {.lex_state = 1}, + [229] = {.lex_state = 1}, + [230] = {.lex_state = 1}, + [231] = {.lex_state = 1}, + [232] = {.lex_state = 1}, + [233] = {.lex_state = 1}, + [234] = {.lex_state = 1}, + [235] = {.lex_state = 1}, + [236] = {.lex_state = 1}, + [237] = {.lex_state = 1}, + [238] = {.lex_state = 1}, + [239] = {.lex_state = 1}, + [240] = {.lex_state = 166}, + [241] = {.lex_state = 1}, + [242] = {.lex_state = 1}, + [243] = {.lex_state = 166}, + [244] = {.lex_state = 166}, + [245] = {.lex_state = 1}, + [246] = {.lex_state = 1}, + [247] = {.lex_state = 166}, + [248] = {.lex_state = 1}, + [249] = {.lex_state = 1}, + [250] = {.lex_state = 166}, + [251] = {.lex_state = 1}, + [252] = {.lex_state = 1}, + [253] = {.lex_state = 1}, + [254] = {.lex_state = 1}, + [255] = {.lex_state = 1}, + [256] = {.lex_state = 1}, + [257] = {.lex_state = 1}, + [258] = {.lex_state = 1}, + [259] = {.lex_state = 1}, + [260] = {.lex_state = 1}, + [261] = {.lex_state = 1}, + [262] = {.lex_state = 1}, + [263] = {.lex_state = 166}, + [264] = {.lex_state = 166}, + [265] = {.lex_state = 166}, + [266] = {.lex_state = 166}, + [267] = {.lex_state = 166}, + [268] = {.lex_state = 2}, + [269] = {.lex_state = 2}, + [270] = {.lex_state = 1}, + [271] = {.lex_state = 1}, + [272] = {.lex_state = 1}, + [273] = {.lex_state = 1}, + [274] = {.lex_state = 1}, + [275] = {.lex_state = 1}, + [276] = {.lex_state = 1}, + [277] = {.lex_state = 1}, + [278] = {.lex_state = 1}, + [279] = {.lex_state = 2}, + [280] = {.lex_state = 1}, + [281] = {.lex_state = 1}, + [282] = {.lex_state = 1}, + [283] = {.lex_state = 1}, + [284] = {.lex_state = 1}, + [285] = {.lex_state = 1}, + [286] = {.lex_state = 1}, + [287] = {.lex_state = 1}, + [288] = {.lex_state = 1}, + [289] = {.lex_state = 1}, + [290] = {.lex_state = 1}, + [291] = {.lex_state = 1}, + [292] = {.lex_state = 1}, + [293] = {.lex_state = 1}, + [294] = {.lex_state = 1}, + [295] = {.lex_state = 1}, + [296] = {.lex_state = 1}, + [297] = {.lex_state = 1}, + [298] = {.lex_state = 1}, + [299] = {.lex_state = 1}, + [300] = {.lex_state = 1}, + [301] = {.lex_state = 1}, + [302] = {.lex_state = 1}, + [303] = {.lex_state = 1}, + [304] = {.lex_state = 1}, + [305] = {.lex_state = 1}, + [306] = {.lex_state = 2}, + [307] = {.lex_state = 2}, + [308] = {.lex_state = 2}, + [309] = {.lex_state = 2}, + [310] = {.lex_state = 2}, + [311] = {.lex_state = 1}, + [312] = {.lex_state = 2}, + [313] = {.lex_state = 2}, + [314] = {.lex_state = 2}, + [315] = {.lex_state = 2}, + [316] = {.lex_state = 2}, + [317] = {.lex_state = 2}, + [318] = {.lex_state = 1}, + [319] = {.lex_state = 1}, + [320] = {.lex_state = 1}, + [321] = {.lex_state = 2}, + [322] = {.lex_state = 2}, + [323] = {.lex_state = 1}, + [324] = {.lex_state = 1}, + [325] = {.lex_state = 2}, + [326] = {.lex_state = 1}, + [327] = {.lex_state = 1}, + [328] = {.lex_state = 1}, + [329] = {.lex_state = 1}, + [330] = {.lex_state = 2}, + [331] = {.lex_state = 1}, + [332] = {.lex_state = 2}, + [333] = {.lex_state = 2}, + [334] = {.lex_state = 2}, + [335] = {.lex_state = 1}, + [336] = {.lex_state = 2}, + [337] = {.lex_state = 2}, + [338] = {.lex_state = 2}, + [339] = {.lex_state = 1}, + [340] = {.lex_state = 2}, + [341] = {.lex_state = 1}, + [342] = {.lex_state = 1}, + [343] = {.lex_state = 1}, + [344] = {.lex_state = 1}, + [345] = {.lex_state = 1}, + [346] = {.lex_state = 1}, + [347] = {.lex_state = 1}, + [348] = {.lex_state = 1}, + [349] = {.lex_state = 1}, + [350] = {.lex_state = 2}, + [351] = {.lex_state = 1}, + [352] = {.lex_state = 1}, + [353] = {.lex_state = 1}, + [354] = {.lex_state = 166}, + [355] = {.lex_state = 1}, + [356] = {.lex_state = 1}, + [357] = {.lex_state = 1}, + [358] = {.lex_state = 1}, + [359] = {.lex_state = 1}, + [360] = {.lex_state = 1}, + [361] = {.lex_state = 1}, + [362] = {.lex_state = 1}, + [363] = {.lex_state = 1}, + [364] = {.lex_state = 1}, + [365] = {.lex_state = 1}, + [366] = {.lex_state = 1}, + [367] = {.lex_state = 1}, + [368] = {.lex_state = 1}, + [369] = {.lex_state = 1}, + [370] = {.lex_state = 1}, + [371] = {.lex_state = 1}, + [372] = {.lex_state = 1}, + [373] = {.lex_state = 1}, + [374] = {.lex_state = 1}, + [375] = {.lex_state = 1}, + [376] = {.lex_state = 1}, + [377] = {.lex_state = 1}, + [378] = {.lex_state = 1}, + [379] = {.lex_state = 1}, + [380] = {.lex_state = 1}, + [381] = {.lex_state = 1}, + [382] = {.lex_state = 1}, + [383] = {.lex_state = 166}, + [384] = {.lex_state = 1}, + [385] = {.lex_state = 2}, + [386] = {.lex_state = 1}, + [387] = {.lex_state = 166}, + [388] = {.lex_state = 166}, + [389] = {.lex_state = 1}, + [390] = {.lex_state = 166}, + [391] = {.lex_state = 1}, + [392] = {.lex_state = 166}, + [393] = {.lex_state = 166}, + [394] = {.lex_state = 2}, + [395] = {.lex_state = 2}, + [396] = {.lex_state = 2}, + [397] = {.lex_state = 2}, + [398] = {.lex_state = 2}, + [399] = {.lex_state = 2}, + [400] = {.lex_state = 2}, + [401] = {.lex_state = 2}, + [402] = {.lex_state = 2}, + [403] = {.lex_state = 2}, + [404] = {.lex_state = 2}, + [405] = {.lex_state = 2}, + [406] = {.lex_state = 1}, + [407] = {.lex_state = 2}, + [408] = {.lex_state = 1}, + [409] = {.lex_state = 2}, + [410] = {.lex_state = 2}, + [411] = {.lex_state = 2}, + [412] = {.lex_state = 2}, + [413] = {.lex_state = 2}, + [414] = {.lex_state = 2}, + [415] = {.lex_state = 2}, + [416] = {.lex_state = 2}, + [417] = {.lex_state = 2}, + [418] = {.lex_state = 166}, + [419] = {.lex_state = 2}, + [420] = {.lex_state = 2}, + [421] = {.lex_state = 2}, + [422] = {.lex_state = 2}, + [423] = {.lex_state = 1}, + [424] = {.lex_state = 1}, + [425] = {.lex_state = 2}, + [426] = {.lex_state = 2}, + [427] = {.lex_state = 2}, + [428] = {.lex_state = 166}, + [429] = {.lex_state = 2}, + [430] = {.lex_state = 166}, + [431] = {.lex_state = 2}, + [432] = {.lex_state = 2}, + [433] = {.lex_state = 2}, + [434] = {.lex_state = 2}, + [435] = {.lex_state = 2}, + [436] = {.lex_state = 2}, + [437] = {.lex_state = 2}, + [438] = {.lex_state = 2}, + [439] = {.lex_state = 2}, + [440] = {.lex_state = 2}, + [441] = {.lex_state = 2}, + [442] = {.lex_state = 2}, + [443] = {.lex_state = 1}, + [444] = {.lex_state = 2}, + [445] = {.lex_state = 2}, + [446] = {.lex_state = 1}, + [447] = {.lex_state = 2}, + [448] = {.lex_state = 2}, + [449] = {.lex_state = 1}, + [450] = {.lex_state = 2}, + [451] = {.lex_state = 1}, + [452] = {.lex_state = 2}, + [453] = {.lex_state = 2}, + [454] = {.lex_state = 2}, + [455] = {.lex_state = 2}, + [456] = {.lex_state = 2}, + [457] = {.lex_state = 2}, + [458] = {.lex_state = 2}, + [459] = {.lex_state = 2}, + [460] = {.lex_state = 2}, + [461] = {.lex_state = 1}, + [462] = {.lex_state = 1}, + [463] = {.lex_state = 2}, + [464] = {.lex_state = 1}, + [465] = {.lex_state = 1}, + [466] = {.lex_state = 1}, + [467] = {.lex_state = 1}, + [468] = {.lex_state = 1}, + [469] = {.lex_state = 1}, + [470] = {.lex_state = 2}, + [471] = {.lex_state = 2}, + [472] = {.lex_state = 1}, + [473] = {.lex_state = 3}, + [474] = {.lex_state = 2}, + [475] = {.lex_state = 1}, + [476] = {.lex_state = 1}, + [477] = {.lex_state = 2}, + [478] = {.lex_state = 2}, + [479] = {.lex_state = 1}, + [480] = {.lex_state = 2}, + [481] = {.lex_state = 1}, + [482] = {.lex_state = 2}, + [483] = {.lex_state = 2}, + [484] = {.lex_state = 2}, + [485] = {.lex_state = 1}, + [486] = {.lex_state = 1}, + [487] = {.lex_state = 1}, + [488] = {.lex_state = 1}, + [489] = {.lex_state = 3}, + [490] = {.lex_state = 3}, + [491] = {.lex_state = 1}, + [492] = {.lex_state = 1}, + [493] = {.lex_state = 1}, + [494] = {.lex_state = 1}, + [495] = {.lex_state = 1}, + [496] = {.lex_state = 1}, + [497] = {.lex_state = 1}, + [498] = {.lex_state = 1}, + [499] = {.lex_state = 1}, + [500] = {.lex_state = 1}, + [501] = {.lex_state = 1}, + [502] = {.lex_state = 1}, + [503] = {.lex_state = 1}, + [504] = {.lex_state = 1}, + [505] = {.lex_state = 1}, + [506] = {.lex_state = 1}, + [507] = {.lex_state = 1}, + [508] = {.lex_state = 1}, + [509] = {.lex_state = 1}, + [510] = {.lex_state = 1}, + [511] = {.lex_state = 1}, + [512] = {.lex_state = 1}, + [513] = {.lex_state = 1}, + [514] = {.lex_state = 1}, + [515] = {.lex_state = 1}, + [516] = {.lex_state = 1}, + [517] = {.lex_state = 1}, + [518] = {.lex_state = 1}, + [519] = {.lex_state = 1}, + [520] = {.lex_state = 1}, + [521] = {.lex_state = 1}, + [522] = {.lex_state = 1}, + [523] = {.lex_state = 1}, + [524] = {.lex_state = 1}, + [525] = {.lex_state = 1}, + [526] = {.lex_state = 1}, + [527] = {.lex_state = 1}, + [528] = {.lex_state = 1}, + [529] = {.lex_state = 1}, + [530] = {.lex_state = 1}, + [531] = {.lex_state = 1}, + [532] = {.lex_state = 1}, + [533] = {.lex_state = 1}, + [534] = {.lex_state = 1}, + [535] = {.lex_state = 1}, + [536] = {.lex_state = 1}, + [537] = {.lex_state = 1}, + [538] = {.lex_state = 1}, + [539] = {.lex_state = 1}, + [540] = {.lex_state = 1}, + [541] = {.lex_state = 1}, + [542] = {.lex_state = 1}, + [543] = {.lex_state = 1}, + [544] = {.lex_state = 1}, + [545] = {.lex_state = 1}, + [546] = {.lex_state = 1}, + [547] = {.lex_state = 1}, + [548] = {.lex_state = 1}, + [549] = {.lex_state = 1}, + [550] = {.lex_state = 1}, + [551] = {.lex_state = 1}, + [552] = {.lex_state = 1}, + [553] = {.lex_state = 1}, + [554] = {.lex_state = 1}, + [555] = {.lex_state = 1}, + [556] = {.lex_state = 1}, + [557] = {.lex_state = 1}, + [558] = {.lex_state = 1}, + [559] = {.lex_state = 1}, + [560] = {.lex_state = 166}, + [561] = {.lex_state = 166}, + [562] = {.lex_state = 166}, + [563] = {.lex_state = 166}, + [564] = {.lex_state = 0}, + [565] = {.lex_state = 0}, + [566] = {.lex_state = 1}, + [567] = {.lex_state = 1}, + [568] = {.lex_state = 1}, + [569] = {.lex_state = 166}, + [570] = {.lex_state = 166}, + [571] = {.lex_state = 166}, + [572] = {.lex_state = 166}, + [573] = {.lex_state = 166}, + [574] = {.lex_state = 166}, + [575] = {.lex_state = 166}, + [576] = {.lex_state = 166}, + [577] = {.lex_state = 166}, + [578] = {.lex_state = 166}, + [579] = {.lex_state = 166}, + [580] = {.lex_state = 166}, + [581] = {.lex_state = 166}, + [582] = {.lex_state = 166}, + [583] = {.lex_state = 166}, + [584] = {.lex_state = 166}, + [585] = {.lex_state = 166}, + [586] = {.lex_state = 166}, + [587] = {.lex_state = 166}, + [588] = {.lex_state = 166}, + [589] = {.lex_state = 166}, + [590] = {.lex_state = 166}, + [591] = {.lex_state = 1}, + [592] = {.lex_state = 166}, + [593] = {.lex_state = 166}, + [594] = {.lex_state = 166}, + [595] = {.lex_state = 0}, + [596] = {.lex_state = 166}, + [597] = {.lex_state = 0}, + [598] = {.lex_state = 166}, + [599] = {.lex_state = 0}, + [600] = {.lex_state = 0}, + [601] = {.lex_state = 166}, + [602] = {.lex_state = 166}, + [603] = {.lex_state = 166}, + [604] = {.lex_state = 1}, + [605] = {.lex_state = 166}, + [606] = {.lex_state = 166}, + [607] = {.lex_state = 0}, + [608] = {.lex_state = 1}, + [609] = {.lex_state = 166}, + [610] = {.lex_state = 166}, + [611] = {.lex_state = 166}, + [612] = {.lex_state = 166}, + [613] = {.lex_state = 166}, + [614] = {.lex_state = 0}, + [615] = {.lex_state = 166}, + [616] = {.lex_state = 0}, + [617] = {.lex_state = 166}, + [618] = {.lex_state = 166}, + [619] = {.lex_state = 0}, + [620] = {.lex_state = 1}, + [621] = {.lex_state = 166}, + [622] = {.lex_state = 166}, + [623] = {.lex_state = 1}, + [624] = {.lex_state = 0}, + [625] = {.lex_state = 166}, + [626] = {.lex_state = 166}, + [627] = {.lex_state = 0}, + [628] = {.lex_state = 166}, + [629] = {.lex_state = 166}, + [630] = {.lex_state = 166}, + [631] = {.lex_state = 1}, + [632] = {.lex_state = 166}, + [633] = {.lex_state = 0}, + [634] = {.lex_state = 166}, + [635] = {.lex_state = 166}, + [636] = {.lex_state = 166}, + [637] = {.lex_state = 166}, + [638] = {.lex_state = 166}, + [639] = {.lex_state = 166}, + [640] = {.lex_state = 166}, + [641] = {.lex_state = 166}, + [642] = {.lex_state = 166}, + [643] = {.lex_state = 166}, + [644] = {.lex_state = 166}, + [645] = {.lex_state = 166}, + [646] = {.lex_state = 166}, + [647] = {.lex_state = 166}, + [648] = {.lex_state = 166}, + [649] = {.lex_state = 166}, + [650] = {.lex_state = 166}, + [651] = {.lex_state = 166}, + [652] = {.lex_state = 166}, + [653] = {.lex_state = 166}, + [654] = {.lex_state = 166}, + [655] = {.lex_state = 166}, + [656] = {.lex_state = 166}, + [657] = {.lex_state = 166}, + [658] = {.lex_state = 1}, + [659] = {.lex_state = 1}, + [660] = {.lex_state = 166}, + [661] = {.lex_state = 166}, + [662] = {.lex_state = 1}, + [663] = {.lex_state = 166}, + [664] = {.lex_state = 166}, + [665] = {.lex_state = 166}, + [666] = {.lex_state = 166}, + [667] = {.lex_state = 0}, + [668] = {.lex_state = 166}, + [669] = {.lex_state = 166}, + [670] = {.lex_state = 166}, + [671] = {.lex_state = 166}, + [672] = {.lex_state = 166}, + [673] = {.lex_state = 166}, + [674] = {.lex_state = 166}, + [675] = {.lex_state = 166}, + [676] = {.lex_state = 0}, + [677] = {.lex_state = 166}, + [678] = {.lex_state = 0}, + [679] = {.lex_state = 166}, + [680] = {.lex_state = 166}, + [681] = {.lex_state = 166}, + [682] = {.lex_state = 166}, + [683] = {.lex_state = 166}, + [684] = {.lex_state = 166}, + [685] = {.lex_state = 1}, + [686] = {.lex_state = 166}, + [687] = {.lex_state = 166}, + [688] = {.lex_state = 166}, + [689] = {.lex_state = 166}, + [690] = {.lex_state = 1}, + [691] = {.lex_state = 0}, + [692] = {.lex_state = 0}, + [693] = {.lex_state = 0}, + [694] = {.lex_state = 166}, + [695] = {.lex_state = 166}, + [696] = {.lex_state = 166}, + [697] = {.lex_state = 166}, + [698] = {.lex_state = 166}, + [699] = {.lex_state = 166}, + [700] = {.lex_state = 166}, + [701] = {.lex_state = 166}, + [702] = {.lex_state = 166}, + [703] = {.lex_state = 166}, + [704] = {.lex_state = 166}, + [705] = {.lex_state = 166}, + [706] = {.lex_state = 166}, + [707] = {.lex_state = 166}, + [708] = {.lex_state = 166}, + [709] = {.lex_state = 166}, + [710] = {.lex_state = 1}, + [711] = {.lex_state = 166}, + [712] = {.lex_state = 166}, + [713] = {.lex_state = 1}, + [714] = {.lex_state = 166}, + [715] = {.lex_state = 166}, + [716] = {.lex_state = 166}, + [717] = {.lex_state = 166}, + [718] = {.lex_state = 166}, + [719] = {.lex_state = 166}, + [720] = {.lex_state = 0}, + [721] = {.lex_state = 0}, + [722] = {.lex_state = 0}, + [723] = {.lex_state = 166}, + [724] = {.lex_state = 0}, + [725] = {.lex_state = 166}, + [726] = {.lex_state = 166}, + [727] = {.lex_state = 0}, + [728] = {.lex_state = 0}, + [729] = {.lex_state = 166}, + [730] = {.lex_state = 0}, + [731] = {.lex_state = 166}, + [732] = {.lex_state = 166}, + [733] = {.lex_state = 0}, + [734] = {.lex_state = 166}, + [735] = {.lex_state = 0}, + [736] = {.lex_state = 166}, + [737] = {.lex_state = 166}, + [738] = {.lex_state = 166}, + [739] = {.lex_state = 0}, + [740] = {.lex_state = 166}, + [741] = {.lex_state = 0}, + [742] = {.lex_state = 166}, + [743] = {.lex_state = 0}, + [744] = {.lex_state = 166}, + [745] = {.lex_state = 0}, + [746] = {.lex_state = 0}, + [747] = {.lex_state = 0}, + [748] = {.lex_state = 0}, + [749] = {.lex_state = 166}, + [750] = {.lex_state = 166}, + [751] = {.lex_state = 166}, + [752] = {.lex_state = 0}, + [753] = {.lex_state = 0}, + [754] = {.lex_state = 0}, + [755] = {.lex_state = 166}, + [756] = {.lex_state = 166}, + [757] = {.lex_state = 166}, + [758] = {.lex_state = 0}, + [759] = {.lex_state = 0}, + [760] = {.lex_state = 0}, + [761] = {.lex_state = 0}, + [762] = {.lex_state = 166}, + [763] = {.lex_state = 0}, + [764] = {.lex_state = 166}, + [765] = {.lex_state = 0}, + [766] = {.lex_state = 0}, + [767] = {.lex_state = 0}, + [768] = {.lex_state = 0}, + [769] = {.lex_state = 166}, + [770] = {.lex_state = 0}, + [771] = {.lex_state = 0}, + [772] = {.lex_state = 0}, + [773] = {.lex_state = 166}, + [774] = {.lex_state = 0}, + [775] = {.lex_state = 0}, + [776] = {.lex_state = 0}, + [777] = {.lex_state = 166}, + [778] = {.lex_state = 0}, + [779] = {.lex_state = 0}, + [780] = {.lex_state = 0}, + [781] = {.lex_state = 0}, + [782] = {.lex_state = 166}, + [783] = {.lex_state = 0}, + [784] = {.lex_state = 166}, + [785] = {.lex_state = 166}, + [786] = {.lex_state = 166}, + [787] = {.lex_state = 166}, + [788] = {.lex_state = 166}, + [789] = {.lex_state = 166}, + [790] = {.lex_state = 166}, + [791] = {.lex_state = 166}, + [792] = {.lex_state = 166}, + [793] = {.lex_state = 166}, + [794] = {.lex_state = 0}, + [795] = {.lex_state = 0}, + [796] = {.lex_state = 0}, + [797] = {.lex_state = 0}, + [798] = {.lex_state = 166}, + [799] = {.lex_state = 0}, + [800] = {.lex_state = 0}, + [801] = {.lex_state = 0}, + [802] = {.lex_state = 0}, + [803] = {.lex_state = 0}, + [804] = {.lex_state = 0}, + [805] = {.lex_state = 166}, + [806] = {.lex_state = 166}, + [807] = {.lex_state = 0}, + [808] = {.lex_state = 166}, + [809] = {.lex_state = 0}, + [810] = {.lex_state = 0}, + [811] = {.lex_state = 166}, + [812] = {.lex_state = 166}, + [813] = {.lex_state = 166}, + [814] = {.lex_state = 166}, + [815] = {.lex_state = 0}, + [816] = {.lex_state = 166}, + [817] = {.lex_state = 166}, + [818] = {.lex_state = 166}, + [819] = {.lex_state = 0}, + [820] = {.lex_state = 0}, + [821] = {.lex_state = 166}, + [822] = {.lex_state = 166}, + [823] = {.lex_state = 0}, + [824] = {.lex_state = 0}, + [825] = {.lex_state = 166}, + [826] = {.lex_state = 0}, + [827] = {.lex_state = 166}, + [828] = {.lex_state = 0}, + [829] = {.lex_state = 0}, + [830] = {.lex_state = 166}, + [831] = {.lex_state = 166}, + [832] = {.lex_state = 0}, + [833] = {.lex_state = 0}, + [834] = {.lex_state = 0}, + [835] = {.lex_state = 166}, + [836] = {.lex_state = 166}, + [837] = {.lex_state = 166}, + [838] = {.lex_state = 0}, + [839] = {.lex_state = 0}, + [840] = {.lex_state = 0}, + [841] = {.lex_state = 0}, + [842] = {.lex_state = 0}, + [843] = {.lex_state = 0}, + [844] = {.lex_state = 0}, + [845] = {.lex_state = 166}, + [846] = {.lex_state = 0}, + [847] = {.lex_state = 0}, + [848] = {.lex_state = 0}, + [849] = {.lex_state = 166}, + [850] = {.lex_state = 0}, + [851] = {.lex_state = 0}, + [852] = {.lex_state = 0}, + [853] = {.lex_state = 0}, + [854] = {.lex_state = 0}, + [855] = {.lex_state = 166}, + [856] = {.lex_state = 0}, + [857] = {.lex_state = 0}, + [858] = {.lex_state = 166}, + [859] = {.lex_state = 166}, + [860] = {.lex_state = 166}, + [861] = {.lex_state = 0}, + [862] = {.lex_state = 0}, + [863] = {.lex_state = 0}, + [864] = {.lex_state = 166}, + [865] = {.lex_state = 0}, + [866] = {.lex_state = 166}, + [867] = {.lex_state = 166}, + [868] = {.lex_state = 0}, + [869] = {.lex_state = 0}, + [870] = {.lex_state = 166}, + [871] = {.lex_state = 0}, + [872] = {.lex_state = 166}, + [873] = {.lex_state = 166}, + [874] = {.lex_state = 166}, + [875] = {.lex_state = 0}, + [876] = {.lex_state = 0}, + [877] = {.lex_state = 0}, + [878] = {.lex_state = 166}, + [879] = {.lex_state = 166}, + [880] = {.lex_state = 0}, + [881] = {.lex_state = 166}, + [882] = {.lex_state = 0}, + [883] = {.lex_state = 166}, + [884] = {.lex_state = 0}, + [885] = {.lex_state = 0}, + [886] = {.lex_state = 0}, + [887] = {.lex_state = 0}, + [888] = {.lex_state = 0}, + [889] = {.lex_state = 0}, + [890] = {.lex_state = 166}, + [891] = {.lex_state = 0}, + [892] = {.lex_state = 0}, + [893] = {.lex_state = 166}, + [894] = {.lex_state = 166}, + [895] = {.lex_state = 0}, + [896] = {.lex_state = 0}, + [897] = {.lex_state = 0}, + [898] = {.lex_state = 0}, + [899] = {.lex_state = 0}, + [900] = {.lex_state = 0}, + [901] = {.lex_state = 0}, + [902] = {.lex_state = 166}, + [903] = {.lex_state = 0}, + [904] = {.lex_state = 0}, + [905] = {.lex_state = 0}, + [906] = {.lex_state = 0}, + [907] = {.lex_state = 0}, + [908] = {.lex_state = 0}, + [909] = {.lex_state = 0}, + [910] = {.lex_state = 0}, + [911] = {.lex_state = 0}, + [912] = {.lex_state = 0}, + [913] = {.lex_state = 0}, + [914] = {.lex_state = 0}, + [915] = {.lex_state = 0}, + [916] = {.lex_state = 0}, + [917] = {.lex_state = 0}, + [918] = {.lex_state = 166}, + [919] = {.lex_state = 0}, + [920] = {.lex_state = 0}, + [921] = {.lex_state = 0}, + [922] = {.lex_state = 0}, + [923] = {.lex_state = 0}, + [924] = {.lex_state = 0}, + [925] = {.lex_state = 166}, + [926] = {.lex_state = 0}, + [927] = {.lex_state = 0}, + [928] = {.lex_state = 0}, + [929] = {.lex_state = 166}, + [930] = {.lex_state = 0}, + [931] = {.lex_state = 166}, + [932] = {.lex_state = 166}, + [933] = {.lex_state = 0}, + [934] = {.lex_state = 0}, + [935] = {.lex_state = 0}, + [936] = {.lex_state = 166}, + [937] = {.lex_state = 0}, + [938] = {.lex_state = 0}, + [939] = {.lex_state = 0}, + [940] = {.lex_state = 0}, + [941] = {.lex_state = 0}, + [942] = {.lex_state = 166}, + [943] = {.lex_state = 0}, + [944] = {.lex_state = 0}, + [945] = {.lex_state = 0}, + [946] = {.lex_state = 166}, + [947] = {.lex_state = 166}, + [948] = {.lex_state = 0}, + [949] = {.lex_state = 0}, + [950] = {.lex_state = 0}, + [951] = {.lex_state = 0}, + [952] = {.lex_state = 0}, + [953] = {.lex_state = 0}, + [954] = {.lex_state = 0}, + [955] = {.lex_state = 0}, + [956] = {.lex_state = 0}, + [957] = {.lex_state = 166}, + [958] = {.lex_state = 0}, + [959] = {.lex_state = 0}, + [960] = {.lex_state = 0}, + [961] = {.lex_state = 166}, + [962] = {.lex_state = 166}, + [963] = {.lex_state = 0}, + [964] = {.lex_state = 166}, + [965] = {.lex_state = 0}, + [966] = {.lex_state = 166}, + [967] = {.lex_state = 166}, + [968] = {.lex_state = 166}, + [969] = {.lex_state = 0}, + [970] = {.lex_state = 166}, + [971] = {.lex_state = 166}, + [972] = {.lex_state = 0}, + [973] = {.lex_state = 0}, + [974] = {.lex_state = 166}, + [975] = {.lex_state = 0}, + [976] = {.lex_state = 0}, + [977] = {.lex_state = 0}, + [978] = {.lex_state = 0}, + [979] = {.lex_state = 0}, + [980] = {.lex_state = 0}, + [981] = {.lex_state = 0}, + [982] = {.lex_state = 0}, + [983] = {.lex_state = 0}, + [984] = {.lex_state = 166}, + [985] = {.lex_state = 0}, + [986] = {.lex_state = 0}, + [987] = {.lex_state = 0}, + [988] = {.lex_state = 0}, + [989] = {.lex_state = 166}, + [990] = {.lex_state = 0}, + [991] = {.lex_state = 0}, + [992] = {.lex_state = 0}, + [993] = {.lex_state = 0}, + [994] = {.lex_state = 0}, + [995] = {.lex_state = 0}, + [996] = {.lex_state = 0}, + [997] = {.lex_state = 0}, + [998] = {.lex_state = 0}, + [999] = {.lex_state = 166}, + [1000] = {.lex_state = 0}, + [1001] = {.lex_state = 1}, + [1002] = {.lex_state = 0}, + [1003] = {.lex_state = 0}, + [1004] = {.lex_state = 166}, + [1005] = {.lex_state = 0}, + [1006] = {.lex_state = 0}, + [1007] = {.lex_state = 0}, + [1008] = {.lex_state = 0}, + [1009] = {.lex_state = 0}, + [1010] = {.lex_state = 0}, + [1011] = {.lex_state = 0}, + [1012] = {.lex_state = 0}, + [1013] = {.lex_state = 0}, + [1014] = {.lex_state = 166}, + [1015] = {.lex_state = 0}, + [1016] = {.lex_state = 0}, + [1017] = {.lex_state = 0}, + [1018] = {.lex_state = 0}, + [1019] = {.lex_state = 0}, + [1020] = {.lex_state = 0}, + [1021] = {.lex_state = 0}, + [1022] = {.lex_state = 166}, + [1023] = {.lex_state = 0}, + [1024] = {.lex_state = 0}, + [1025] = {.lex_state = 0}, + [1026] = {.lex_state = 0}, + [1027] = {.lex_state = 0}, + [1028] = {.lex_state = 0}, + [1029] = {.lex_state = 0}, + [1030] = {.lex_state = 0}, + [1031] = {.lex_state = 0}, + [1032] = {.lex_state = 0}, + [1033] = {.lex_state = 0}, + [1034] = {.lex_state = 0}, + [1035] = {.lex_state = 0}, + [1036] = {.lex_state = 0}, + [1037] = {.lex_state = 0}, + [1038] = {.lex_state = 0}, + [1039] = {.lex_state = 0}, + [1040] = {.lex_state = 0}, + [1041] = {.lex_state = 0}, + [1042] = {.lex_state = 0}, + [1043] = {.lex_state = 0}, + [1044] = {.lex_state = 0}, + [1045] = {.lex_state = 0}, + [1046] = {.lex_state = 0}, + [1047] = {.lex_state = 0}, + [1048] = {.lex_state = 0}, + [1049] = {.lex_state = 0}, + [1050] = {.lex_state = 0}, + [1051] = {.lex_state = 0}, + [1052] = {.lex_state = 166}, + [1053] = {.lex_state = 0}, + [1054] = {.lex_state = 0}, + [1055] = {.lex_state = 0}, + [1056] = {.lex_state = 0}, + [1057] = {.lex_state = 0}, + [1058] = {.lex_state = 0}, + [1059] = {.lex_state = 0}, + [1060] = {.lex_state = 0}, + [1061] = {.lex_state = 0}, + [1062] = {.lex_state = 0}, + [1063] = {.lex_state = 0}, + [1064] = {.lex_state = 0}, + [1065] = {.lex_state = 0}, + [1066] = {.lex_state = 0}, + [1067] = {.lex_state = 0}, + [1068] = {.lex_state = 0}, + [1069] = {.lex_state = 0}, + [1070] = {.lex_state = 166}, + [1071] = {.lex_state = 166}, + [1072] = {.lex_state = 166}, + [1073] = {.lex_state = 0}, + [1074] = {.lex_state = 0}, + [1075] = {.lex_state = 0}, +}; + +static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { + [0] = { + [ts_builtin_sym_end] = ACTIONS(1), + [sym_atom] = ACTIONS(1), + [anon_sym_DASH] = ACTIONS(1), + [anon_sym_include] = ACTIONS(1), + [anon_sym_SQUOTEinclude_SQUOTE] = ACTIONS(1), + [anon_sym_LPAREN] = ACTIONS(1), + [anon_sym_RPAREN] = ACTIONS(1), + [anon_sym_DOT] = ACTIONS(1), + [anon_sym_include_lib] = ACTIONS(1), + [anon_sym_SQUOTEinclude_lib_SQUOTE] = ACTIONS(1), + [anon_sym_undef] = ACTIONS(1), + [anon_sym_SQUOTEundef_SQUOTE] = ACTIONS(1), + [anon_sym_ifdef] = ACTIONS(1), + [anon_sym_SQUOTEifdef_SQUOTE] = ACTIONS(1), + [anon_sym_ifndef] = ACTIONS(1), + [anon_sym_SQUOTEifndef_SQUOTE] = ACTIONS(1), + [anon_sym_else] = ACTIONS(1), + [anon_sym_SQUOTEelse_SQUOTE] = ACTIONS(1), + [anon_sym_endif] = ACTIONS(1), + [anon_sym_SQUOTEendif_SQUOTE] = ACTIONS(1), + [anon_sym_if] = ACTIONS(1), + [anon_sym_SQUOTEif_SQUOTE] = ACTIONS(1), + [anon_sym_elif] = ACTIONS(1), + [anon_sym_SQUOTEelif_SQUOTE] = ACTIONS(1), + [anon_sym_define] = ACTIONS(1), + [anon_sym_SQUOTEdefine_SQUOTE] = ACTIONS(1), + [anon_sym_COMMA] = ACTIONS(1), + [anon_sym_module] = ACTIONS(1), + [anon_sym_SQUOTEmodule_SQUOTE] = ACTIONS(1), + [anon_sym_behaviour] = ACTIONS(1), + [anon_sym_SQUOTEbehaviour_SQUOTE] = ACTIONS(1), + [anon_sym_behavior] = ACTIONS(1), + [anon_sym_SQUOTEbehavior_SQUOTE] = ACTIONS(1), + [anon_sym_export] = ACTIONS(1), + [anon_sym_SQUOTEexport_SQUOTE] = ACTIONS(1), + [anon_sym_LBRACK] = ACTIONS(1), + [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_import] = ACTIONS(1), + [anon_sym_SQUOTEimport_SQUOTE] = ACTIONS(1), + [anon_sym_optional_callbacks] = ACTIONS(1), + [anon_sym_SQUOTEoptional_callbacks_SQUOTE] = ACTIONS(1), + [anon_sym_export_type] = ACTIONS(1), + [anon_sym_SQUOTEexport_type_SQUOTE] = ACTIONS(1), + [anon_sym_compile] = ACTIONS(1), + [anon_sym_SQUOTEcompile_SQUOTE] = ACTIONS(1), + [anon_sym_file] = ACTIONS(1), + [anon_sym_SQUOTEfile_SQUOTE] = ACTIONS(1), + [anon_sym_type] = ACTIONS(1), + [anon_sym_SQUOTEtype_SQUOTE] = ACTIONS(1), + [anon_sym_opaque] = ACTIONS(1), + [anon_sym_SQUOTEopaque_SQUOTE] = ACTIONS(1), + [anon_sym_COLON_COLON] = ACTIONS(1), + [anon_sym_record] = ACTIONS(1), + [anon_sym_SQUOTErecord_SQUOTE] = ACTIONS(1), + [anon_sym_spec] = ACTIONS(1), + [anon_sym_SQUOTEspec_SQUOTE] = ACTIONS(1), + [anon_sym_callback] = ACTIONS(1), + [anon_sym_SQUOTEcallback_SQUOTE] = ACTIONS(1), + [anon_sym_SEMI] = ACTIONS(1), + [anon_sym_COLON] = ACTIONS(1), + [anon_sym_DASH_GT] = ACTIONS(1), + [anon_sym_when] = ACTIONS(1), + [anon_sym_PIPE] = ACTIONS(1), + [anon_sym_fun] = ACTIONS(1), + [anon_sym_DOT_DOT] = ACTIONS(1), + [anon_sym_catch] = ACTIONS(1), + [anon_sym_EQ] = ACTIONS(1), + [anon_sym_BANG] = ACTIONS(1), + [anon_sym_orelse] = ACTIONS(1), + [anon_sym_andalso] = ACTIONS(1), + [anon_sym_begin] = ACTIONS(1), + [anon_sym_end] = ACTIONS(1), + [anon_sym_GT_GT] = ACTIONS(1), + [anon_sym_SLASH] = ACTIONS(1), + [anon_sym_STAR] = ACTIONS(1), + [anon_sym_unit] = ACTIONS(1), + [anon_sym_PIPE_PIPE] = ACTIONS(1), + [anon_sym_LT_DASH] = ACTIONS(1), + [anon_sym_LT_EQ] = ACTIONS(1), + [anon_sym_LBRACE] = ACTIONS(1), + [anon_sym_RBRACE] = ACTIONS(1), + [anon_sym_POUND] = ACTIONS(1), + [anon_sym_EQ_GT] = ACTIONS(1), + [anon_sym_COLON_EQ] = ACTIONS(1), + [anon_sym_case] = ACTIONS(1), + [anon_sym_of] = ACTIONS(1), + [anon_sym_receive] = ACTIONS(1), + [anon_sym_after] = ACTIONS(1), + [anon_sym_try] = ACTIONS(1), + [anon_sym_QMARK] = ACTIONS(1), + [anon_sym_PLUS] = ACTIONS(1), + [anon_sym_bnot] = ACTIONS(1), + [anon_sym_not] = ACTIONS(1), + [anon_sym_div] = ACTIONS(1), + [anon_sym_rem] = ACTIONS(1), + [anon_sym_band] = ACTIONS(1), + [anon_sym_and] = ACTIONS(1), + [anon_sym_bor] = ACTIONS(1), + [anon_sym_bxor] = ACTIONS(1), + [anon_sym_bsl] = ACTIONS(1), + [anon_sym_bsr] = ACTIONS(1), + [anon_sym_or] = ACTIONS(1), + [anon_sym_xor] = ACTIONS(1), + [anon_sym_PLUS_PLUS] = ACTIONS(1), + [anon_sym_DASH_DASH] = ACTIONS(1), + [anon_sym_EQ_EQ] = ACTIONS(1), + [anon_sym_SLASH_EQ] = ACTIONS(1), + [anon_sym_EQ_LT] = ACTIONS(1), + [anon_sym_LT] = ACTIONS(1), + [anon_sym_GT_EQ] = ACTIONS(1), + [anon_sym_GT] = ACTIONS(1), + [anon_sym_EQ_COLON_EQ] = ACTIONS(1), + [anon_sym_EQ_SLASH_EQ] = ACTIONS(1), + [sym_var] = ACTIONS(1), + [sym_integer] = ACTIONS(1), + [sym_float] = ACTIONS(1), + [sym_string] = ACTIONS(1), + [sym_char] = ACTIONS(1), + [sym_comment] = ACTIONS(3), + }, + [1] = { + [sym_source_file] = STATE(1075), + [sym__form] = STATE(354), + [sym__preprocessor_directive] = STATE(642), + [sym_pp_include] = STATE(639), + [sym_pp_include_lib] = STATE(639), + [sym_pp_undef] = STATE(639), + [sym_pp_ifdef] = STATE(639), + [sym_pp_ifndef] = STATE(639), + [sym_pp_else] = STATE(639), + [sym_pp_endif] = STATE(639), + [sym_pp_if] = STATE(639), + [sym_pp_elif] = STATE(639), + [sym_pp_define] = STATE(639), + [sym_module_attribute] = STATE(642), + [sym_behaviour_attribute] = STATE(642), + [sym_export_attribute] = STATE(642), + [sym_import_attribute] = STATE(642), + [sym_optional_callbacks_attribute] = STATE(642), + [sym_export_type_attribute] = STATE(642), + [sym_compile_options_attribute] = STATE(642), + [sym_file_attribute] = STATE(642), + [sym_type_alias] = STATE(642), + [sym_opaque] = STATE(642), + [sym_record_decl] = STATE(642), + [sym_spec] = STATE(642), + [sym_callback] = STATE(642), + [sym_wild_attribute] = STATE(642), + [sym_attr_name] = STATE(157), + [sym_fun_decl] = STATE(642), + [sym__function_or_macro_clause] = STATE(566), + [sym_function_clause] = STATE(620), + [sym__name] = STATE(901), + [sym_macro_call_expr] = STATE(620), + [sym_macro_call_none] = STATE(489), + [aux_sym_source_file_repeat1] = STATE(354), + [ts_builtin_sym_end] = ACTIONS(5), + [sym_atom] = ACTIONS(7), + [anon_sym_DASH] = ACTIONS(9), + [anon_sym_QMARK] = ACTIONS(11), + [sym_var] = ACTIONS(7), + [sym_comment] = ACTIONS(3), + }, + [2] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__function_or_macro_clause] = STATE(882), + [sym_function_clause] = STATE(620), + [sym__expr] = STATE(271), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym__cr_clause_or_macro] = STATE(891), + [sym_cr_clause] = STATE(698), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym__name] = STATE(926), + [sym_try_expr] = STATE(232), + [sym__macro_def_replacement] = STATE(1039), + [sym_replacement_function_clauses] = STATE(988), + [sym_replacement_cr_clauses] = STATE(1038), + [sym_replacement_guard_or] = STATE(1034), + [sym_replacement_guard_and] = STATE(765), + [sym_replacement_parens] = STATE(1019), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(327), + [sym_macro_call_none] = STATE(489), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(13), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(17), + [anon_sym_RPAREN] = ACTIONS(19), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(45), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(49), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [3] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(348), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym__cr_clauses] = STATE(811), + [sym__cr_clause_or_macro] = STATE(701), + [sym_cr_clause] = STATE(698), + [sym_receive_expr] = STATE(232), + [sym_receive_after] = STATE(984), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(277), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_end] = ACTIONS(59), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_after] = ACTIONS(61), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [4] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(348), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym__cr_clauses] = STATE(878), + [sym__cr_clause_or_macro] = STATE(701), + [sym_cr_clause] = STATE(698), + [sym_receive_expr] = STATE(232), + [sym_receive_after] = STATE(947), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(277), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_end] = ACTIONS(67), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_after] = ACTIONS(61), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [5] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(348), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym__cr_clauses] = STATE(855), + [sym__cr_clause_or_macro] = STATE(701), + [sym_cr_clause] = STATE(698), + [sym_receive_expr] = STATE(232), + [sym_receive_after] = STATE(961), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(277), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_end] = ACTIONS(69), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_after] = ACTIONS(61), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [6] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(348), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym__cr_clauses] = STATE(966), + [sym__cr_clause_or_macro] = STATE(701), + [sym_cr_clause] = STATE(698), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(277), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_end] = ACTIONS(71), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [7] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(349), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_if_clause] = STATE(890), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_guard] = STATE(917), + [sym_guard_clause] = STATE(799), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_end] = ACTIONS(79), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [8] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(349), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_if_clause] = STATE(798), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_guard] = STATE(917), + [sym_guard_clause] = STATE(799), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_end] = ACTIONS(83), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [9] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(348), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym__cr_clauses] = STATE(970), + [sym__cr_clause_or_macro] = STATE(701), + [sym_cr_clause] = STATE(698), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(277), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_end] = ACTIONS(85), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [10] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(349), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_if_clause] = STATE(845), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_guard] = STATE(917), + [sym_guard_clause] = STATE(799), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_end] = ACTIONS(87), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [11] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(348), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym__cr_clauses] = STATE(999), + [sym__cr_clause_or_macro] = STATE(701), + [sym_cr_clause] = STATE(698), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(277), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_end] = ACTIONS(89), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [12] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(348), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym__cr_clauses] = STATE(757), + [sym__cr_clause_or_macro] = STATE(701), + [sym_cr_clause] = STATE(698), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(277), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [13] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_fun_type_sig] = STATE(981), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(381), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_expr_args] = STATE(983), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(93), + [anon_sym_RPAREN] = ACTIONS(95), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [14] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(348), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym__cr_clauses] = STATE(762), + [sym__cr_clause_or_macro] = STATE(701), + [sym_cr_clause] = STATE(698), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(277), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [15] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(348), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym__cr_clauses] = STATE(734), + [sym__cr_clause_or_macro] = STATE(701), + [sym_cr_clause] = STATE(698), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(277), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [16] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_fun_type_sig] = STATE(981), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(381), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_expr_args] = STATE(983), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(93), + [anon_sym_RPAREN] = ACTIONS(103), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [17] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_fun_type_sig] = STATE(952), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(381), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_expr_args] = STATE(983), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(93), + [anon_sym_RPAREN] = ACTIONS(105), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [18] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_fun_type_sig] = STATE(955), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(381), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_expr_args] = STATE(983), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(93), + [anon_sym_RPAREN] = ACTIONS(107), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [19] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(348), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym__cr_clauses] = STATE(750), + [sym__cr_clause_or_macro] = STATE(701), + [sym_cr_clause] = STATE(698), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(277), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [20] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(348), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym__cr_clauses] = STATE(737), + [sym__cr_clause_or_macro] = STATE(701), + [sym_cr_clause] = STATE(698), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(277), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [21] = { + [sym_ann_type] = STATE(483), + [sym_ann_var] = STATE(60), + [sym_pipe] = STATE(483), + [sym_fun_type] = STATE(427), + [sym_range_type] = STATE(483), + [sym__expr] = STATE(340), + [sym_catch_expr] = STATE(483), + [sym_match_expr] = STATE(483), + [sym_binary_op_expr] = STATE(483), + [sym_unary_op_expr] = STATE(483), + [sym__expr_max] = STATE(429), + [sym_remote] = STATE(483), + [sym_remote_module] = STATE(428), + [sym_paren_expr] = STATE(427), + [sym_block_expr] = STATE(427), + [sym_list] = STATE(427), + [sym_binary] = STATE(427), + [sym_list_comprehension] = STATE(427), + [sym_binary_comprehension] = STATE(427), + [sym__lc_expr] = STATE(783), + [sym_generator] = STATE(810), + [sym_b_generator] = STATE(810), + [sym_tuple] = STATE(427), + [sym_map_expr_update] = STATE(454), + [sym_map_expr] = STATE(454), + [sym__map_expr_base] = STATE(1045), + [sym_record_index_expr] = STATE(453), + [sym_record_field_expr] = STATE(453), + [sym_record_update_expr] = STATE(453), + [sym_record_expr] = STATE(453), + [sym_record_name] = STATE(754), + [sym__record_expr_base] = STATE(940), + [sym_call] = STATE(483), + [sym_if_expr] = STATE(427), + [sym_case_expr] = STATE(427), + [sym_receive_expr] = STATE(427), + [sym_internal_fun] = STATE(427), + [sym_external_fun] = STATE(427), + [sym_anonymous_fun] = STATE(427), + [sym_try_expr] = STATE(427), + [sym__macro_body_expr] = STATE(310), + [sym_macro_call_expr] = STATE(310), + [sym_macro_string] = STATE(310), + [sym_concatables] = STATE(427), + [sym__concatable] = STATE(597), + [sym__prefix_op] = STATE(63), + [sym_atom] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_LPAREN] = ACTIONS(113), + [anon_sym_if] = ACTIONS(115), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_fun] = ACTIONS(119), + [sym_dotdotdot] = ACTIONS(121), + [anon_sym_catch] = ACTIONS(123), + [anon_sym_begin] = ACTIONS(125), + [anon_sym_LT_LT] = ACTIONS(127), + [anon_sym_LBRACE] = ACTIONS(129), + [anon_sym_POUND] = ACTIONS(131), + [anon_sym_case] = ACTIONS(133), + [anon_sym_receive] = ACTIONS(135), + [anon_sym_try] = ACTIONS(137), + [anon_sym_QMARK] = ACTIONS(139), + [anon_sym_PLUS] = ACTIONS(111), + [anon_sym_bnot] = ACTIONS(141), + [anon_sym_not] = ACTIONS(141), + [sym_var] = ACTIONS(143), + [sym_integer] = ACTIONS(109), + [sym_float] = ACTIONS(145), + [sym_string] = ACTIONS(147), + [sym_char] = ACTIONS(145), + [sym_comment] = ACTIONS(3), + }, + [22] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_fun_type_sig] = STATE(981), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(381), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_expr_args] = STATE(983), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(93), + [anon_sym_RPAREN] = ACTIONS(149), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [23] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_fun_type_sig] = STATE(981), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(381), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_expr_args] = STATE(983), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(93), + [anon_sym_RPAREN] = ACTIONS(151), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [24] = { + [sym_ann_type] = STATE(483), + [sym_ann_var] = STATE(60), + [sym_pipe] = STATE(483), + [sym_fun_type] = STATE(427), + [sym_range_type] = STATE(483), + [sym__expr] = STATE(340), + [sym_catch_expr] = STATE(483), + [sym_match_expr] = STATE(483), + [sym_binary_op_expr] = STATE(483), + [sym_unary_op_expr] = STATE(483), + [sym__expr_max] = STATE(429), + [sym_remote] = STATE(483), + [sym_remote_module] = STATE(428), + [sym_paren_expr] = STATE(427), + [sym_block_expr] = STATE(427), + [sym_list] = STATE(427), + [sym_binary] = STATE(427), + [sym_list_comprehension] = STATE(427), + [sym_binary_comprehension] = STATE(427), + [sym__lc_expr] = STATE(720), + [sym_generator] = STATE(810), + [sym_b_generator] = STATE(810), + [sym_tuple] = STATE(427), + [sym_map_expr_update] = STATE(454), + [sym_map_expr] = STATE(454), + [sym__map_expr_base] = STATE(1045), + [sym_record_index_expr] = STATE(453), + [sym_record_field_expr] = STATE(453), + [sym_record_update_expr] = STATE(453), + [sym_record_expr] = STATE(453), + [sym_record_name] = STATE(754), + [sym__record_expr_base] = STATE(940), + [sym_call] = STATE(483), + [sym_if_expr] = STATE(427), + [sym_case_expr] = STATE(427), + [sym_receive_expr] = STATE(427), + [sym_internal_fun] = STATE(427), + [sym_external_fun] = STATE(427), + [sym_anonymous_fun] = STATE(427), + [sym_try_expr] = STATE(427), + [sym__macro_body_expr] = STATE(310), + [sym_macro_call_expr] = STATE(310), + [sym_macro_string] = STATE(310), + [sym_concatables] = STATE(427), + [sym__concatable] = STATE(597), + [sym__prefix_op] = STATE(63), + [sym_atom] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_LPAREN] = ACTIONS(113), + [anon_sym_if] = ACTIONS(115), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_fun] = ACTIONS(119), + [sym_dotdotdot] = ACTIONS(121), + [anon_sym_catch] = ACTIONS(123), + [anon_sym_begin] = ACTIONS(125), + [anon_sym_LT_LT] = ACTIONS(127), + [anon_sym_LBRACE] = ACTIONS(129), + [anon_sym_POUND] = ACTIONS(131), + [anon_sym_case] = ACTIONS(133), + [anon_sym_receive] = ACTIONS(135), + [anon_sym_try] = ACTIONS(137), + [anon_sym_QMARK] = ACTIONS(139), + [anon_sym_PLUS] = ACTIONS(111), + [anon_sym_bnot] = ACTIONS(141), + [anon_sym_not] = ACTIONS(141), + [sym_var] = ACTIONS(143), + [sym_integer] = ACTIONS(109), + [sym_float] = ACTIONS(145), + [sym_string] = ACTIONS(147), + [sym_char] = ACTIONS(145), + [sym_comment] = ACTIONS(3), + }, + [25] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(349), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_if_clause] = STATE(918), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_guard] = STATE(917), + [sym_guard_clause] = STATE(799), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [26] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(348), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym__cr_clauses] = STATE(756), + [sym__cr_clause_or_macro] = STATE(701), + [sym_cr_clause] = STATE(698), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(277), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [27] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(371), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_macro_expr] = STATE(869), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_RPAREN] = ACTIONS(155), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [28] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(371), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_macro_expr] = STATE(823), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_RPAREN] = ACTIONS(163), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [29] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(370), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_map_field] = STATE(861), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_RBRACE] = ACTIONS(165), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [30] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(371), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_macro_expr] = STATE(833), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_RPAREN] = ACTIONS(167), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [31] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(370), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_map_field] = STATE(854), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_RBRACE] = ACTIONS(169), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [32] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(370), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_map_field] = STATE(826), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_RBRACE] = ACTIONS(171), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [33] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(348), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym__cr_clause_or_macro] = STATE(679), + [sym_cr_clause] = STATE(698), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(277), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [34] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(371), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_macro_expr] = STATE(865), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_RPAREN] = ACTIONS(173), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [35] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(370), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_map_field] = STATE(895), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_RBRACE] = ACTIONS(175), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [36] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(349), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_guard] = STATE(1033), + [sym_guard_clause] = STATE(799), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [37] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(370), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_map_field] = STATE(877), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_RBRACE] = ACTIONS(177), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [38] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(349), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_guard_clause] = STATE(920), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [39] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(381), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_RPAREN] = ACTIONS(179), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [40] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(464), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_RPAREN] = ACTIONS(181), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [41] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(357), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_RBRACE] = ACTIONS(183), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [42] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(343), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_RBRACK] = ACTIONS(185), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [43] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(347), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym_replacement_guard_and] = STATE(913), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [44] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(364), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_RPAREN] = ACTIONS(179), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [45] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(370), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_map_field] = STATE(912), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [46] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(371), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_macro_expr] = STATE(924), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [47] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(378), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_RBRACE] = ACTIONS(187), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [48] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(363), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_RBRACE] = ACTIONS(189), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [49] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(360), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_RPAREN] = ACTIONS(191), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [50] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(342), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_RBRACK] = ACTIONS(193), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [51] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(318), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_RBRACK] = ACTIONS(195), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [52] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(288), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [53] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(326), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [54] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(355), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [55] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(61), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(286), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(430), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(346), + [sym_macro_call_expr] = STATE(346), + [sym_macro_string] = STATE(346), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(59), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(197), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(199), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(197), + [anon_sym_bnot] = ACTIONS(201), + [anon_sym_not] = ACTIONS(201), + [sym_var] = ACTIONS(203), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(205), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [56] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(61), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(287), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(430), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(346), + [sym_macro_call_expr] = STATE(346), + [sym_macro_string] = STATE(346), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(59), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(197), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(199), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(197), + [anon_sym_bnot] = ACTIONS(201), + [anon_sym_not] = ACTIONS(201), + [sym_var] = ACTIONS(203), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(205), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [57] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(467), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [58] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(274), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [59] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(61), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(301), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(430), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(346), + [sym_macro_call_expr] = STATE(346), + [sym_macro_string] = STATE(346), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(59), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(197), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(199), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(197), + [anon_sym_bnot] = ACTIONS(201), + [anon_sym_not] = ACTIONS(201), + [sym_var] = ACTIONS(203), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(205), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [60] = { + [sym_ann_type] = STATE(483), + [sym_ann_var] = STATE(60), + [sym_pipe] = STATE(483), + [sym_fun_type] = STATE(427), + [sym_range_type] = STATE(483), + [sym__expr] = STATE(317), + [sym_catch_expr] = STATE(483), + [sym_match_expr] = STATE(483), + [sym_binary_op_expr] = STATE(483), + [sym_unary_op_expr] = STATE(483), + [sym__expr_max] = STATE(429), + [sym_remote] = STATE(483), + [sym_remote_module] = STATE(428), + [sym_paren_expr] = STATE(427), + [sym_block_expr] = STATE(427), + [sym_list] = STATE(427), + [sym_binary] = STATE(427), + [sym_list_comprehension] = STATE(427), + [sym_binary_comprehension] = STATE(427), + [sym_tuple] = STATE(427), + [sym_map_expr_update] = STATE(454), + [sym_map_expr] = STATE(454), + [sym__map_expr_base] = STATE(1045), + [sym_record_index_expr] = STATE(453), + [sym_record_field_expr] = STATE(453), + [sym_record_update_expr] = STATE(453), + [sym_record_expr] = STATE(453), + [sym_record_name] = STATE(754), + [sym__record_expr_base] = STATE(940), + [sym_call] = STATE(483), + [sym_if_expr] = STATE(427), + [sym_case_expr] = STATE(427), + [sym_receive_expr] = STATE(427), + [sym_internal_fun] = STATE(427), + [sym_external_fun] = STATE(427), + [sym_anonymous_fun] = STATE(427), + [sym_try_expr] = STATE(427), + [sym__macro_body_expr] = STATE(310), + [sym_macro_call_expr] = STATE(310), + [sym_macro_string] = STATE(310), + [sym_concatables] = STATE(427), + [sym__concatable] = STATE(597), + [sym__prefix_op] = STATE(63), + [sym_atom] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_LPAREN] = ACTIONS(113), + [anon_sym_if] = ACTIONS(115), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_fun] = ACTIONS(119), + [sym_dotdotdot] = ACTIONS(121), + [anon_sym_catch] = ACTIONS(123), + [anon_sym_begin] = ACTIONS(125), + [anon_sym_LT_LT] = ACTIONS(127), + [anon_sym_LBRACE] = ACTIONS(129), + [anon_sym_POUND] = ACTIONS(131), + [anon_sym_case] = ACTIONS(133), + [anon_sym_receive] = ACTIONS(135), + [anon_sym_try] = ACTIONS(137), + [anon_sym_QMARK] = ACTIONS(139), + [anon_sym_PLUS] = ACTIONS(111), + [anon_sym_bnot] = ACTIONS(141), + [anon_sym_not] = ACTIONS(141), + [sym_var] = ACTIONS(143), + [sym_integer] = ACTIONS(109), + [sym_float] = ACTIONS(145), + [sym_string] = ACTIONS(147), + [sym_char] = ACTIONS(145), + [sym_comment] = ACTIONS(3), + }, + [61] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(61), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(296), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(430), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(346), + [sym_macro_call_expr] = STATE(346), + [sym_macro_string] = STATE(346), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(59), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(197), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(199), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(197), + [anon_sym_bnot] = ACTIONS(201), + [anon_sym_not] = ACTIONS(201), + [sym_var] = ACTIONS(203), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(205), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [62] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(256), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [63] = { + [sym_ann_type] = STATE(483), + [sym_ann_var] = STATE(60), + [sym_pipe] = STATE(483), + [sym_fun_type] = STATE(427), + [sym_range_type] = STATE(483), + [sym__expr] = STATE(321), + [sym_catch_expr] = STATE(483), + [sym_match_expr] = STATE(483), + [sym_binary_op_expr] = STATE(483), + [sym_unary_op_expr] = STATE(483), + [sym__expr_max] = STATE(429), + [sym_remote] = STATE(483), + [sym_remote_module] = STATE(428), + [sym_paren_expr] = STATE(427), + [sym_block_expr] = STATE(427), + [sym_list] = STATE(427), + [sym_binary] = STATE(427), + [sym_list_comprehension] = STATE(427), + [sym_binary_comprehension] = STATE(427), + [sym_tuple] = STATE(427), + [sym_map_expr_update] = STATE(454), + [sym_map_expr] = STATE(454), + [sym__map_expr_base] = STATE(1045), + [sym_record_index_expr] = STATE(453), + [sym_record_field_expr] = STATE(453), + [sym_record_update_expr] = STATE(453), + [sym_record_expr] = STATE(453), + [sym_record_name] = STATE(754), + [sym__record_expr_base] = STATE(940), + [sym_call] = STATE(483), + [sym_if_expr] = STATE(427), + [sym_case_expr] = STATE(427), + [sym_receive_expr] = STATE(427), + [sym_internal_fun] = STATE(427), + [sym_external_fun] = STATE(427), + [sym_anonymous_fun] = STATE(427), + [sym_try_expr] = STATE(427), + [sym__macro_body_expr] = STATE(310), + [sym_macro_call_expr] = STATE(310), + [sym_macro_string] = STATE(310), + [sym_concatables] = STATE(427), + [sym__concatable] = STATE(597), + [sym__prefix_op] = STATE(63), + [sym_atom] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_LPAREN] = ACTIONS(113), + [anon_sym_if] = ACTIONS(115), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_fun] = ACTIONS(119), + [sym_dotdotdot] = ACTIONS(121), + [anon_sym_catch] = ACTIONS(123), + [anon_sym_begin] = ACTIONS(125), + [anon_sym_LT_LT] = ACTIONS(127), + [anon_sym_LBRACE] = ACTIONS(129), + [anon_sym_POUND] = ACTIONS(131), + [anon_sym_case] = ACTIONS(133), + [anon_sym_receive] = ACTIONS(135), + [anon_sym_try] = ACTIONS(137), + [anon_sym_QMARK] = ACTIONS(139), + [anon_sym_PLUS] = ACTIONS(111), + [anon_sym_bnot] = ACTIONS(141), + [anon_sym_not] = ACTIONS(141), + [sym_var] = ACTIONS(143), + [sym_integer] = ACTIONS(109), + [sym_float] = ACTIONS(145), + [sym_string] = ACTIONS(147), + [sym_char] = ACTIONS(145), + [sym_comment] = ACTIONS(3), + }, + [64] = { + [sym_ann_type] = STATE(483), + [sym_ann_var] = STATE(60), + [sym_pipe] = STATE(483), + [sym_fun_type] = STATE(427), + [sym_range_type] = STATE(483), + [sym__expr] = STATE(316), + [sym_catch_expr] = STATE(483), + [sym_match_expr] = STATE(483), + [sym_binary_op_expr] = STATE(483), + [sym_unary_op_expr] = STATE(483), + [sym__expr_max] = STATE(429), + [sym_remote] = STATE(483), + [sym_remote_module] = STATE(428), + [sym_paren_expr] = STATE(427), + [sym_block_expr] = STATE(427), + [sym_list] = STATE(427), + [sym_binary] = STATE(427), + [sym_list_comprehension] = STATE(427), + [sym_binary_comprehension] = STATE(427), + [sym_tuple] = STATE(427), + [sym_map_expr_update] = STATE(454), + [sym_map_expr] = STATE(454), + [sym__map_expr_base] = STATE(1045), + [sym_record_index_expr] = STATE(453), + [sym_record_field_expr] = STATE(453), + [sym_record_update_expr] = STATE(453), + [sym_record_expr] = STATE(453), + [sym_record_name] = STATE(754), + [sym__record_expr_base] = STATE(940), + [sym_call] = STATE(483), + [sym_if_expr] = STATE(427), + [sym_case_expr] = STATE(427), + [sym_receive_expr] = STATE(427), + [sym_internal_fun] = STATE(427), + [sym_external_fun] = STATE(427), + [sym_anonymous_fun] = STATE(427), + [sym_try_expr] = STATE(427), + [sym__macro_body_expr] = STATE(310), + [sym_macro_call_expr] = STATE(310), + [sym_macro_string] = STATE(310), + [sym_concatables] = STATE(427), + [sym__concatable] = STATE(597), + [sym__prefix_op] = STATE(63), + [sym_atom] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_LPAREN] = ACTIONS(113), + [anon_sym_if] = ACTIONS(115), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_fun] = ACTIONS(119), + [sym_dotdotdot] = ACTIONS(121), + [anon_sym_catch] = ACTIONS(123), + [anon_sym_begin] = ACTIONS(125), + [anon_sym_LT_LT] = ACTIONS(127), + [anon_sym_LBRACE] = ACTIONS(129), + [anon_sym_POUND] = ACTIONS(131), + [anon_sym_case] = ACTIONS(133), + [anon_sym_receive] = ACTIONS(135), + [anon_sym_try] = ACTIONS(137), + [anon_sym_QMARK] = ACTIONS(139), + [anon_sym_PLUS] = ACTIONS(111), + [anon_sym_bnot] = ACTIONS(141), + [anon_sym_not] = ACTIONS(141), + [sym_var] = ACTIONS(143), + [sym_integer] = ACTIONS(109), + [sym_float] = ACTIONS(145), + [sym_string] = ACTIONS(147), + [sym_char] = ACTIONS(145), + [sym_comment] = ACTIONS(3), + }, + [65] = { + [sym_ann_type] = STATE(483), + [sym_ann_var] = STATE(60), + [sym_pipe] = STATE(483), + [sym_fun_type] = STATE(427), + [sym_range_type] = STATE(483), + [sym__expr] = STATE(308), + [sym_catch_expr] = STATE(483), + [sym_match_expr] = STATE(483), + [sym_binary_op_expr] = STATE(483), + [sym_unary_op_expr] = STATE(483), + [sym__expr_max] = STATE(429), + [sym_remote] = STATE(483), + [sym_remote_module] = STATE(428), + [sym_paren_expr] = STATE(427), + [sym_block_expr] = STATE(427), + [sym_list] = STATE(427), + [sym_binary] = STATE(427), + [sym_list_comprehension] = STATE(427), + [sym_binary_comprehension] = STATE(427), + [sym_tuple] = STATE(427), + [sym_map_expr_update] = STATE(454), + [sym_map_expr] = STATE(454), + [sym__map_expr_base] = STATE(1045), + [sym_record_index_expr] = STATE(453), + [sym_record_field_expr] = STATE(453), + [sym_record_update_expr] = STATE(453), + [sym_record_expr] = STATE(453), + [sym_record_name] = STATE(754), + [sym__record_expr_base] = STATE(940), + [sym_call] = STATE(483), + [sym_if_expr] = STATE(427), + [sym_case_expr] = STATE(427), + [sym_receive_expr] = STATE(427), + [sym_internal_fun] = STATE(427), + [sym_external_fun] = STATE(427), + [sym_anonymous_fun] = STATE(427), + [sym_try_expr] = STATE(427), + [sym__macro_body_expr] = STATE(310), + [sym_macro_call_expr] = STATE(310), + [sym_macro_string] = STATE(310), + [sym_concatables] = STATE(427), + [sym__concatable] = STATE(597), + [sym__prefix_op] = STATE(63), + [sym_atom] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_LPAREN] = ACTIONS(113), + [anon_sym_if] = ACTIONS(115), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_fun] = ACTIONS(119), + [sym_dotdotdot] = ACTIONS(121), + [anon_sym_catch] = ACTIONS(123), + [anon_sym_begin] = ACTIONS(125), + [anon_sym_LT_LT] = ACTIONS(127), + [anon_sym_LBRACE] = ACTIONS(129), + [anon_sym_POUND] = ACTIONS(131), + [anon_sym_case] = ACTIONS(133), + [anon_sym_receive] = ACTIONS(135), + [anon_sym_try] = ACTIONS(137), + [anon_sym_QMARK] = ACTIONS(139), + [anon_sym_PLUS] = ACTIONS(111), + [anon_sym_bnot] = ACTIONS(141), + [anon_sym_not] = ACTIONS(141), + [sym_var] = ACTIONS(143), + [sym_integer] = ACTIONS(109), + [sym_float] = ACTIONS(145), + [sym_string] = ACTIONS(147), + [sym_char] = ACTIONS(145), + [sym_comment] = ACTIONS(3), + }, + [66] = { + [sym_ann_type] = STATE(483), + [sym_ann_var] = STATE(60), + [sym_pipe] = STATE(483), + [sym_fun_type] = STATE(427), + [sym_range_type] = STATE(483), + [sym__expr] = STATE(332), + [sym_catch_expr] = STATE(483), + [sym_match_expr] = STATE(483), + [sym_binary_op_expr] = STATE(483), + [sym_unary_op_expr] = STATE(483), + [sym__expr_max] = STATE(429), + [sym_remote] = STATE(483), + [sym_remote_module] = STATE(428), + [sym_paren_expr] = STATE(427), + [sym_block_expr] = STATE(427), + [sym_list] = STATE(427), + [sym_binary] = STATE(427), + [sym_list_comprehension] = STATE(427), + [sym_binary_comprehension] = STATE(427), + [sym_tuple] = STATE(427), + [sym_map_expr_update] = STATE(454), + [sym_map_expr] = STATE(454), + [sym__map_expr_base] = STATE(1045), + [sym_record_index_expr] = STATE(453), + [sym_record_field_expr] = STATE(453), + [sym_record_update_expr] = STATE(453), + [sym_record_expr] = STATE(453), + [sym_record_name] = STATE(754), + [sym__record_expr_base] = STATE(940), + [sym_call] = STATE(483), + [sym_if_expr] = STATE(427), + [sym_case_expr] = STATE(427), + [sym_receive_expr] = STATE(427), + [sym_internal_fun] = STATE(427), + [sym_external_fun] = STATE(427), + [sym_anonymous_fun] = STATE(427), + [sym_try_expr] = STATE(427), + [sym__macro_body_expr] = STATE(310), + [sym_macro_call_expr] = STATE(310), + [sym_macro_string] = STATE(310), + [sym_concatables] = STATE(427), + [sym__concatable] = STATE(597), + [sym__prefix_op] = STATE(63), + [sym_atom] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_LPAREN] = ACTIONS(113), + [anon_sym_if] = ACTIONS(115), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_fun] = ACTIONS(119), + [sym_dotdotdot] = ACTIONS(121), + [anon_sym_catch] = ACTIONS(123), + [anon_sym_begin] = ACTIONS(125), + [anon_sym_LT_LT] = ACTIONS(127), + [anon_sym_LBRACE] = ACTIONS(129), + [anon_sym_POUND] = ACTIONS(131), + [anon_sym_case] = ACTIONS(133), + [anon_sym_receive] = ACTIONS(135), + [anon_sym_try] = ACTIONS(137), + [anon_sym_QMARK] = ACTIONS(139), + [anon_sym_PLUS] = ACTIONS(111), + [anon_sym_bnot] = ACTIONS(141), + [anon_sym_not] = ACTIONS(141), + [sym_var] = ACTIONS(143), + [sym_integer] = ACTIONS(109), + [sym_float] = ACTIONS(145), + [sym_string] = ACTIONS(147), + [sym_char] = ACTIONS(145), + [sym_comment] = ACTIONS(3), + }, + [67] = { + [sym_ann_type] = STATE(483), + [sym_ann_var] = STATE(60), + [sym_pipe] = STATE(483), + [sym_fun_type] = STATE(427), + [sym_range_type] = STATE(483), + [sym__expr] = STATE(333), + [sym_catch_expr] = STATE(483), + [sym_match_expr] = STATE(483), + [sym_binary_op_expr] = STATE(483), + [sym_unary_op_expr] = STATE(483), + [sym__expr_max] = STATE(429), + [sym_remote] = STATE(483), + [sym_remote_module] = STATE(428), + [sym_paren_expr] = STATE(427), + [sym_block_expr] = STATE(427), + [sym_list] = STATE(427), + [sym_binary] = STATE(427), + [sym_list_comprehension] = STATE(427), + [sym_binary_comprehension] = STATE(427), + [sym_tuple] = STATE(427), + [sym_map_expr_update] = STATE(454), + [sym_map_expr] = STATE(454), + [sym__map_expr_base] = STATE(1045), + [sym_record_index_expr] = STATE(453), + [sym_record_field_expr] = STATE(453), + [sym_record_update_expr] = STATE(453), + [sym_record_expr] = STATE(453), + [sym_record_name] = STATE(754), + [sym__record_expr_base] = STATE(940), + [sym_call] = STATE(483), + [sym_if_expr] = STATE(427), + [sym_case_expr] = STATE(427), + [sym_receive_expr] = STATE(427), + [sym_internal_fun] = STATE(427), + [sym_external_fun] = STATE(427), + [sym_anonymous_fun] = STATE(427), + [sym_try_expr] = STATE(427), + [sym__macro_body_expr] = STATE(310), + [sym_macro_call_expr] = STATE(310), + [sym_macro_string] = STATE(310), + [sym_concatables] = STATE(427), + [sym__concatable] = STATE(597), + [sym__prefix_op] = STATE(63), + [sym_atom] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_LPAREN] = ACTIONS(113), + [anon_sym_if] = ACTIONS(115), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_fun] = ACTIONS(119), + [sym_dotdotdot] = ACTIONS(121), + [anon_sym_catch] = ACTIONS(123), + [anon_sym_begin] = ACTIONS(125), + [anon_sym_LT_LT] = ACTIONS(127), + [anon_sym_LBRACE] = ACTIONS(129), + [anon_sym_POUND] = ACTIONS(131), + [anon_sym_case] = ACTIONS(133), + [anon_sym_receive] = ACTIONS(135), + [anon_sym_try] = ACTIONS(137), + [anon_sym_QMARK] = ACTIONS(139), + [anon_sym_PLUS] = ACTIONS(111), + [anon_sym_bnot] = ACTIONS(141), + [anon_sym_not] = ACTIONS(141), + [sym_var] = ACTIONS(143), + [sym_integer] = ACTIONS(109), + [sym_float] = ACTIONS(145), + [sym_string] = ACTIONS(147), + [sym_char] = ACTIONS(145), + [sym_comment] = ACTIONS(3), + }, + [68] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(408), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [69] = { + [sym_ann_type] = STATE(483), + [sym_ann_var] = STATE(60), + [sym_pipe] = STATE(483), + [sym_fun_type] = STATE(427), + [sym_range_type] = STATE(483), + [sym__expr] = STATE(336), + [sym_catch_expr] = STATE(483), + [sym_match_expr] = STATE(483), + [sym_binary_op_expr] = STATE(483), + [sym_unary_op_expr] = STATE(483), + [sym__expr_max] = STATE(429), + [sym_remote] = STATE(483), + [sym_remote_module] = STATE(428), + [sym_paren_expr] = STATE(427), + [sym_block_expr] = STATE(427), + [sym_list] = STATE(427), + [sym_binary] = STATE(427), + [sym_list_comprehension] = STATE(427), + [sym_binary_comprehension] = STATE(427), + [sym_tuple] = STATE(427), + [sym_map_expr_update] = STATE(454), + [sym_map_expr] = STATE(454), + [sym__map_expr_base] = STATE(1045), + [sym_record_index_expr] = STATE(453), + [sym_record_field_expr] = STATE(453), + [sym_record_update_expr] = STATE(453), + [sym_record_expr] = STATE(453), + [sym_record_name] = STATE(754), + [sym__record_expr_base] = STATE(940), + [sym_call] = STATE(483), + [sym_if_expr] = STATE(427), + [sym_case_expr] = STATE(427), + [sym_receive_expr] = STATE(427), + [sym_internal_fun] = STATE(427), + [sym_external_fun] = STATE(427), + [sym_anonymous_fun] = STATE(427), + [sym_try_expr] = STATE(427), + [sym__macro_body_expr] = STATE(310), + [sym_macro_call_expr] = STATE(310), + [sym_macro_string] = STATE(310), + [sym_concatables] = STATE(427), + [sym__concatable] = STATE(597), + [sym__prefix_op] = STATE(63), + [sym_atom] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_LPAREN] = ACTIONS(113), + [anon_sym_if] = ACTIONS(115), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_fun] = ACTIONS(119), + [sym_dotdotdot] = ACTIONS(121), + [anon_sym_catch] = ACTIONS(123), + [anon_sym_begin] = ACTIONS(125), + [anon_sym_LT_LT] = ACTIONS(127), + [anon_sym_LBRACE] = ACTIONS(129), + [anon_sym_POUND] = ACTIONS(131), + [anon_sym_case] = ACTIONS(133), + [anon_sym_receive] = ACTIONS(135), + [anon_sym_try] = ACTIONS(137), + [anon_sym_QMARK] = ACTIONS(139), + [anon_sym_PLUS] = ACTIONS(111), + [anon_sym_bnot] = ACTIONS(141), + [anon_sym_not] = ACTIONS(141), + [sym_var] = ACTIONS(143), + [sym_integer] = ACTIONS(109), + [sym_float] = ACTIONS(145), + [sym_string] = ACTIONS(147), + [sym_char] = ACTIONS(145), + [sym_comment] = ACTIONS(3), + }, + [70] = { + [sym_ann_type] = STATE(483), + [sym_ann_var] = STATE(60), + [sym_pipe] = STATE(483), + [sym_fun_type] = STATE(427), + [sym_range_type] = STATE(483), + [sym__expr] = STATE(338), + [sym_catch_expr] = STATE(483), + [sym_match_expr] = STATE(483), + [sym_binary_op_expr] = STATE(483), + [sym_unary_op_expr] = STATE(483), + [sym__expr_max] = STATE(429), + [sym_remote] = STATE(483), + [sym_remote_module] = STATE(428), + [sym_paren_expr] = STATE(427), + [sym_block_expr] = STATE(427), + [sym_list] = STATE(427), + [sym_binary] = STATE(427), + [sym_list_comprehension] = STATE(427), + [sym_binary_comprehension] = STATE(427), + [sym_tuple] = STATE(427), + [sym_map_expr_update] = STATE(454), + [sym_map_expr] = STATE(454), + [sym__map_expr_base] = STATE(1045), + [sym_record_index_expr] = STATE(453), + [sym_record_field_expr] = STATE(453), + [sym_record_update_expr] = STATE(453), + [sym_record_expr] = STATE(453), + [sym_record_name] = STATE(754), + [sym__record_expr_base] = STATE(940), + [sym_call] = STATE(483), + [sym_if_expr] = STATE(427), + [sym_case_expr] = STATE(427), + [sym_receive_expr] = STATE(427), + [sym_internal_fun] = STATE(427), + [sym_external_fun] = STATE(427), + [sym_anonymous_fun] = STATE(427), + [sym_try_expr] = STATE(427), + [sym__macro_body_expr] = STATE(310), + [sym_macro_call_expr] = STATE(310), + [sym_macro_string] = STATE(310), + [sym_concatables] = STATE(427), + [sym__concatable] = STATE(597), + [sym__prefix_op] = STATE(63), + [sym_atom] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_LPAREN] = ACTIONS(113), + [anon_sym_if] = ACTIONS(115), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_fun] = ACTIONS(119), + [sym_dotdotdot] = ACTIONS(121), + [anon_sym_catch] = ACTIONS(123), + [anon_sym_begin] = ACTIONS(125), + [anon_sym_LT_LT] = ACTIONS(127), + [anon_sym_LBRACE] = ACTIONS(129), + [anon_sym_POUND] = ACTIONS(131), + [anon_sym_case] = ACTIONS(133), + [anon_sym_receive] = ACTIONS(135), + [anon_sym_try] = ACTIONS(137), + [anon_sym_QMARK] = ACTIONS(139), + [anon_sym_PLUS] = ACTIONS(111), + [anon_sym_bnot] = ACTIONS(141), + [anon_sym_not] = ACTIONS(141), + [sym_var] = ACTIONS(143), + [sym_integer] = ACTIONS(109), + [sym_float] = ACTIONS(145), + [sym_string] = ACTIONS(147), + [sym_char] = ACTIONS(145), + [sym_comment] = ACTIONS(3), + }, + [71] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(258), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [72] = { + [sym_ann_type] = STATE(483), + [sym_ann_var] = STATE(60), + [sym_pipe] = STATE(483), + [sym_fun_type] = STATE(427), + [sym_range_type] = STATE(483), + [sym__expr] = STATE(334), + [sym_catch_expr] = STATE(483), + [sym_match_expr] = STATE(483), + [sym_binary_op_expr] = STATE(483), + [sym_unary_op_expr] = STATE(483), + [sym__expr_max] = STATE(429), + [sym_remote] = STATE(483), + [sym_remote_module] = STATE(428), + [sym_paren_expr] = STATE(427), + [sym_block_expr] = STATE(427), + [sym_list] = STATE(427), + [sym_binary] = STATE(427), + [sym_list_comprehension] = STATE(427), + [sym_binary_comprehension] = STATE(427), + [sym_tuple] = STATE(427), + [sym_map_expr_update] = STATE(454), + [sym_map_expr] = STATE(454), + [sym__map_expr_base] = STATE(1045), + [sym_record_index_expr] = STATE(453), + [sym_record_field_expr] = STATE(453), + [sym_record_update_expr] = STATE(453), + [sym_record_expr] = STATE(453), + [sym_record_name] = STATE(754), + [sym__record_expr_base] = STATE(940), + [sym_call] = STATE(483), + [sym_if_expr] = STATE(427), + [sym_case_expr] = STATE(427), + [sym_receive_expr] = STATE(427), + [sym_internal_fun] = STATE(427), + [sym_external_fun] = STATE(427), + [sym_anonymous_fun] = STATE(427), + [sym_try_expr] = STATE(427), + [sym__macro_body_expr] = STATE(310), + [sym_macro_call_expr] = STATE(310), + [sym_macro_string] = STATE(310), + [sym_concatables] = STATE(427), + [sym__concatable] = STATE(597), + [sym__prefix_op] = STATE(63), + [sym_atom] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_LPAREN] = ACTIONS(113), + [anon_sym_if] = ACTIONS(115), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_fun] = ACTIONS(119), + [sym_dotdotdot] = ACTIONS(121), + [anon_sym_catch] = ACTIONS(123), + [anon_sym_begin] = ACTIONS(125), + [anon_sym_LT_LT] = ACTIONS(127), + [anon_sym_LBRACE] = ACTIONS(129), + [anon_sym_POUND] = ACTIONS(131), + [anon_sym_case] = ACTIONS(133), + [anon_sym_receive] = ACTIONS(135), + [anon_sym_try] = ACTIONS(137), + [anon_sym_QMARK] = ACTIONS(139), + [anon_sym_PLUS] = ACTIONS(111), + [anon_sym_bnot] = ACTIONS(141), + [anon_sym_not] = ACTIONS(141), + [sym_var] = ACTIONS(143), + [sym_integer] = ACTIONS(109), + [sym_float] = ACTIONS(145), + [sym_string] = ACTIONS(147), + [sym_char] = ACTIONS(145), + [sym_comment] = ACTIONS(3), + }, + [73] = { + [sym_ann_type] = STATE(483), + [sym_ann_var] = STATE(60), + [sym_pipe] = STATE(483), + [sym_fun_type] = STATE(427), + [sym_range_type] = STATE(483), + [sym__expr] = STATE(309), + [sym_catch_expr] = STATE(483), + [sym_match_expr] = STATE(483), + [sym_binary_op_expr] = STATE(483), + [sym_unary_op_expr] = STATE(483), + [sym__expr_max] = STATE(429), + [sym_remote] = STATE(483), + [sym_remote_module] = STATE(428), + [sym_paren_expr] = STATE(427), + [sym_block_expr] = STATE(427), + [sym_list] = STATE(427), + [sym_binary] = STATE(427), + [sym_list_comprehension] = STATE(427), + [sym_binary_comprehension] = STATE(427), + [sym_tuple] = STATE(427), + [sym_map_expr_update] = STATE(454), + [sym_map_expr] = STATE(454), + [sym__map_expr_base] = STATE(1045), + [sym_record_index_expr] = STATE(453), + [sym_record_field_expr] = STATE(453), + [sym_record_update_expr] = STATE(453), + [sym_record_expr] = STATE(453), + [sym_record_name] = STATE(754), + [sym__record_expr_base] = STATE(940), + [sym_call] = STATE(483), + [sym_if_expr] = STATE(427), + [sym_case_expr] = STATE(427), + [sym_receive_expr] = STATE(427), + [sym_internal_fun] = STATE(427), + [sym_external_fun] = STATE(427), + [sym_anonymous_fun] = STATE(427), + [sym_try_expr] = STATE(427), + [sym__macro_body_expr] = STATE(310), + [sym_macro_call_expr] = STATE(310), + [sym_macro_string] = STATE(310), + [sym_concatables] = STATE(427), + [sym__concatable] = STATE(597), + [sym__prefix_op] = STATE(63), + [sym_atom] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_LPAREN] = ACTIONS(113), + [anon_sym_if] = ACTIONS(115), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_fun] = ACTIONS(119), + [sym_dotdotdot] = ACTIONS(121), + [anon_sym_catch] = ACTIONS(123), + [anon_sym_begin] = ACTIONS(125), + [anon_sym_LT_LT] = ACTIONS(127), + [anon_sym_LBRACE] = ACTIONS(129), + [anon_sym_POUND] = ACTIONS(131), + [anon_sym_case] = ACTIONS(133), + [anon_sym_receive] = ACTIONS(135), + [anon_sym_try] = ACTIONS(137), + [anon_sym_QMARK] = ACTIONS(139), + [anon_sym_PLUS] = ACTIONS(111), + [anon_sym_bnot] = ACTIONS(141), + [anon_sym_not] = ACTIONS(141), + [sym_var] = ACTIONS(143), + [sym_integer] = ACTIONS(109), + [sym_float] = ACTIONS(145), + [sym_string] = ACTIONS(147), + [sym_char] = ACTIONS(145), + [sym_comment] = ACTIONS(3), + }, + [74] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(362), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [75] = { + [sym_ann_type] = STATE(483), + [sym_ann_var] = STATE(60), + [sym_pipe] = STATE(483), + [sym_fun_type] = STATE(427), + [sym_range_type] = STATE(483), + [sym__expr] = STATE(313), + [sym_catch_expr] = STATE(483), + [sym_match_expr] = STATE(483), + [sym_binary_op_expr] = STATE(483), + [sym_unary_op_expr] = STATE(483), + [sym__expr_max] = STATE(429), + [sym_remote] = STATE(483), + [sym_remote_module] = STATE(428), + [sym_paren_expr] = STATE(427), + [sym_block_expr] = STATE(427), + [sym_list] = STATE(427), + [sym_binary] = STATE(427), + [sym_list_comprehension] = STATE(427), + [sym_binary_comprehension] = STATE(427), + [sym_tuple] = STATE(427), + [sym_map_expr_update] = STATE(454), + [sym_map_expr] = STATE(454), + [sym__map_expr_base] = STATE(1045), + [sym_record_index_expr] = STATE(453), + [sym_record_field_expr] = STATE(453), + [sym_record_update_expr] = STATE(453), + [sym_record_expr] = STATE(453), + [sym_record_name] = STATE(754), + [sym__record_expr_base] = STATE(940), + [sym_call] = STATE(483), + [sym_if_expr] = STATE(427), + [sym_case_expr] = STATE(427), + [sym_receive_expr] = STATE(427), + [sym_internal_fun] = STATE(427), + [sym_external_fun] = STATE(427), + [sym_anonymous_fun] = STATE(427), + [sym_try_expr] = STATE(427), + [sym__macro_body_expr] = STATE(310), + [sym_macro_call_expr] = STATE(310), + [sym_macro_string] = STATE(310), + [sym_concatables] = STATE(427), + [sym__concatable] = STATE(597), + [sym__prefix_op] = STATE(63), + [sym_atom] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_LPAREN] = ACTIONS(113), + [anon_sym_if] = ACTIONS(115), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_fun] = ACTIONS(119), + [sym_dotdotdot] = ACTIONS(121), + [anon_sym_catch] = ACTIONS(123), + [anon_sym_begin] = ACTIONS(125), + [anon_sym_LT_LT] = ACTIONS(127), + [anon_sym_LBRACE] = ACTIONS(129), + [anon_sym_POUND] = ACTIONS(131), + [anon_sym_case] = ACTIONS(133), + [anon_sym_receive] = ACTIONS(135), + [anon_sym_try] = ACTIONS(137), + [anon_sym_QMARK] = ACTIONS(139), + [anon_sym_PLUS] = ACTIONS(111), + [anon_sym_bnot] = ACTIONS(141), + [anon_sym_not] = ACTIONS(141), + [sym_var] = ACTIONS(143), + [sym_integer] = ACTIONS(109), + [sym_float] = ACTIONS(145), + [sym_string] = ACTIONS(147), + [sym_char] = ACTIONS(145), + [sym_comment] = ACTIONS(3), + }, + [76] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(304), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [77] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(305), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [78] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(297), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [79] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(294), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [80] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(289), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [81] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(285), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [82] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(406), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [83] = { + [sym_ann_type] = STATE(483), + [sym_ann_var] = STATE(60), + [sym_pipe] = STATE(483), + [sym_fun_type] = STATE(427), + [sym_range_type] = STATE(483), + [sym__expr] = STATE(314), + [sym_catch_expr] = STATE(483), + [sym_match_expr] = STATE(483), + [sym_binary_op_expr] = STATE(483), + [sym_unary_op_expr] = STATE(483), + [sym__expr_max] = STATE(429), + [sym_remote] = STATE(483), + [sym_remote_module] = STATE(428), + [sym_paren_expr] = STATE(427), + [sym_block_expr] = STATE(427), + [sym_list] = STATE(427), + [sym_binary] = STATE(427), + [sym_list_comprehension] = STATE(427), + [sym_binary_comprehension] = STATE(427), + [sym_tuple] = STATE(427), + [sym_map_expr_update] = STATE(454), + [sym_map_expr] = STATE(454), + [sym__map_expr_base] = STATE(1045), + [sym_record_index_expr] = STATE(453), + [sym_record_field_expr] = STATE(453), + [sym_record_update_expr] = STATE(453), + [sym_record_expr] = STATE(453), + [sym_record_name] = STATE(754), + [sym__record_expr_base] = STATE(940), + [sym_call] = STATE(483), + [sym_if_expr] = STATE(427), + [sym_case_expr] = STATE(427), + [sym_receive_expr] = STATE(427), + [sym_internal_fun] = STATE(427), + [sym_external_fun] = STATE(427), + [sym_anonymous_fun] = STATE(427), + [sym_try_expr] = STATE(427), + [sym__macro_body_expr] = STATE(310), + [sym_macro_call_expr] = STATE(310), + [sym_macro_string] = STATE(310), + [sym_concatables] = STATE(427), + [sym__concatable] = STATE(597), + [sym__prefix_op] = STATE(63), + [sym_atom] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + [anon_sym_LPAREN] = ACTIONS(113), + [anon_sym_if] = ACTIONS(115), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_fun] = ACTIONS(119), + [sym_dotdotdot] = ACTIONS(121), + [anon_sym_catch] = ACTIONS(123), + [anon_sym_begin] = ACTIONS(125), + [anon_sym_LT_LT] = ACTIONS(127), + [anon_sym_LBRACE] = ACTIONS(129), + [anon_sym_POUND] = ACTIONS(131), + [anon_sym_case] = ACTIONS(133), + [anon_sym_receive] = ACTIONS(135), + [anon_sym_try] = ACTIONS(137), + [anon_sym_QMARK] = ACTIONS(139), + [anon_sym_PLUS] = ACTIONS(111), + [anon_sym_bnot] = ACTIONS(141), + [anon_sym_not] = ACTIONS(141), + [sym_var] = ACTIONS(143), + [sym_integer] = ACTIONS(109), + [sym_float] = ACTIONS(145), + [sym_string] = ACTIONS(147), + [sym_char] = ACTIONS(145), + [sym_comment] = ACTIONS(3), + }, + [84] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(280), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [85] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(302), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [86] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(61), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(284), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(430), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(346), + [sym_macro_call_expr] = STATE(346), + [sym_macro_string] = STATE(346), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(59), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(197), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(199), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(197), + [anon_sym_bnot] = ACTIONS(201), + [anon_sym_not] = ACTIONS(201), + [sym_var] = ACTIONS(203), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(205), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [87] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(278), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [88] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(365), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [89] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(295), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [90] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(273), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [91] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(468), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [92] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(376), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [93] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(299), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [94] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(466), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [95] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(464), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [96] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(391), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [97] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(382), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [98] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(465), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [99] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(451), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [100] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(61), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(293), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(430), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(346), + [sym_macro_call_expr] = STATE(346), + [sym_macro_string] = STATE(346), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(59), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(197), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(199), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(197), + [anon_sym_bnot] = ACTIONS(201), + [anon_sym_not] = ACTIONS(201), + [sym_var] = ACTIONS(203), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(205), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [101] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(320), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [102] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(319), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [103] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(61), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(281), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(430), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(346), + [sym_macro_call_expr] = STATE(346), + [sym_macro_string] = STATE(346), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(59), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(197), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(199), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(197), + [anon_sym_bnot] = ACTIONS(201), + [anon_sym_not] = ACTIONS(201), + [sym_var] = ACTIONS(203), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(205), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [104] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(323), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [105] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(361), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [106] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(324), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [107] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(254), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [108] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(61), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(298), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(430), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(346), + [sym_macro_call_expr] = STATE(346), + [sym_macro_string] = STATE(346), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(59), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(197), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(199), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(197), + [anon_sym_bnot] = ACTIONS(201), + [anon_sym_not] = ACTIONS(201), + [sym_var] = ACTIONS(203), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(205), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [109] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(328), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [110] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(329), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [111] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(89), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(374), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(390), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(87), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(15), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(25), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(29), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(15), + [anon_sym_bnot] = ACTIONS(47), + [anon_sym_not] = ACTIONS(47), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [112] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(331), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [113] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(270), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [114] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(335), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [115] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(341), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [116] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(345), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [117] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(344), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [118] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(369), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [119] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(352), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [120] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(358), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [121] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(380), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [122] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(446), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [123] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(61), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(282), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(430), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(346), + [sym_macro_call_expr] = STATE(346), + [sym_macro_string] = STATE(346), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(59), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(197), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(199), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(197), + [anon_sym_bnot] = ACTIONS(201), + [anon_sym_not] = ACTIONS(201), + [sym_var] = ACTIONS(203), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(205), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [124] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(461), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [125] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(375), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [126] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(367), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [127] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(359), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [128] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(368), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [129] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(475), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [130] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(61), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(283), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(430), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(346), + [sym_macro_call_expr] = STATE(346), + [sym_macro_string] = STATE(346), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(59), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(197), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(199), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(197), + [anon_sym_bnot] = ACTIONS(201), + [anon_sym_not] = ACTIONS(201), + [sym_var] = ACTIONS(203), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(205), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [131] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(379), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [132] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(389), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [133] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(353), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [134] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(372), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [135] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(275), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [136] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(356), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [137] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(134), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(373), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(393), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(133), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(73), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(75), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(77), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(73), + [anon_sym_bnot] = ACTIONS(81), + [anon_sym_not] = ACTIONS(81), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [138] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(252), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [139] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(260), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [140] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(261), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [141] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(253), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [142] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(257), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [143] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(251), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [144] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(262), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [145] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(259), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [146] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(255), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [147] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(469), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [148] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(61), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(292), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(430), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(346), + [sym_macro_call_expr] = STATE(346), + [sym_macro_string] = STATE(346), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(59), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(197), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(199), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(197), + [anon_sym_bnot] = ACTIONS(201), + [anon_sym_not] = ACTIONS(201), + [sym_var] = ACTIONS(203), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(205), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [149] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(61), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(291), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(430), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(346), + [sym_macro_call_expr] = STATE(346), + [sym_macro_string] = STATE(346), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(59), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(197), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(199), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(197), + [anon_sym_bnot] = ACTIONS(201), + [anon_sym_not] = ACTIONS(201), + [sym_var] = ACTIONS(203), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(205), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [150] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(102), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(311), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(387), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(104), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(153), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(157), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(159), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(153), + [anon_sym_bnot] = ACTIONS(161), + [anon_sym_not] = ACTIONS(161), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [151] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(424), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [152] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(272), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [153] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(61), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(290), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(430), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(346), + [sym_macro_call_expr] = STATE(346), + [sym_macro_string] = STATE(346), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(59), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(197), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(199), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(197), + [anon_sym_bnot] = ACTIONS(201), + [anon_sym_not] = ACTIONS(201), + [sym_var] = ACTIONS(203), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(205), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [154] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(61), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(276), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(430), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(346), + [sym_macro_call_expr] = STATE(346), + [sym_macro_string] = STATE(346), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(59), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(197), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(199), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(197), + [anon_sym_bnot] = ACTIONS(201), + [anon_sym_not] = ACTIONS(201), + [sym_var] = ACTIONS(203), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(205), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [155] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(472), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [156] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(462), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [157] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(449), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [158] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(366), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [159] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(386), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, + [160] = { + [sym_ann_type] = STATE(242), + [sym_ann_var] = STATE(62), + [sym_pipe] = STATE(242), + [sym_fun_type] = STATE(232), + [sym_range_type] = STATE(242), + [sym__expr] = STATE(377), + [sym_catch_expr] = STATE(242), + [sym_match_expr] = STATE(242), + [sym_binary_op_expr] = STATE(242), + [sym_unary_op_expr] = STATE(242), + [sym__expr_max] = STATE(239), + [sym_remote] = STATE(242), + [sym_remote_module] = STATE(388), + [sym_paren_expr] = STATE(232), + [sym_block_expr] = STATE(232), + [sym_list] = STATE(232), + [sym_binary] = STATE(232), + [sym_list_comprehension] = STATE(232), + [sym_binary_comprehension] = STATE(232), + [sym_tuple] = STATE(232), + [sym_map_expr_update] = STATE(226), + [sym_map_expr] = STATE(226), + [sym__map_expr_base] = STATE(1036), + [sym_record_index_expr] = STATE(221), + [sym_record_field_expr] = STATE(221), + [sym_record_update_expr] = STATE(221), + [sym_record_expr] = STATE(221), + [sym_record_name] = STATE(745), + [sym__record_expr_base] = STATE(904), + [sym_call] = STATE(242), + [sym_if_expr] = STATE(232), + [sym_case_expr] = STATE(232), + [sym_receive_expr] = STATE(232), + [sym_internal_fun] = STATE(232), + [sym_external_fun] = STATE(232), + [sym_anonymous_fun] = STATE(232), + [sym_try_expr] = STATE(232), + [sym__macro_body_expr] = STATE(233), + [sym_macro_call_expr] = STATE(233), + [sym_macro_string] = STATE(233), + [sym_concatables] = STATE(232), + [sym__concatable] = STATE(595), + [sym__prefix_op] = STATE(71), + [sym_atom] = ACTIONS(51), + [anon_sym_DASH] = ACTIONS(91), + [anon_sym_LPAREN] = ACTIONS(57), + [anon_sym_if] = ACTIONS(21), + [anon_sym_LBRACK] = ACTIONS(23), + [anon_sym_fun] = ACTIONS(97), + [sym_dotdotdot] = ACTIONS(27), + [anon_sym_catch] = ACTIONS(99), + [anon_sym_begin] = ACTIONS(31), + [anon_sym_LT_LT] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(35), + [anon_sym_POUND] = ACTIONS(37), + [anon_sym_case] = ACTIONS(39), + [anon_sym_receive] = ACTIONS(41), + [anon_sym_try] = ACTIONS(43), + [anon_sym_QMARK] = ACTIONS(63), + [anon_sym_PLUS] = ACTIONS(91), + [anon_sym_bnot] = ACTIONS(101), + [anon_sym_not] = ACTIONS(101), + [sym_var] = ACTIONS(65), + [sym_integer] = ACTIONS(51), + [sym_float] = ACTIONS(53), + [sym_string] = ACTIONS(55), + [sym_char] = ACTIONS(53), + [sym_comment] = ACTIONS(3), + }, +}; + +static const uint16_t ts_small_parse_table[] = { + [0] = 34, + ACTIONS(3), 1, + sym_comment, + ACTIONS(207), 1, + sym_atom, + ACTIONS(211), 1, + anon_sym_LPAREN, + ACTIONS(213), 1, + anon_sym_if, + ACTIONS(215), 1, + anon_sym_LBRACK, + ACTIONS(217), 1, + anon_sym_fun, + ACTIONS(219), 1, + anon_sym_begin, + ACTIONS(221), 1, + anon_sym_end, + ACTIONS(223), 1, + anon_sym_LT_LT, + ACTIONS(225), 1, + anon_sym_LBRACE, + ACTIONS(227), 1, + anon_sym_POUND, + ACTIONS(229), 1, + anon_sym_case, + ACTIONS(231), 1, + anon_sym_receive, + ACTIONS(233), 1, + anon_sym_after, + ACTIONS(235), 1, + anon_sym_try, + ACTIONS(237), 1, + anon_sym_QMARK, + ACTIONS(241), 1, + sym_var, + ACTIONS(243), 1, + sym_integer, + ACTIONS(247), 1, + sym_string, + STATE(111), 1, + sym__prefix_op, + STATE(243), 1, + sym_try_class, + STATE(488), 1, + sym__catch_pat, + STATE(489), 1, + sym_macro_call_none, + STATE(600), 1, + sym__concatable, + STATE(655), 1, + sym_catch_clause, + STATE(760), 1, + sym_record_name, + STATE(959), 1, + sym__name, + STATE(1004), 1, + sym_try_after, + ACTIONS(209), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(239), 2, + anon_sym_bnot, + anon_sym_not, + ACTIONS(245), 2, + sym_float, + sym_char, + STATE(499), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(510), 7, + sym_unary_op_expr, + sym__expr_max, + sym_map_expr, + sym_record_index_expr, + sym_record_expr, + sym_match_catch_pat, + sym_binary_op_catch_pat, + STATE(554), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [129] = 34, + ACTIONS(3), 1, + sym_comment, + ACTIONS(207), 1, + sym_atom, + ACTIONS(211), 1, + anon_sym_LPAREN, + ACTIONS(213), 1, + anon_sym_if, + ACTIONS(215), 1, + anon_sym_LBRACK, + ACTIONS(217), 1, + anon_sym_fun, + ACTIONS(219), 1, + anon_sym_begin, + ACTIONS(223), 1, + anon_sym_LT_LT, + ACTIONS(225), 1, + anon_sym_LBRACE, + ACTIONS(227), 1, + anon_sym_POUND, + ACTIONS(229), 1, + anon_sym_case, + ACTIONS(231), 1, + anon_sym_receive, + ACTIONS(233), 1, + anon_sym_after, + ACTIONS(235), 1, + anon_sym_try, + ACTIONS(237), 1, + anon_sym_QMARK, + ACTIONS(241), 1, + sym_var, + ACTIONS(243), 1, + sym_integer, + ACTIONS(247), 1, + sym_string, + ACTIONS(249), 1, + anon_sym_end, + STATE(111), 1, + sym__prefix_op, + STATE(243), 1, + sym_try_class, + STATE(488), 1, + sym__catch_pat, + STATE(489), 1, + sym_macro_call_none, + STATE(600), 1, + sym__concatable, + STATE(673), 1, + sym_catch_clause, + STATE(760), 1, + sym_record_name, + STATE(957), 1, + sym_try_after, + STATE(959), 1, + sym__name, + ACTIONS(209), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(239), 2, + anon_sym_bnot, + anon_sym_not, + ACTIONS(245), 2, + sym_float, + sym_char, + STATE(499), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(510), 7, + sym_unary_op_expr, + sym__expr_max, + sym_map_expr, + sym_record_index_expr, + sym_record_expr, + sym_match_catch_pat, + sym_binary_op_catch_pat, + STATE(554), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [258] = 34, + ACTIONS(3), 1, + sym_comment, + ACTIONS(207), 1, + sym_atom, + ACTIONS(211), 1, + anon_sym_LPAREN, + ACTIONS(213), 1, + anon_sym_if, + ACTIONS(215), 1, + anon_sym_LBRACK, + ACTIONS(217), 1, + anon_sym_fun, + ACTIONS(219), 1, + anon_sym_begin, + ACTIONS(223), 1, + anon_sym_LT_LT, + ACTIONS(225), 1, + anon_sym_LBRACE, + ACTIONS(227), 1, + anon_sym_POUND, + ACTIONS(229), 1, + anon_sym_case, + ACTIONS(231), 1, + anon_sym_receive, + ACTIONS(233), 1, + anon_sym_after, + ACTIONS(235), 1, + anon_sym_try, + ACTIONS(237), 1, + anon_sym_QMARK, + ACTIONS(241), 1, + sym_var, + ACTIONS(243), 1, + sym_integer, + ACTIONS(247), 1, + sym_string, + ACTIONS(251), 1, + anon_sym_end, + STATE(111), 1, + sym__prefix_op, + STATE(243), 1, + sym_try_class, + STATE(488), 1, + sym__catch_pat, + STATE(489), 1, + sym_macro_call_none, + STATE(600), 1, + sym__concatable, + STATE(670), 1, + sym_catch_clause, + STATE(760), 1, + sym_record_name, + STATE(959), 1, + sym__name, + STATE(967), 1, + sym_try_after, + ACTIONS(209), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(239), 2, + anon_sym_bnot, + anon_sym_not, + ACTIONS(245), 2, + sym_float, + sym_char, + STATE(499), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(510), 7, + sym_unary_op_expr, + sym__expr_max, + sym_map_expr, + sym_record_index_expr, + sym_record_expr, + sym_match_catch_pat, + sym_binary_op_catch_pat, + STATE(554), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [387] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(63), 1, + anon_sym_QMARK, + ACTIONS(257), 2, + sym_var, + sym_string, + STATE(165), 2, + sym__concatable, + aux_sym_concatables_repeat1, + STATE(171), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + ACTIONS(255), 25, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(253), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + [462] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + anon_sym_QMARK, + ACTIONS(266), 2, + sym_var, + sym_string, + STATE(165), 2, + sym__concatable, + aux_sym_concatables_repeat1, + STATE(171), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + ACTIONS(261), 25, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(259), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + [537] = 31, + ACTIONS(3), 1, + sym_comment, + ACTIONS(207), 1, + sym_atom, + ACTIONS(211), 1, + anon_sym_LPAREN, + ACTIONS(213), 1, + anon_sym_if, + ACTIONS(215), 1, + anon_sym_LBRACK, + ACTIONS(217), 1, + anon_sym_fun, + ACTIONS(219), 1, + anon_sym_begin, + ACTIONS(223), 1, + anon_sym_LT_LT, + ACTIONS(225), 1, + anon_sym_LBRACE, + ACTIONS(227), 1, + anon_sym_POUND, + ACTIONS(229), 1, + anon_sym_case, + ACTIONS(231), 1, + anon_sym_receive, + ACTIONS(235), 1, + anon_sym_try, + ACTIONS(237), 1, + anon_sym_QMARK, + ACTIONS(241), 1, + sym_var, + ACTIONS(243), 1, + sym_integer, + ACTIONS(247), 1, + sym_string, + STATE(111), 1, + sym__prefix_op, + STATE(243), 1, + sym_try_class, + STATE(488), 1, + sym__catch_pat, + STATE(489), 1, + sym_macro_call_none, + STATE(600), 1, + sym__concatable, + STATE(760), 1, + sym_record_name, + STATE(786), 1, + sym_catch_clause, + STATE(959), 1, + sym__name, + ACTIONS(209), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(239), 2, + anon_sym_bnot, + anon_sym_not, + ACTIONS(245), 2, + sym_float, + sym_char, + STATE(499), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(510), 7, + sym_unary_op_expr, + sym__expr_max, + sym_map_expr, + sym_record_index_expr, + sym_record_expr, + sym_match_catch_pat, + sym_binary_op_catch_pat, + STATE(554), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [657] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(271), 1, + anon_sym_LPAREN, + STATE(168), 1, + sym_macro_call_args, + ACTIONS(269), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(273), 27, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [724] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(275), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(277), 28, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [786] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(279), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(281), 28, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [848] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(283), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(285), 28, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [910] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(287), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(289), 28, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [972] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(291), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(293), 28, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [1034] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(295), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(297), 28, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [1096] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(299), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(301), 28, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [1158] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(303), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(305), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [1219] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(307), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(309), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [1280] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(311), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(313), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [1341] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(315), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(317), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [1402] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(319), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(321), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [1463] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(323), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(325), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [1524] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(327), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(329), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [1585] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(333), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [1646] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(335), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(337), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [1707] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(339), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(341), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [1768] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(343), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(345), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [1829] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(347), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(349), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [1890] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(351), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(353), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [1951] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(355), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(357), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2012] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(359), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(361), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2073] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(363), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(365), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2134] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(367), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(369), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2195] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(371), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(373), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2256] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(375), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(377), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2317] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(379), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(381), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2378] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(383), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(385), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2439] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(387), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(389), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2500] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(391), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(393), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2561] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(395), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(397), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2622] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(399), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(401), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2683] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(403), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(405), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2744] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(407), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(409), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2805] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(411), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(413), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2866] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(415), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(417), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2927] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(419), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(421), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [2988] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(423), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(425), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [3049] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(427), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(429), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [3110] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(431), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(433), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [3171] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(435), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(437), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [3232] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(439), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(441), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [3293] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(443), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(445), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [3354] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(447), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(449), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [3415] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(451), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(453), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [3476] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(455), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(457), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [3537] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(459), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(461), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [3598] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(463), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(465), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [3659] = 52, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_var, + ACTIONS(467), 1, + sym_atom, + ACTIONS(469), 1, + anon_sym_include, + ACTIONS(471), 1, + anon_sym_SQUOTEinclude_SQUOTE, + ACTIONS(473), 1, + anon_sym_include_lib, + ACTIONS(475), 1, + anon_sym_SQUOTEinclude_lib_SQUOTE, + ACTIONS(477), 1, + anon_sym_undef, + ACTIONS(479), 1, + anon_sym_SQUOTEundef_SQUOTE, + ACTIONS(481), 1, + anon_sym_ifdef, + ACTIONS(483), 1, + anon_sym_SQUOTEifdef_SQUOTE, + ACTIONS(485), 1, + anon_sym_ifndef, + ACTIONS(487), 1, + anon_sym_SQUOTEifndef_SQUOTE, + ACTIONS(489), 1, + anon_sym_else, + ACTIONS(491), 1, + anon_sym_SQUOTEelse_SQUOTE, + ACTIONS(493), 1, + anon_sym_endif, + ACTIONS(495), 1, + anon_sym_SQUOTEendif_SQUOTE, + ACTIONS(497), 1, + anon_sym_if, + ACTIONS(499), 1, + anon_sym_SQUOTEif_SQUOTE, + ACTIONS(501), 1, + anon_sym_elif, + ACTIONS(503), 1, + anon_sym_SQUOTEelif_SQUOTE, + ACTIONS(505), 1, + anon_sym_define, + ACTIONS(507), 1, + anon_sym_SQUOTEdefine_SQUOTE, + ACTIONS(509), 1, + anon_sym_module, + ACTIONS(511), 1, + anon_sym_SQUOTEmodule_SQUOTE, + ACTIONS(517), 1, + anon_sym_export, + ACTIONS(519), 1, + anon_sym_SQUOTEexport_SQUOTE, + ACTIONS(521), 1, + anon_sym_import, + ACTIONS(523), 1, + anon_sym_SQUOTEimport_SQUOTE, + ACTIONS(525), 1, + anon_sym_optional_callbacks, + ACTIONS(527), 1, + anon_sym_SQUOTEoptional_callbacks_SQUOTE, + ACTIONS(529), 1, + anon_sym_export_type, + ACTIONS(531), 1, + anon_sym_SQUOTEexport_type_SQUOTE, + ACTIONS(533), 1, + anon_sym_compile, + ACTIONS(535), 1, + anon_sym_SQUOTEcompile_SQUOTE, + ACTIONS(537), 1, + anon_sym_file, + ACTIONS(539), 1, + anon_sym_SQUOTEfile_SQUOTE, + ACTIONS(541), 1, + anon_sym_type, + ACTIONS(543), 1, + anon_sym_SQUOTEtype_SQUOTE, + ACTIONS(545), 1, + anon_sym_opaque, + ACTIONS(547), 1, + anon_sym_SQUOTEopaque_SQUOTE, + ACTIONS(549), 1, + anon_sym_record, + ACTIONS(551), 1, + anon_sym_SQUOTErecord_SQUOTE, + ACTIONS(553), 1, + anon_sym_spec, + ACTIONS(555), 1, + anon_sym_SQUOTEspec_SQUOTE, + ACTIONS(557), 1, + anon_sym_callback, + ACTIONS(559), 1, + anon_sym_SQUOTEcallback_SQUOTE, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(561), 1, + sym__name, + ACTIONS(513), 2, + anon_sym_behaviour, + anon_sym_behavior, + ACTIONS(515), 2, + anon_sym_SQUOTEbehaviour_SQUOTE, + anon_sym_SQUOTEbehavior_SQUOTE, + [3818] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(563), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(565), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [3879] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(567), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(569), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [3940] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(571), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(573), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [4001] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(575), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(577), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [4062] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(583), 1, + anon_sym_POUND, + ACTIONS(579), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(581), 26, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [4125] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(585), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(587), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [4186] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(589), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(591), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [4247] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(593), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(595), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [4308] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(597), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(599), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [4369] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(601), 1, + anon_sym_POUND, + ACTIONS(579), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(581), 26, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [4432] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(603), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(605), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [4493] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(607), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(609), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [4554] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(611), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(613), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [4615] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(619), 1, + anon_sym_DASH_GT, + ACTIONS(621), 1, + anon_sym_when, + ACTIONS(615), 25, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(617), 26, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [4680] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(627), 1, + anon_sym_COLON_COLON, + ACTIONS(289), 3, + anon_sym_QMARK, + sym_var, + sym_string, + ACTIONS(623), 10, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_GT, + ACTIONS(625), 39, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_DOT_DOT, + anon_sym_catch, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_of, + anon_sym_after, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [4745] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(623), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(625), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [4806] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(289), 3, + anon_sym_QMARK, + sym_var, + sym_string, + ACTIONS(623), 10, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_GT, + ACTIONS(625), 40, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_DOT_DOT, + anon_sym_catch, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_of, + anon_sym_after, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [4869] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(629), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(631), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [4930] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(633), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(635), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [4991] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(637), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(639), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [5052] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(641), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(643), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [5113] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(645), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(647), 27, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [5174] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(649), 1, + anon_sym_COLON, + ACTIONS(651), 1, + anon_sym_POUND, + ACTIONS(579), 25, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(581), 26, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [5239] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(211), 1, + anon_sym_LPAREN, + ACTIONS(213), 1, + anon_sym_if, + ACTIONS(215), 1, + anon_sym_LBRACK, + ACTIONS(217), 1, + anon_sym_fun, + ACTIONS(219), 1, + anon_sym_begin, + ACTIONS(223), 1, + anon_sym_LT_LT, + ACTIONS(225), 1, + anon_sym_LBRACE, + ACTIONS(227), 1, + anon_sym_POUND, + ACTIONS(229), 1, + anon_sym_case, + ACTIONS(231), 1, + anon_sym_receive, + ACTIONS(235), 1, + anon_sym_try, + ACTIONS(654), 1, + anon_sym_QMARK, + STATE(111), 1, + sym__prefix_op, + STATE(493), 1, + sym__catch_pat, + STATE(600), 1, + sym__concatable, + STATE(760), 1, + sym_record_name, + ACTIONS(209), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(239), 2, + anon_sym_bnot, + anon_sym_not, + ACTIONS(243), 2, + sym_integer, + sym_atom, + ACTIONS(245), 2, + sym_float, + sym_char, + ACTIONS(247), 2, + sym_var, + sym_string, + STATE(499), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(510), 7, + sym_unary_op_expr, + sym__expr_max, + sym_map_expr, + sym_record_index_expr, + sym_record_expr, + sym_match_catch_pat, + sym_binary_op_catch_pat, + STATE(554), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [5343] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(656), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(658), 26, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [5403] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(579), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(581), 26, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [5463] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(211), 1, + anon_sym_LPAREN, + ACTIONS(213), 1, + anon_sym_if, + ACTIONS(215), 1, + anon_sym_LBRACK, + ACTIONS(217), 1, + anon_sym_fun, + ACTIONS(219), 1, + anon_sym_begin, + ACTIONS(223), 1, + anon_sym_LT_LT, + ACTIONS(225), 1, + anon_sym_LBRACE, + ACTIONS(227), 1, + anon_sym_POUND, + ACTIONS(229), 1, + anon_sym_case, + ACTIONS(231), 1, + anon_sym_receive, + ACTIONS(235), 1, + anon_sym_try, + ACTIONS(654), 1, + anon_sym_QMARK, + STATE(111), 1, + sym__prefix_op, + STATE(485), 1, + sym__catch_pat, + STATE(600), 1, + sym__concatable, + STATE(760), 1, + sym_record_name, + ACTIONS(209), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(239), 2, + anon_sym_bnot, + anon_sym_not, + ACTIONS(243), 2, + sym_integer, + sym_atom, + ACTIONS(245), 2, + sym_float, + sym_char, + ACTIONS(247), 2, + sym_var, + sym_string, + STATE(499), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(510), 7, + sym_unary_op_expr, + sym__expr_max, + sym_map_expr, + sym_record_index_expr, + sym_record_expr, + sym_match_catch_pat, + sym_binary_op_catch_pat, + STATE(554), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [5567] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(211), 1, + anon_sym_LPAREN, + ACTIONS(213), 1, + anon_sym_if, + ACTIONS(215), 1, + anon_sym_LBRACK, + ACTIONS(217), 1, + anon_sym_fun, + ACTIONS(219), 1, + anon_sym_begin, + ACTIONS(223), 1, + anon_sym_LT_LT, + ACTIONS(225), 1, + anon_sym_LBRACE, + ACTIONS(227), 1, + anon_sym_POUND, + ACTIONS(229), 1, + anon_sym_case, + ACTIONS(231), 1, + anon_sym_receive, + ACTIONS(235), 1, + anon_sym_try, + ACTIONS(654), 1, + anon_sym_QMARK, + STATE(111), 1, + sym__prefix_op, + STATE(491), 1, + sym__catch_pat, + STATE(600), 1, + sym__concatable, + STATE(760), 1, + sym_record_name, + ACTIONS(209), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(239), 2, + anon_sym_bnot, + anon_sym_not, + ACTIONS(243), 2, + sym_integer, + sym_atom, + ACTIONS(245), 2, + sym_float, + sym_char, + ACTIONS(247), 2, + sym_var, + sym_string, + STATE(499), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(510), 7, + sym_unary_op_expr, + sym__expr_max, + sym_map_expr, + sym_record_index_expr, + sym_record_expr, + sym_match_catch_pat, + sym_binary_op_catch_pat, + STATE(554), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [5671] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(660), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(662), 26, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [5731] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(664), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(666), 26, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [5791] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(211), 1, + anon_sym_LPAREN, + ACTIONS(213), 1, + anon_sym_if, + ACTIONS(215), 1, + anon_sym_LBRACK, + ACTIONS(217), 1, + anon_sym_fun, + ACTIONS(219), 1, + anon_sym_begin, + ACTIONS(223), 1, + anon_sym_LT_LT, + ACTIONS(225), 1, + anon_sym_LBRACE, + ACTIONS(227), 1, + anon_sym_POUND, + ACTIONS(229), 1, + anon_sym_case, + ACTIONS(231), 1, + anon_sym_receive, + ACTIONS(235), 1, + anon_sym_try, + ACTIONS(654), 1, + anon_sym_QMARK, + STATE(111), 1, + sym__prefix_op, + STATE(494), 1, + sym__catch_pat, + STATE(600), 1, + sym__concatable, + STATE(760), 1, + sym_record_name, + ACTIONS(209), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(239), 2, + anon_sym_bnot, + anon_sym_not, + ACTIONS(243), 2, + sym_integer, + sym_atom, + ACTIONS(245), 2, + sym_float, + sym_char, + ACTIONS(247), 2, + sym_var, + sym_string, + STATE(499), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(510), 7, + sym_unary_op_expr, + sym__expr_max, + sym_map_expr, + sym_record_index_expr, + sym_record_expr, + sym_match_catch_pat, + sym_binary_op_catch_pat, + STATE(554), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [5895] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(668), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + ACTIONS(670), 26, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + [5955] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(619), 26, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + ACTIONS(621), 26, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_when, + anon_sym_PIPE, + anon_sym_catch, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_SLASH, + anon_sym_of, + anon_sym_after, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + [6015] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(211), 1, + anon_sym_LPAREN, + ACTIONS(213), 1, + anon_sym_if, + ACTIONS(215), 1, + anon_sym_LBRACK, + ACTIONS(217), 1, + anon_sym_fun, + ACTIONS(219), 1, + anon_sym_begin, + ACTIONS(223), 1, + anon_sym_LT_LT, + ACTIONS(225), 1, + anon_sym_LBRACE, + ACTIONS(227), 1, + anon_sym_POUND, + ACTIONS(229), 1, + anon_sym_case, + ACTIONS(231), 1, + anon_sym_receive, + ACTIONS(235), 1, + anon_sym_try, + ACTIONS(654), 1, + anon_sym_QMARK, + STATE(111), 1, + sym__prefix_op, + STATE(495), 1, + sym__catch_pat, + STATE(600), 1, + sym__concatable, + STATE(760), 1, + sym_record_name, + ACTIONS(209), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(239), 2, + anon_sym_bnot, + anon_sym_not, + ACTIONS(243), 2, + sym_integer, + sym_atom, + ACTIONS(245), 2, + sym_float, + sym_char, + ACTIONS(247), 2, + sym_var, + sym_string, + STATE(499), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(510), 7, + sym_unary_op_expr, + sym__expr_max, + sym_map_expr, + sym_record_index_expr, + sym_record_expr, + sym_match_catch_pat, + sym_binary_op_catch_pat, + STATE(554), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [6119] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(672), 8, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_PIPE, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(676), 26, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DOT_DOT, + anon_sym_catch, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_end, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_of, + anon_sym_after, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [6196] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(690), 1, + anon_sym_DOT, + ACTIONS(692), 1, + anon_sym_PIPE, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + ACTIONS(688), 14, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_catch, + anon_sym_end, + anon_sym_GT_GT, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_of, + anon_sym_after, + [6287] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(672), 8, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_PIPE, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(676), 24, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DOT_DOT, + anon_sym_catch, + anon_sym_end, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_of, + anon_sym_after, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [6368] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(692), 1, + anon_sym_PIPE, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(706), 1, + anon_sym_DOT, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + ACTIONS(704), 14, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_catch, + anon_sym_end, + anon_sym_GT_GT, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_of, + anon_sym_after, + [6459] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 9, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_PIPE, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_GT, + ACTIONS(676), 36, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DOT_DOT, + anon_sym_catch, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_of, + anon_sym_after, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [6528] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(692), 1, + anon_sym_PIPE, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(710), 1, + anon_sym_DOT, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + ACTIONS(708), 14, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_catch, + anon_sym_end, + anon_sym_GT_GT, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_of, + anon_sym_after, + [6619] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(700), 1, + anon_sym_orelse, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(672), 8, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_PIPE, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(676), 25, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DOT_DOT, + anon_sym_catch, + anon_sym_BANG, + anon_sym_end, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_of, + anon_sym_after, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [6698] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(714), 2, + anon_sym_DOT, + anon_sym_PIPE, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + ACTIONS(712), 14, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_catch, + anon_sym_end, + anon_sym_GT_GT, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_of, + anon_sym_after, + [6787] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(684), 1, + anon_sym_GT, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(672), 8, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_PIPE, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(676), 27, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DOT_DOT, + anon_sym_catch, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_end, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_of, + anon_sym_after, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [6862] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(716), 7, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_PIPE, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(718), 24, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_DOT_DOT, + anon_sym_catch, + anon_sym_end, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_of, + anon_sym_after, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [6945] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(692), 1, + anon_sym_PIPE, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(722), 1, + anon_sym_DOT, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + ACTIONS(720), 14, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_catch, + anon_sym_end, + anon_sym_GT_GT, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_of, + anon_sym_after, + [7036] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 7, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_PIPE, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 23, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + anon_sym_catch, + anon_sym_end, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_RBRACE, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + anon_sym_of, + anon_sym_after, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [7121] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + anon_sym_begin, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LBRACE, + ACTIONS(39), 1, + anon_sym_case, + ACTIONS(41), 1, + anon_sym_receive, + ACTIONS(43), 1, + anon_sym_try, + ACTIONS(57), 1, + anon_sym_LPAREN, + ACTIONS(726), 1, + anon_sym_fun, + ACTIONS(728), 1, + anon_sym_GT_GT, + ACTIONS(730), 1, + anon_sym_QMARK, + STATE(392), 1, + sym__prefix_op, + STATE(599), 1, + sym__concatable, + STATE(616), 1, + sym__expr_max, + STATE(627), 1, + sym__bit_expr, + STATE(852), 1, + sym_bin_element, + ACTIONS(51), 2, + sym_integer, + sym_atom, + ACTIONS(53), 2, + sym_float, + sym_char, + ACTIONS(55), 2, + sym_var, + sym_string, + ACTIONS(724), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(732), 2, + anon_sym_bnot, + anon_sym_not, + STATE(727), 2, + sym_unary_op_expr_max, + sym_binary_op_expr_max, + STATE(233), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(232), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [7223] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + anon_sym_begin, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LBRACE, + ACTIONS(39), 1, + anon_sym_case, + ACTIONS(41), 1, + anon_sym_receive, + ACTIONS(43), 1, + anon_sym_try, + ACTIONS(57), 1, + anon_sym_LPAREN, + ACTIONS(726), 1, + anon_sym_fun, + ACTIONS(730), 1, + anon_sym_QMARK, + ACTIONS(734), 1, + anon_sym_GT_GT, + STATE(392), 1, + sym__prefix_op, + STATE(599), 1, + sym__concatable, + STATE(607), 1, + sym__expr_max, + STATE(627), 1, + sym__bit_expr, + STATE(807), 1, + sym_bin_element, + ACTIONS(51), 2, + sym_integer, + sym_atom, + ACTIONS(53), 2, + sym_float, + sym_char, + ACTIONS(55), 2, + sym_var, + sym_string, + ACTIONS(724), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(732), 2, + anon_sym_bnot, + anon_sym_not, + STATE(727), 2, + sym_unary_op_expr_max, + sym_binary_op_expr_max, + STATE(233), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(232), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [7325] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + anon_sym_begin, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LBRACE, + ACTIONS(39), 1, + anon_sym_case, + ACTIONS(41), 1, + anon_sym_receive, + ACTIONS(43), 1, + anon_sym_try, + ACTIONS(57), 1, + anon_sym_LPAREN, + ACTIONS(726), 1, + anon_sym_fun, + ACTIONS(730), 1, + anon_sym_QMARK, + ACTIONS(736), 1, + anon_sym_GT_GT, + STATE(392), 1, + sym__prefix_op, + STATE(599), 1, + sym__concatable, + STATE(614), 1, + sym__expr_max, + STATE(627), 1, + sym__bit_expr, + STATE(880), 1, + sym_bin_element, + ACTIONS(51), 2, + sym_integer, + sym_atom, + ACTIONS(53), 2, + sym_float, + sym_char, + ACTIONS(55), 2, + sym_var, + sym_string, + ACTIONS(724), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(732), 2, + anon_sym_bnot, + anon_sym_not, + STATE(727), 2, + sym_unary_op_expr_max, + sym_binary_op_expr_max, + STATE(233), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(232), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [7427] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + anon_sym_begin, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LBRACE, + ACTIONS(39), 1, + anon_sym_case, + ACTIONS(41), 1, + anon_sym_receive, + ACTIONS(43), 1, + anon_sym_try, + ACTIONS(57), 1, + anon_sym_LPAREN, + ACTIONS(726), 1, + anon_sym_fun, + ACTIONS(730), 1, + anon_sym_QMARK, + STATE(392), 1, + sym__prefix_op, + STATE(599), 1, + sym__concatable, + STATE(627), 1, + sym__bit_expr, + STATE(693), 1, + sym__expr_max, + STATE(922), 1, + sym_bin_element, + ACTIONS(51), 2, + sym_integer, + sym_atom, + ACTIONS(53), 2, + sym_float, + sym_char, + ACTIONS(55), 2, + sym_var, + sym_string, + ACTIONS(724), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(732), 2, + anon_sym_bnot, + anon_sym_not, + STATE(727), 2, + sym_unary_op_expr_max, + sym_binary_op_expr_max, + STATE(233), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(232), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [7526] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + anon_sym_begin, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LBRACE, + ACTIONS(39), 1, + anon_sym_case, + ACTIONS(41), 1, + anon_sym_receive, + ACTIONS(43), 1, + anon_sym_try, + ACTIONS(57), 1, + anon_sym_LPAREN, + ACTIONS(726), 1, + anon_sym_fun, + ACTIONS(730), 1, + anon_sym_QMARK, + STATE(392), 1, + sym__prefix_op, + STATE(599), 1, + sym__concatable, + STATE(693), 1, + sym__expr_max, + STATE(832), 1, + sym__bit_expr, + ACTIONS(51), 2, + sym_integer, + sym_atom, + ACTIONS(53), 2, + sym_float, + sym_char, + ACTIONS(55), 2, + sym_var, + sym_string, + ACTIONS(724), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(732), 2, + anon_sym_bnot, + anon_sym_not, + STATE(727), 2, + sym_unary_op_expr_max, + sym_binary_op_expr_max, + STATE(233), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(232), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [7622] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(139), 1, + anon_sym_QMARK, + ACTIONS(738), 2, + sym_var, + sym_string, + STATE(269), 2, + sym__concatable, + aux_sym_concatables_repeat1, + STATE(307), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + ACTIONS(253), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(255), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [7684] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(740), 1, + anon_sym_QMARK, + ACTIONS(743), 2, + sym_var, + sym_string, + STATE(269), 2, + sym__concatable, + aux_sym_concatables_repeat1, + STATE(307), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + ACTIONS(259), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(261), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [7746] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(746), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_SEMI, + anon_sym_catch, + anon_sym_end, + anon_sym_of, + anon_sym_after, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [7828] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(752), 1, + anon_sym_RPAREN, + ACTIONS(755), 1, + anon_sym_COMMA, + ACTIONS(757), 1, + anon_sym_SEMI, + ACTIONS(759), 1, + anon_sym_DASH_GT, + ACTIONS(761), 1, + anon_sym_when, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_DOT_DOT, + ACTIONS(767), 1, + anon_sym_EQ, + ACTIONS(769), 1, + anon_sym_BANG, + ACTIONS(771), 1, + anon_sym_orelse, + ACTIONS(773), 1, + anon_sym_andalso, + ACTIONS(781), 1, + anon_sym_GT, + STATE(76), 1, + sym__comp_op, + STATE(77), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + STATE(668), 1, + sym_clause_body, + STATE(761), 1, + aux_sym_replacement_guard_and_repeat1, + STATE(921), 1, + sym__clause_guard, + ACTIONS(777), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(78), 2, + sym__mult_op, + sym__add_op, + ACTIONS(750), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(779), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(775), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [7924] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(785), 1, + anon_sym_COMMA, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(610), 1, + aux_sym_clause_body_repeat1, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(783), 5, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_catch, + anon_sym_end, + anon_sym_after, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [8009] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(787), 1, + anon_sym_catch, + ACTIONS(789), 1, + anon_sym_of, + ACTIONS(791), 1, + anon_sym_after, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(529), 1, + sym__try_catch, + STATE(617), 1, + aux_sym_clause_body_repeat1, + STATE(964), 1, + sym_try_after, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [8102] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(791), 1, + anon_sym_after, + ACTIONS(793), 1, + anon_sym_catch, + ACTIONS(795), 1, + anon_sym_of, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(179), 1, + sym__try_catch, + STATE(245), 1, + sym_expr_args, + STATE(613), 1, + aux_sym_clause_body_repeat1, + STATE(1052), 1, + sym_try_after, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [8195] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(791), 1, + anon_sym_after, + ACTIONS(797), 1, + anon_sym_catch, + ACTIONS(799), 1, + anon_sym_of, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(400), 1, + sym__try_catch, + STATE(606), 1, + aux_sym_clause_body_repeat1, + STATE(989), 1, + sym_try_after, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [8288] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(805), 1, + anon_sym_COMMA, + ACTIONS(807), 1, + anon_sym_PIPE, + ACTIONS(809), 1, + anon_sym_DOT_DOT, + ACTIONS(811), 1, + anon_sym_EQ, + ACTIONS(813), 1, + anon_sym_BANG, + ACTIONS(815), 1, + anon_sym_orelse, + ACTIONS(817), 1, + anon_sym_andalso, + ACTIONS(819), 1, + anon_sym_STAR, + ACTIONS(825), 1, + anon_sym_GT, + STATE(148), 1, + sym__list_op, + STATE(149), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(604), 1, + aux_sym_clause_body_repeat1, + ACTIONS(801), 2, + anon_sym_DOT, + sym_atom, + ACTIONS(821), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(130), 2, + sym__mult_op, + sym__add_op, + ACTIONS(783), 3, + anon_sym_SEMI, + anon_sym_QMARK, + sym_var, + ACTIONS(823), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(803), 13, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + [8375] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(831), 5, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_catch, + anon_sym_end, + anon_sym_after, + ACTIONS(827), 7, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_GT, + ACTIONS(829), 31, + anon_sym_LPAREN, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_STAR, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [8428] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(765), 1, + anon_sym_DOT_DOT, + ACTIONS(767), 1, + anon_sym_EQ, + ACTIONS(769), 1, + anon_sym_BANG, + ACTIONS(771), 1, + anon_sym_orelse, + ACTIONS(773), 1, + anon_sym_andalso, + ACTIONS(781), 1, + anon_sym_GT, + STATE(76), 1, + sym__comp_op, + STATE(77), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(777), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(78), 2, + sym__mult_op, + sym__add_op, + ACTIONS(750), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(712), 7, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_PIPE, + ACTIONS(779), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(775), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [8506] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(627), 1, + anon_sym_COLON_COLON, + ACTIONS(289), 3, + anon_sym_QMARK, + sym_var, + sym_string, + ACTIONS(623), 9, + anon_sym_DASH, + anon_sym_COLON, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(625), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [8560] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(767), 1, + anon_sym_EQ, + ACTIONS(769), 1, + anon_sym_BANG, + ACTIONS(771), 1, + anon_sym_orelse, + ACTIONS(773), 1, + anon_sym_andalso, + ACTIONS(781), 1, + anon_sym_GT, + STATE(76), 1, + sym__comp_op, + STATE(77), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(777), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(78), 2, + sym__mult_op, + sym__add_op, + ACTIONS(716), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(779), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(718), 17, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [8634] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(815), 1, + anon_sym_orelse, + ACTIONS(817), 1, + anon_sym_andalso, + ACTIONS(825), 1, + anon_sym_GT, + STATE(148), 1, + sym__list_op, + STATE(149), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(821), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(130), 2, + sym__mult_op, + sym__add_op, + ACTIONS(823), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 8, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_QMARK, + sym_var, + ACTIONS(672), 16, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + sym_atom, + [8704] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(817), 1, + anon_sym_andalso, + ACTIONS(825), 1, + anon_sym_GT, + STATE(148), 1, + sym__list_op, + STATE(149), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(821), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(130), 2, + sym__mult_op, + sym__add_op, + ACTIONS(823), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 8, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_QMARK, + sym_var, + ACTIONS(672), 17, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + sym_atom, + [8772] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(809), 1, + anon_sym_DOT_DOT, + ACTIONS(811), 1, + anon_sym_EQ, + ACTIONS(813), 1, + anon_sym_BANG, + ACTIONS(815), 1, + anon_sym_orelse, + ACTIONS(817), 1, + anon_sym_andalso, + ACTIONS(825), 1, + anon_sym_GT, + STATE(148), 1, + sym__list_op, + STATE(149), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(821), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(130), 2, + sym__mult_op, + sym__add_op, + ACTIONS(676), 6, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_QMARK, + sym_var, + ACTIONS(823), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(672), 15, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + sym_atom, + [8848] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(807), 1, + anon_sym_PIPE, + ACTIONS(809), 1, + anon_sym_DOT_DOT, + ACTIONS(811), 1, + anon_sym_EQ, + ACTIONS(813), 1, + anon_sym_BANG, + ACTIONS(815), 1, + anon_sym_orelse, + ACTIONS(817), 1, + anon_sym_andalso, + ACTIONS(819), 1, + anon_sym_STAR, + ACTIONS(825), 1, + anon_sym_GT, + STATE(148), 1, + sym__list_op, + STATE(149), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(722), 2, + anon_sym_DOT, + sym_atom, + ACTIONS(821), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(130), 2, + sym__mult_op, + sym__add_op, + ACTIONS(720), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_QMARK, + sym_var, + ACTIONS(823), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(803), 13, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + [8930] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_DOT_DOT, + ACTIONS(767), 1, + anon_sym_EQ, + ACTIONS(769), 1, + anon_sym_BANG, + ACTIONS(771), 1, + anon_sym_orelse, + ACTIONS(773), 1, + anon_sym_andalso, + ACTIONS(781), 1, + anon_sym_GT, + STATE(76), 1, + sym__comp_op, + STATE(77), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(777), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(78), 2, + sym__mult_op, + sym__add_op, + ACTIONS(750), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(720), 6, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + ACTIONS(779), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(775), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [9010] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(811), 1, + anon_sym_EQ, + ACTIONS(813), 1, + anon_sym_BANG, + ACTIONS(815), 1, + anon_sym_orelse, + ACTIONS(817), 1, + anon_sym_andalso, + ACTIONS(825), 1, + anon_sym_GT, + STATE(148), 1, + sym__list_op, + STATE(149), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(821), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(130), 2, + sym__mult_op, + sym__add_op, + ACTIONS(718), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_QMARK, + sym_var, + ACTIONS(823), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(716), 15, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + sym_atom, + [9084] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(807), 1, + anon_sym_PIPE, + ACTIONS(809), 1, + anon_sym_DOT_DOT, + ACTIONS(811), 1, + anon_sym_EQ, + ACTIONS(813), 1, + anon_sym_BANG, + ACTIONS(815), 1, + anon_sym_orelse, + ACTIONS(817), 1, + anon_sym_andalso, + ACTIONS(819), 1, + anon_sym_STAR, + ACTIONS(825), 1, + anon_sym_GT, + STATE(148), 1, + sym__list_op, + STATE(149), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(690), 2, + anon_sym_DOT, + sym_atom, + ACTIONS(821), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(130), 2, + sym__mult_op, + sym__add_op, + ACTIONS(688), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_QMARK, + sym_var, + ACTIONS(823), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(803), 13, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + [9166] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(769), 1, + anon_sym_BANG, + ACTIONS(771), 1, + anon_sym_orelse, + ACTIONS(773), 1, + anon_sym_andalso, + ACTIONS(781), 1, + anon_sym_GT, + STATE(76), 1, + sym__comp_op, + STATE(77), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(777), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(78), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 6, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(779), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 17, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [9238] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(771), 1, + anon_sym_orelse, + ACTIONS(773), 1, + anon_sym_andalso, + ACTIONS(781), 1, + anon_sym_GT, + STATE(76), 1, + sym__comp_op, + STATE(77), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(777), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(78), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 6, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(779), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 18, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [9308] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(807), 1, + anon_sym_PIPE, + ACTIONS(809), 1, + anon_sym_DOT_DOT, + ACTIONS(811), 1, + anon_sym_EQ, + ACTIONS(813), 1, + anon_sym_BANG, + ACTIONS(815), 1, + anon_sym_orelse, + ACTIONS(817), 1, + anon_sym_andalso, + ACTIONS(819), 1, + anon_sym_STAR, + ACTIONS(825), 1, + anon_sym_GT, + STATE(148), 1, + sym__list_op, + STATE(149), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(821), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(833), 2, + anon_sym_DOT, + sym_atom, + STATE(130), 2, + sym__mult_op, + sym__add_op, + ACTIONS(746), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_QMARK, + sym_var, + ACTIONS(823), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(803), 13, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + [9390] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + STATE(148), 1, + sym__list_op, + STATE(149), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(130), 2, + sym__mult_op, + sym__add_op, + ACTIONS(676), 17, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + ACTIONS(672), 19, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + [9450] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(825), 1, + anon_sym_GT, + STATE(148), 1, + sym__list_op, + STATE(149), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(821), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(130), 2, + sym__mult_op, + sym__add_op, + ACTIONS(823), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 8, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_QMARK, + sym_var, + ACTIONS(672), 18, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + sym_atom, + [9516] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(813), 1, + anon_sym_BANG, + ACTIONS(815), 1, + anon_sym_orelse, + ACTIONS(817), 1, + anon_sym_andalso, + ACTIONS(825), 1, + anon_sym_GT, + STATE(148), 1, + sym__list_op, + STATE(149), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(821), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(130), 2, + sym__mult_op, + sym__add_op, + ACTIONS(676), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_QMARK, + sym_var, + ACTIONS(823), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(672), 16, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + sym_atom, + [9588] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(773), 1, + anon_sym_andalso, + ACTIONS(781), 1, + anon_sym_GT, + STATE(76), 1, + sym__comp_op, + STATE(77), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(777), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(78), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 6, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(779), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 19, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [9656] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_DOT_DOT, + ACTIONS(767), 1, + anon_sym_EQ, + ACTIONS(769), 1, + anon_sym_BANG, + ACTIONS(771), 1, + anon_sym_orelse, + ACTIONS(773), 1, + anon_sym_andalso, + ACTIONS(781), 1, + anon_sym_GT, + STATE(76), 1, + sym__comp_op, + STATE(77), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(777), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(78), 2, + sym__mult_op, + sym__add_op, + ACTIONS(750), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(708), 6, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + ACTIONS(779), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(775), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [9736] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(807), 1, + anon_sym_PIPE, + ACTIONS(809), 1, + anon_sym_DOT_DOT, + ACTIONS(811), 1, + anon_sym_EQ, + ACTIONS(813), 1, + anon_sym_BANG, + ACTIONS(815), 1, + anon_sym_orelse, + ACTIONS(817), 1, + anon_sym_andalso, + ACTIONS(819), 1, + anon_sym_STAR, + ACTIONS(825), 1, + anon_sym_GT, + STATE(148), 1, + sym__list_op, + STATE(149), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(710), 2, + anon_sym_DOT, + sym_atom, + ACTIONS(821), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(130), 2, + sym__mult_op, + sym__add_op, + ACTIONS(708), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_QMARK, + sym_var, + ACTIONS(823), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(803), 13, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + [9818] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(765), 1, + anon_sym_DOT_DOT, + ACTIONS(767), 1, + anon_sym_EQ, + ACTIONS(769), 1, + anon_sym_BANG, + ACTIONS(771), 1, + anon_sym_orelse, + ACTIONS(773), 1, + anon_sym_andalso, + ACTIONS(781), 1, + anon_sym_GT, + STATE(76), 1, + sym__comp_op, + STATE(77), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(777), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(78), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(779), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 16, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [9894] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(807), 1, + anon_sym_PIPE, + ACTIONS(809), 1, + anon_sym_DOT_DOT, + ACTIONS(811), 1, + anon_sym_EQ, + ACTIONS(813), 1, + anon_sym_BANG, + ACTIONS(815), 1, + anon_sym_orelse, + ACTIONS(817), 1, + anon_sym_andalso, + ACTIONS(819), 1, + anon_sym_STAR, + ACTIONS(825), 1, + anon_sym_GT, + STATE(148), 1, + sym__list_op, + STATE(149), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(706), 2, + anon_sym_DOT, + sym_atom, + ACTIONS(821), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(130), 2, + sym__mult_op, + sym__add_op, + ACTIONS(704), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_QMARK, + sym_var, + ACTIONS(823), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(803), 13, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + [9976] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_DOT_DOT, + ACTIONS(767), 1, + anon_sym_EQ, + ACTIONS(769), 1, + anon_sym_BANG, + ACTIONS(771), 1, + anon_sym_orelse, + ACTIONS(773), 1, + anon_sym_andalso, + ACTIONS(781), 1, + anon_sym_GT, + STATE(76), 1, + sym__comp_op, + STATE(77), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(777), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(78), 2, + sym__mult_op, + sym__add_op, + ACTIONS(750), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(704), 6, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + ACTIONS(779), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(775), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [10056] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(627), 1, + anon_sym_COLON_COLON, + ACTIONS(835), 1, + anon_sym_LPAREN, + ACTIONS(289), 3, + anon_sym_QMARK, + sym_var, + sym_string, + ACTIONS(623), 8, + anon_sym_DASH, + anon_sym_COLON, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_GT, + ACTIONS(625), 29, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_STAR, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [10112] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(809), 1, + anon_sym_DOT_DOT, + ACTIONS(811), 1, + anon_sym_EQ, + ACTIONS(813), 1, + anon_sym_BANG, + ACTIONS(815), 1, + anon_sym_orelse, + ACTIONS(817), 1, + anon_sym_andalso, + ACTIONS(819), 1, + anon_sym_STAR, + ACTIONS(825), 1, + anon_sym_GT, + STATE(148), 1, + sym__list_op, + STATE(149), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(714), 2, + anon_sym_DOT, + sym_atom, + ACTIONS(821), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(130), 2, + sym__mult_op, + sym__add_op, + ACTIONS(712), 5, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_PIPE, + anon_sym_QMARK, + sym_var, + ACTIONS(823), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(803), 13, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + [10192] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_DOT_DOT, + ACTIONS(767), 1, + anon_sym_EQ, + ACTIONS(769), 1, + anon_sym_BANG, + ACTIONS(771), 1, + anon_sym_orelse, + ACTIONS(773), 1, + anon_sym_andalso, + ACTIONS(781), 1, + anon_sym_GT, + STATE(76), 1, + sym__comp_op, + STATE(77), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(777), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(78), 2, + sym__mult_op, + sym__add_op, + ACTIONS(750), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(688), 6, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + ACTIONS(779), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(775), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [10272] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(838), 1, + anon_sym_LPAREN, + STATE(168), 1, + sym_macro_call_args, + ACTIONS(269), 7, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_GT, + ACTIONS(273), 33, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_STAR, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [10326] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + STATE(76), 1, + sym__comp_op, + STATE(77), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + STATE(78), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 7, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_GT, + ACTIONS(676), 29, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [10386] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(781), 1, + anon_sym_GT, + STATE(76), 1, + sym__comp_op, + STATE(77), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(777), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(78), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 6, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(779), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 20, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [10452] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(842), 1, + anon_sym_LPAREN, + STATE(315), 1, + sym_macro_call_args, + ACTIONS(269), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(273), 32, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [10506] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(287), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(289), 33, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [10555] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(846), 1, + anon_sym_LPAREN, + ACTIONS(848), 1, + anon_sym_PIPE, + ACTIONS(850), 1, + anon_sym_DOT_DOT, + ACTIONS(852), 1, + anon_sym_EQ, + ACTIONS(854), 1, + anon_sym_BANG, + ACTIONS(856), 1, + anon_sym_orelse, + ACTIONS(858), 1, + anon_sym_andalso, + STATE(75), 1, + sym__list_op, + STATE(83), 1, + sym__comp_op, + STATE(477), 1, + sym_expr_args, + ACTIONS(862), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(866), 2, + anon_sym_LT, + anon_sym_GT, + STATE(73), 2, + sym__mult_op, + sym__add_op, + ACTIONS(688), 5, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_GT_GT, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + ACTIONS(844), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(864), 6, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(860), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [10634] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(846), 1, + anon_sym_LPAREN, + ACTIONS(850), 1, + anon_sym_DOT_DOT, + ACTIONS(852), 1, + anon_sym_EQ, + ACTIONS(854), 1, + anon_sym_BANG, + ACTIONS(856), 1, + anon_sym_orelse, + ACTIONS(858), 1, + anon_sym_andalso, + STATE(75), 1, + sym__list_op, + STATE(83), 1, + sym__comp_op, + STATE(477), 1, + sym_expr_args, + ACTIONS(862), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(866), 2, + anon_sym_LT, + anon_sym_GT, + STATE(73), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(864), 6, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 15, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [10709] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(289), 3, + anon_sym_QMARK, + sym_var, + sym_string, + ACTIONS(623), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(625), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [10760] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(872), 1, + anon_sym_DOT, + ACTIONS(874), 1, + anon_sym_when, + ACTIONS(876), 1, + anon_sym_PIPE, + ACTIONS(878), 1, + anon_sym_DOT_DOT, + ACTIONS(880), 1, + anon_sym_EQ, + ACTIONS(882), 1, + anon_sym_BANG, + ACTIONS(884), 1, + anon_sym_orelse, + ACTIONS(886), 1, + anon_sym_andalso, + ACTIONS(894), 1, + anon_sym_GT, + STATE(116), 1, + sym__list_op, + STATE(117), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(780), 1, + sym_type_guards, + ACTIONS(870), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + ACTIONS(890), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(115), 2, + sym__mult_op, + sym__add_op, + ACTIONS(868), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(892), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(888), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [10845] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(291), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(293), 33, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [10894] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(846), 1, + anon_sym_LPAREN, + STATE(75), 1, + sym__list_op, + STATE(83), 1, + sym__comp_op, + STATE(477), 1, + sym_expr_args, + ACTIONS(862), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(866), 2, + anon_sym_LT, + anon_sym_GT, + STATE(73), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 6, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(864), 6, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 19, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [10959] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(846), 1, + anon_sym_LPAREN, + STATE(75), 1, + sym__list_op, + STATE(83), 1, + sym__comp_op, + STATE(477), 1, + sym_expr_args, + STATE(73), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(676), 27, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [11018] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(275), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(277), 33, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [11067] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(846), 1, + anon_sym_LPAREN, + ACTIONS(848), 1, + anon_sym_PIPE, + ACTIONS(850), 1, + anon_sym_DOT_DOT, + ACTIONS(852), 1, + anon_sym_EQ, + ACTIONS(854), 1, + anon_sym_BANG, + ACTIONS(856), 1, + anon_sym_orelse, + ACTIONS(858), 1, + anon_sym_andalso, + STATE(75), 1, + sym__list_op, + STATE(83), 1, + sym__comp_op, + STATE(477), 1, + sym_expr_args, + ACTIONS(862), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(866), 2, + anon_sym_LT, + anon_sym_GT, + STATE(73), 2, + sym__mult_op, + sym__add_op, + ACTIONS(704), 5, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_GT_GT, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + ACTIONS(844), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(864), 6, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(860), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [11146] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(846), 1, + anon_sym_LPAREN, + ACTIONS(848), 1, + anon_sym_PIPE, + ACTIONS(850), 1, + anon_sym_DOT_DOT, + ACTIONS(852), 1, + anon_sym_EQ, + ACTIONS(854), 1, + anon_sym_BANG, + ACTIONS(856), 1, + anon_sym_orelse, + ACTIONS(858), 1, + anon_sym_andalso, + STATE(75), 1, + sym__list_op, + STATE(83), 1, + sym__comp_op, + STATE(477), 1, + sym_expr_args, + ACTIONS(862), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(866), 2, + anon_sym_LT, + anon_sym_GT, + STATE(73), 2, + sym__mult_op, + sym__add_op, + ACTIONS(708), 5, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_GT_GT, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + ACTIONS(844), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(864), 6, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(860), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [11225] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(692), 1, + anon_sym_PIPE, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(896), 1, + anon_sym_RBRACK, + ACTIONS(898), 1, + anon_sym_PIPE_PIPE, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(863), 1, + aux_sym_clause_body_repeat1, + STATE(953), 1, + sym_lc_exprs, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [11312] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(710), 1, + anon_sym_DOT, + ACTIONS(876), 1, + anon_sym_PIPE, + ACTIONS(878), 1, + anon_sym_DOT_DOT, + ACTIONS(880), 1, + anon_sym_EQ, + ACTIONS(882), 1, + anon_sym_BANG, + ACTIONS(884), 1, + anon_sym_orelse, + ACTIONS(886), 1, + anon_sym_andalso, + ACTIONS(894), 1, + anon_sym_GT, + STATE(116), 1, + sym__list_op, + STATE(117), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(890), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(115), 2, + sym__mult_op, + sym__add_op, + ACTIONS(708), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_when, + ACTIONS(868), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(892), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(888), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [11393] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(706), 1, + anon_sym_DOT, + ACTIONS(876), 1, + anon_sym_PIPE, + ACTIONS(878), 1, + anon_sym_DOT_DOT, + ACTIONS(880), 1, + anon_sym_EQ, + ACTIONS(882), 1, + anon_sym_BANG, + ACTIONS(884), 1, + anon_sym_orelse, + ACTIONS(886), 1, + anon_sym_andalso, + ACTIONS(894), 1, + anon_sym_GT, + STATE(116), 1, + sym__list_op, + STATE(117), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(890), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(115), 2, + sym__mult_op, + sym__add_op, + ACTIONS(704), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_when, + ACTIONS(868), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(892), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(888), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [11474] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(846), 1, + anon_sym_LPAREN, + ACTIONS(850), 1, + anon_sym_DOT_DOT, + ACTIONS(852), 1, + anon_sym_EQ, + ACTIONS(854), 1, + anon_sym_BANG, + ACTIONS(856), 1, + anon_sym_orelse, + ACTIONS(858), 1, + anon_sym_andalso, + STATE(75), 1, + sym__list_op, + STATE(83), 1, + sym__comp_op, + STATE(477), 1, + sym_expr_args, + ACTIONS(862), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(866), 2, + anon_sym_LT, + anon_sym_GT, + STATE(73), 2, + sym__mult_op, + sym__add_op, + ACTIONS(844), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(712), 6, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_GT_GT, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + ACTIONS(864), 6, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(860), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [11551] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(295), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(297), 33, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [11600] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(714), 1, + anon_sym_DOT, + ACTIONS(878), 1, + anon_sym_DOT_DOT, + ACTIONS(880), 1, + anon_sym_EQ, + ACTIONS(882), 1, + anon_sym_BANG, + ACTIONS(884), 1, + anon_sym_orelse, + ACTIONS(886), 1, + anon_sym_andalso, + ACTIONS(894), 1, + anon_sym_GT, + STATE(116), 1, + sym__list_op, + STATE(117), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(890), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(115), 2, + sym__mult_op, + sym__add_op, + ACTIONS(712), 5, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_when, + anon_sym_PIPE, + ACTIONS(868), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(892), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(888), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [11679] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(690), 1, + anon_sym_DOT, + ACTIONS(876), 1, + anon_sym_PIPE, + ACTIONS(878), 1, + anon_sym_DOT_DOT, + ACTIONS(880), 1, + anon_sym_EQ, + ACTIONS(882), 1, + anon_sym_BANG, + ACTIONS(884), 1, + anon_sym_orelse, + ACTIONS(886), 1, + anon_sym_andalso, + ACTIONS(894), 1, + anon_sym_GT, + STATE(116), 1, + sym__list_op, + STATE(117), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(890), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(115), 2, + sym__mult_op, + sym__add_op, + ACTIONS(688), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_when, + ACTIONS(868), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(892), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(888), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [11760] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(283), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(285), 33, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [11809] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(880), 1, + anon_sym_EQ, + ACTIONS(882), 1, + anon_sym_BANG, + ACTIONS(884), 1, + anon_sym_orelse, + ACTIONS(886), 1, + anon_sym_andalso, + ACTIONS(894), 1, + anon_sym_GT, + STATE(116), 1, + sym__list_op, + STATE(117), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(890), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(115), 2, + sym__mult_op, + sym__add_op, + ACTIONS(716), 6, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(892), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(718), 15, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [11882] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(900), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + ACTIONS(827), 7, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_GT, + ACTIONS(829), 32, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_STAR, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [11933] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(722), 1, + anon_sym_DOT, + ACTIONS(876), 1, + anon_sym_PIPE, + ACTIONS(878), 1, + anon_sym_DOT_DOT, + ACTIONS(880), 1, + anon_sym_EQ, + ACTIONS(882), 1, + anon_sym_BANG, + ACTIONS(884), 1, + anon_sym_orelse, + ACTIONS(886), 1, + anon_sym_andalso, + ACTIONS(894), 1, + anon_sym_GT, + STATE(116), 1, + sym__list_op, + STATE(117), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(890), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(115), 2, + sym__mult_op, + sym__add_op, + ACTIONS(720), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_when, + ACTIONS(868), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(892), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(888), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [12014] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(882), 1, + anon_sym_BANG, + ACTIONS(884), 1, + anon_sym_orelse, + ACTIONS(886), 1, + anon_sym_andalso, + ACTIONS(894), 1, + anon_sym_GT, + STATE(116), 1, + sym__list_op, + STATE(117), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(890), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(115), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 7, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(892), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 15, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [12085] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(279), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(281), 33, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [12134] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(884), 1, + anon_sym_orelse, + ACTIONS(886), 1, + anon_sym_andalso, + ACTIONS(894), 1, + anon_sym_GT, + STATE(116), 1, + sym__list_op, + STATE(117), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(890), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(115), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 7, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(892), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 16, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [12203] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(846), 1, + anon_sym_LPAREN, + ACTIONS(852), 1, + anon_sym_EQ, + ACTIONS(854), 1, + anon_sym_BANG, + ACTIONS(856), 1, + anon_sym_orelse, + ACTIONS(858), 1, + anon_sym_andalso, + STATE(75), 1, + sym__list_op, + STATE(83), 1, + sym__comp_op, + STATE(477), 1, + sym_expr_args, + ACTIONS(862), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(866), 2, + anon_sym_LT, + anon_sym_GT, + STATE(73), 2, + sym__mult_op, + sym__add_op, + ACTIONS(716), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(864), 6, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(718), 16, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [12276] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(846), 1, + anon_sym_LPAREN, + ACTIONS(848), 1, + anon_sym_PIPE, + ACTIONS(850), 1, + anon_sym_DOT_DOT, + ACTIONS(852), 1, + anon_sym_EQ, + ACTIONS(854), 1, + anon_sym_BANG, + ACTIONS(856), 1, + anon_sym_orelse, + ACTIONS(858), 1, + anon_sym_andalso, + STATE(75), 1, + sym__list_op, + STATE(83), 1, + sym__comp_op, + STATE(477), 1, + sym_expr_args, + ACTIONS(862), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(866), 2, + anon_sym_LT, + anon_sym_GT, + STATE(73), 2, + sym__mult_op, + sym__add_op, + ACTIONS(720), 5, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_GT_GT, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + ACTIONS(844), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(864), 6, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(860), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [12355] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(846), 1, + anon_sym_LPAREN, + ACTIONS(858), 1, + anon_sym_andalso, + STATE(75), 1, + sym__list_op, + STATE(83), 1, + sym__comp_op, + STATE(477), 1, + sym_expr_args, + ACTIONS(862), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(866), 2, + anon_sym_LT, + anon_sym_GT, + STATE(73), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 6, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(864), 6, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 18, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [12422] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(886), 1, + anon_sym_andalso, + ACTIONS(894), 1, + anon_sym_GT, + STATE(116), 1, + sym__list_op, + STATE(117), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(890), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(115), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 7, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(892), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 17, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [12489] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(846), 1, + anon_sym_LPAREN, + ACTIONS(854), 1, + anon_sym_BANG, + ACTIONS(856), 1, + anon_sym_orelse, + ACTIONS(858), 1, + anon_sym_andalso, + STATE(75), 1, + sym__list_op, + STATE(83), 1, + sym__comp_op, + STATE(477), 1, + sym_expr_args, + ACTIONS(862), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(866), 2, + anon_sym_LT, + anon_sym_GT, + STATE(73), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 6, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(864), 6, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 16, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [12560] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(299), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(301), 33, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [12609] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(846), 1, + anon_sym_LPAREN, + ACTIONS(856), 1, + anon_sym_orelse, + ACTIONS(858), 1, + anon_sym_andalso, + STATE(75), 1, + sym__list_op, + STATE(83), 1, + sym__comp_op, + STATE(477), 1, + sym_expr_args, + ACTIONS(862), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(866), 2, + anon_sym_LT, + anon_sym_GT, + STATE(73), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 6, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(864), 6, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 17, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [12678] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(289), 1, + sym_string, + ACTIONS(627), 1, + anon_sym_COLON_COLON, + ACTIONS(904), 2, + anon_sym_QMARK, + sym_var, + ACTIONS(625), 17, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_POUND, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(623), 20, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + [12733] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(846), 1, + anon_sym_LPAREN, + ACTIONS(848), 1, + anon_sym_PIPE, + ACTIONS(850), 1, + anon_sym_DOT_DOT, + ACTIONS(852), 1, + anon_sym_EQ, + ACTIONS(854), 1, + anon_sym_BANG, + ACTIONS(856), 1, + anon_sym_orelse, + ACTIONS(858), 1, + anon_sym_andalso, + ACTIONS(909), 1, + anon_sym_LT_DASH, + ACTIONS(911), 1, + anon_sym_LT_EQ, + STATE(75), 1, + sym__list_op, + STATE(83), 1, + sym__comp_op, + STATE(477), 1, + sym_expr_args, + ACTIONS(862), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(866), 2, + anon_sym_LT, + anon_sym_GT, + STATE(73), 2, + sym__mult_op, + sym__add_op, + ACTIONS(907), 3, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_GT_GT, + ACTIONS(844), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(864), 6, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(860), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [12816] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(878), 1, + anon_sym_DOT_DOT, + ACTIONS(880), 1, + anon_sym_EQ, + ACTIONS(882), 1, + anon_sym_BANG, + ACTIONS(884), 1, + anon_sym_orelse, + ACTIONS(886), 1, + anon_sym_andalso, + ACTIONS(894), 1, + anon_sym_GT, + STATE(116), 1, + sym__list_op, + STATE(117), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(890), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(115), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 6, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(892), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 14, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_when, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [12891] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(692), 1, + anon_sym_PIPE, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(898), 1, + anon_sym_PIPE_PIPE, + ACTIONS(913), 1, + anon_sym_RBRACK, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(868), 1, + aux_sym_clause_body_repeat1, + STATE(954), 1, + sym_lc_exprs, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [12978] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(692), 1, + anon_sym_PIPE, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(898), 1, + anon_sym_PIPE_PIPE, + ACTIONS(915), 1, + anon_sym_RBRACK, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(768), 1, + aux_sym_clause_body_repeat1, + STATE(977), 1, + sym_lc_exprs, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [13065] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + STATE(116), 1, + sym__list_op, + STATE(117), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(115), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 8, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_GT, + ACTIONS(676), 27, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [13124] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(894), 1, + anon_sym_GT, + STATE(116), 1, + sym__list_op, + STATE(117), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(890), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(115), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 7, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(892), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 18, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [13189] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(289), 1, + sym_string, + ACTIONS(904), 2, + anon_sym_QMARK, + sym_var, + ACTIONS(625), 18, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_POUND, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(623), 19, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_EQ, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_GT, + sym_atom, + [13241] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(755), 1, + anon_sym_COMMA, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(761), 1, + aux_sym_replacement_guard_and_repeat1, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(757), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [13323] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(759), 1, + anon_sym_DASH_GT, + ACTIONS(761), 1, + anon_sym_when, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_DOT_DOT, + ACTIONS(767), 1, + anon_sym_EQ, + ACTIONS(769), 1, + anon_sym_BANG, + ACTIONS(771), 1, + anon_sym_orelse, + ACTIONS(773), 1, + anon_sym_andalso, + ACTIONS(781), 1, + anon_sym_GT, + STATE(76), 1, + sym__comp_op, + STATE(77), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + STATE(668), 1, + sym_clause_body, + STATE(921), 1, + sym__clause_guard, + ACTIONS(777), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(78), 2, + sym__mult_op, + sym__add_op, + ACTIONS(750), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(779), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(775), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [13407] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(919), 1, + anon_sym_COMMA, + ACTIONS(923), 1, + anon_sym_PIPE, + ACTIONS(925), 1, + anon_sym_DOT_DOT, + ACTIONS(927), 1, + anon_sym_EQ, + ACTIONS(929), 1, + anon_sym_BANG, + ACTIONS(931), 1, + anon_sym_orelse, + ACTIONS(933), 1, + anon_sym_andalso, + ACTIONS(941), 1, + anon_sym_GT, + STATE(118), 1, + sym__comp_op, + STATE(119), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + STATE(759), 1, + aux_sym_clause_body_repeat1, + ACTIONS(921), 2, + anon_sym_SEMI, + anon_sym_DASH_GT, + ACTIONS(937), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(120), 2, + sym__mult_op, + sym__add_op, + ACTIONS(917), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(939), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(935), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [13489] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(619), 2, + anon_sym_DASH_GT, + anon_sym_when, + ACTIONS(615), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(617), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [13539] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(619), 1, + anon_sym_DASH_GT, + ACTIONS(943), 1, + anon_sym_when, + ACTIONS(615), 8, + anon_sym_DASH, + anon_sym_DOT, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_GT, + ACTIONS(617), 29, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_STAR, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [13590] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(941), 1, + anon_sym_GT, + STATE(118), 1, + sym__comp_op, + STATE(119), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(937), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(120), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 6, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(939), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 17, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [13653] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(925), 1, + anon_sym_DOT_DOT, + ACTIONS(927), 1, + anon_sym_EQ, + ACTIONS(929), 1, + anon_sym_BANG, + ACTIONS(931), 1, + anon_sym_orelse, + ACTIONS(933), 1, + anon_sym_andalso, + ACTIONS(941), 1, + anon_sym_GT, + STATE(118), 1, + sym__comp_op, + STATE(119), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(937), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(120), 2, + sym__mult_op, + sym__add_op, + ACTIONS(712), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_PIPE, + ACTIONS(917), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(939), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(935), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [13728] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9), 1, + anon_sym_DASH, + ACTIONS(11), 1, + anon_sym_QMARK, + ACTIONS(946), 1, + ts_builtin_sym_end, + STATE(157), 1, + sym_attr_name, + STATE(489), 1, + sym_macro_call_none, + STATE(566), 1, + sym__function_or_macro_clause, + STATE(901), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + STATE(383), 2, + sym__form, + aux_sym_source_file_repeat1, + STATE(620), 2, + sym_function_clause, + sym_macro_call_expr, + STATE(639), 10, + sym_pp_include, + sym_pp_include_lib, + sym_pp_undef, + sym_pp_ifdef, + sym_pp_ifndef, + sym_pp_else, + sym_pp_endif, + sym_pp_if, + sym_pp_elif, + sym_pp_define, + STATE(642), 16, + sym__preprocessor_directive, + sym_module_attribute, + sym_behaviour_attribute, + sym_export_attribute, + sym_import_attribute, + sym_optional_callbacks_attribute, + sym_export_type_attribute, + sym_compile_options_attribute, + sym_file_attribute, + sym_type_alias, + sym_opaque, + sym_record_decl, + sym_spec, + sym_callback, + sym_wild_attribute, + sym_fun_decl, + [13795] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(948), 1, + anon_sym_end, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(777), 1, + aux_sym_clause_body_repeat1, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [13876] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(950), 1, + anon_sym_end, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(873), 1, + aux_sym_clause_body_repeat1, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [13957] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(952), 1, + anon_sym_COMMA, + ACTIONS(954), 1, + anon_sym_RBRACE, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(876), 1, + aux_sym_tuple_repeat1, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [14038] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(925), 1, + anon_sym_DOT_DOT, + ACTIONS(927), 1, + anon_sym_EQ, + ACTIONS(929), 1, + anon_sym_BANG, + ACTIONS(931), 1, + anon_sym_orelse, + ACTIONS(933), 1, + anon_sym_andalso, + ACTIONS(941), 1, + anon_sym_GT, + STATE(118), 1, + sym__comp_op, + STATE(119), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(937), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(120), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(939), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 13, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_PIPE, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [14111] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(923), 1, + anon_sym_PIPE, + ACTIONS(925), 1, + anon_sym_DOT_DOT, + ACTIONS(927), 1, + anon_sym_EQ, + ACTIONS(929), 1, + anon_sym_BANG, + ACTIONS(931), 1, + anon_sym_orelse, + ACTIONS(933), 1, + anon_sym_andalso, + ACTIONS(941), 1, + anon_sym_GT, + STATE(118), 1, + sym__comp_op, + STATE(119), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(937), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(120), 2, + sym__mult_op, + sym__add_op, + ACTIONS(720), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_DASH_GT, + ACTIONS(917), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(939), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(935), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [14188] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(956), 1, + anon_sym_RPAREN, + ACTIONS(958), 1, + anon_sym_COMMA, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(887), 1, + aux_sym_expr_args_repeat1, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [14269] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(923), 1, + anon_sym_PIPE, + ACTIONS(925), 1, + anon_sym_DOT_DOT, + ACTIONS(927), 1, + anon_sym_EQ, + ACTIONS(929), 1, + anon_sym_BANG, + ACTIONS(931), 1, + anon_sym_orelse, + ACTIONS(933), 1, + anon_sym_andalso, + ACTIONS(941), 1, + anon_sym_GT, + STATE(118), 1, + sym__comp_op, + STATE(119), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(937), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(120), 2, + sym__mult_op, + sym__add_op, + ACTIONS(746), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_DASH_GT, + ACTIONS(917), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(939), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(935), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [14346] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(960), 1, + anon_sym_end, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(787), 1, + aux_sym_clause_body_repeat1, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [14427] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(952), 1, + anon_sym_COMMA, + ACTIONS(962), 1, + anon_sym_RBRACE, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(767), 1, + aux_sym_tuple_repeat1, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [14508] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(958), 1, + anon_sym_COMMA, + ACTIONS(964), 1, + anon_sym_RPAREN, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(779), 1, + aux_sym_expr_args_repeat1, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [14589] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(966), 3, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_GT_GT, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [14666] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(968), 3, + anon_sym_COMMA, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [14743] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(929), 1, + anon_sym_BANG, + ACTIONS(931), 1, + anon_sym_orelse, + ACTIONS(933), 1, + anon_sym_andalso, + ACTIONS(941), 1, + anon_sym_GT, + STATE(118), 1, + sym__comp_op, + STATE(119), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(937), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(120), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 6, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(939), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 14, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [14812] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(927), 1, + anon_sym_EQ, + ACTIONS(929), 1, + anon_sym_BANG, + ACTIONS(931), 1, + anon_sym_orelse, + ACTIONS(933), 1, + anon_sym_andalso, + ACTIONS(941), 1, + anon_sym_GT, + STATE(118), 1, + sym__comp_op, + STATE(119), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(937), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(120), 2, + sym__mult_op, + sym__add_op, + ACTIONS(716), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(939), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(718), 14, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [14883] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + STATE(118), 1, + sym__comp_op, + STATE(119), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + STATE(120), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 7, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_GT, + ACTIONS(676), 26, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [14940] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + STATE(82), 1, + sym__map_field_op, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(970), 2, + anon_sym_EQ_GT, + anon_sym_COLON_EQ, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [15019] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(876), 1, + anon_sym_PIPE, + ACTIONS(878), 1, + anon_sym_DOT_DOT, + ACTIONS(880), 1, + anon_sym_EQ, + ACTIONS(882), 1, + anon_sym_BANG, + ACTIONS(884), 1, + anon_sym_orelse, + ACTIONS(886), 1, + anon_sym_andalso, + ACTIONS(894), 1, + anon_sym_GT, + ACTIONS(974), 1, + anon_sym_when, + STATE(116), 1, + sym__list_op, + STATE(117), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(890), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(972), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + STATE(115), 2, + sym__mult_op, + sym__add_op, + ACTIONS(868), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(892), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(888), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [15098] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(923), 1, + anon_sym_PIPE, + ACTIONS(925), 1, + anon_sym_DOT_DOT, + ACTIONS(927), 1, + anon_sym_EQ, + ACTIONS(929), 1, + anon_sym_BANG, + ACTIONS(931), 1, + anon_sym_orelse, + ACTIONS(933), 1, + anon_sym_andalso, + ACTIONS(941), 1, + anon_sym_GT, + STATE(118), 1, + sym__comp_op, + STATE(119), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(937), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(120), 2, + sym__mult_op, + sym__add_op, + ACTIONS(708), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_DASH_GT, + ACTIONS(917), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(939), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(935), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [15175] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(923), 1, + anon_sym_PIPE, + ACTIONS(925), 1, + anon_sym_DOT_DOT, + ACTIONS(927), 1, + anon_sym_EQ, + ACTIONS(929), 1, + anon_sym_BANG, + ACTIONS(931), 1, + anon_sym_orelse, + ACTIONS(933), 1, + anon_sym_andalso, + ACTIONS(941), 1, + anon_sym_GT, + STATE(118), 1, + sym__comp_op, + STATE(119), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(937), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(120), 2, + sym__mult_op, + sym__add_op, + ACTIONS(704), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_DASH_GT, + ACTIONS(917), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(939), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(935), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [15252] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_DOT_DOT, + ACTIONS(767), 1, + anon_sym_EQ, + ACTIONS(769), 1, + anon_sym_BANG, + ACTIONS(771), 1, + anon_sym_orelse, + ACTIONS(773), 1, + anon_sym_andalso, + ACTIONS(781), 1, + anon_sym_GT, + STATE(76), 1, + sym__comp_op, + STATE(77), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(777), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(78), 2, + sym__mult_op, + sym__add_op, + ACTIONS(712), 3, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + ACTIONS(750), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(779), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(775), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [15329] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(931), 1, + anon_sym_orelse, + ACTIONS(933), 1, + anon_sym_andalso, + ACTIONS(941), 1, + anon_sym_GT, + STATE(118), 1, + sym__comp_op, + STATE(119), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(937), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(120), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 6, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(939), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 15, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [15396] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(976), 1, + anon_sym_end, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(859), 1, + aux_sym_clause_body_repeat1, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [15477] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(978), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [15554] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(952), 1, + anon_sym_COMMA, + ACTIONS(980), 1, + anon_sym_RBRACE, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(856), 1, + aux_sym_tuple_repeat1, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [15635] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(923), 1, + anon_sym_PIPE, + ACTIONS(925), 1, + anon_sym_DOT_DOT, + ACTIONS(927), 1, + anon_sym_EQ, + ACTIONS(929), 1, + anon_sym_BANG, + ACTIONS(931), 1, + anon_sym_orelse, + ACTIONS(933), 1, + anon_sym_andalso, + ACTIONS(941), 1, + anon_sym_GT, + STATE(118), 1, + sym__comp_op, + STATE(119), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(937), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(120), 2, + sym__mult_op, + sym__add_op, + ACTIONS(688), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_DASH_GT, + ACTIONS(917), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(939), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(935), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [15712] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(933), 1, + anon_sym_andalso, + ACTIONS(941), 1, + anon_sym_GT, + STATE(118), 1, + sym__comp_op, + STATE(119), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(937), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(120), 2, + sym__mult_op, + sym__add_op, + ACTIONS(672), 6, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(939), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(676), 16, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_DASH_GT, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [15777] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(958), 1, + anon_sym_COMMA, + ACTIONS(982), 1, + anon_sym_RPAREN, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + STATE(779), 1, + aux_sym_expr_args_repeat1, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [15858] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(984), 3, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_GT_GT, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [15935] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(986), 1, + ts_builtin_sym_end, + ACTIONS(991), 1, + anon_sym_DASH, + ACTIONS(994), 1, + anon_sym_QMARK, + STATE(157), 1, + sym_attr_name, + STATE(489), 1, + sym_macro_call_none, + STATE(566), 1, + sym__function_or_macro_clause, + STATE(901), 1, + sym__name, + ACTIONS(988), 2, + sym_var, + sym_atom, + STATE(383), 2, + sym__form, + aux_sym_source_file_repeat1, + STATE(620), 2, + sym_function_clause, + sym_macro_call_expr, + STATE(639), 10, + sym_pp_include, + sym_pp_include_lib, + sym_pp_undef, + sym_pp_ifdef, + sym_pp_ifndef, + sym_pp_else, + sym_pp_endif, + sym_pp_if, + sym_pp_elif, + sym_pp_define, + STATE(642), 16, + sym__preprocessor_directive, + sym_module_attribute, + sym_behaviour_attribute, + sym_export_attribute, + sym_import_attribute, + sym_optional_callbacks_attribute, + sym_export_type_attribute, + sym_compile_options_attribute, + sym_file_attribute, + sym_type_alias, + sym_opaque, + sym_record_decl, + sym_spec, + sym_callback, + sym_wild_attribute, + sym_fun_decl, + [16002] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(943), 2, + anon_sym_DASH_GT, + anon_sym_when, + ACTIONS(615), 7, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_GT, + ACTIONS(617), 29, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_STAR, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [16050] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(335), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(337), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [16096] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(997), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [16172] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + anon_sym_begin, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LBRACE, + ACTIONS(39), 1, + anon_sym_case, + ACTIONS(41), 1, + anon_sym_receive, + ACTIONS(43), 1, + anon_sym_try, + ACTIONS(57), 1, + anon_sym_LPAREN, + ACTIONS(63), 1, + anon_sym_QMARK, + ACTIONS(157), 1, + anon_sym_fun, + STATE(241), 1, + sym__expr_max, + STATE(595), 1, + sym__concatable, + ACTIONS(51), 2, + sym_integer, + sym_atom, + ACTIONS(53), 2, + sym_float, + sym_char, + ACTIONS(55), 2, + sym_var, + sym_string, + STATE(233), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(232), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [16250] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + anon_sym_begin, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LBRACE, + ACTIONS(39), 1, + anon_sym_case, + ACTIONS(41), 1, + anon_sym_receive, + ACTIONS(43), 1, + anon_sym_try, + ACTIONS(57), 1, + anon_sym_LPAREN, + ACTIONS(63), 1, + anon_sym_QMARK, + ACTIONS(97), 1, + anon_sym_fun, + STATE(241), 1, + sym__expr_max, + STATE(595), 1, + sym__concatable, + ACTIONS(51), 2, + sym_integer, + sym_atom, + ACTIONS(53), 2, + sym_float, + sym_char, + ACTIONS(55), 2, + sym_var, + sym_string, + STATE(233), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(232), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [16328] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(759), 1, + anon_sym_DASH_GT, + ACTIONS(923), 1, + anon_sym_PIPE, + ACTIONS(925), 1, + anon_sym_DOT_DOT, + ACTIONS(927), 1, + anon_sym_EQ, + ACTIONS(929), 1, + anon_sym_BANG, + ACTIONS(931), 1, + anon_sym_orelse, + ACTIONS(933), 1, + anon_sym_andalso, + ACTIONS(941), 1, + anon_sym_GT, + STATE(118), 1, + sym__comp_op, + STATE(119), 1, + sym__list_op, + STATE(245), 1, + sym_expr_args, + STATE(968), 1, + sym_clause_body, + ACTIONS(937), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(120), 2, + sym__mult_op, + sym__add_op, + ACTIONS(917), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(939), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(935), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [16406] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(25), 1, + anon_sym_fun, + ACTIONS(31), 1, + anon_sym_begin, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LBRACE, + ACTIONS(39), 1, + anon_sym_case, + ACTIONS(41), 1, + anon_sym_receive, + ACTIONS(43), 1, + anon_sym_try, + ACTIONS(57), 1, + anon_sym_LPAREN, + ACTIONS(63), 1, + anon_sym_QMARK, + STATE(241), 1, + sym__expr_max, + STATE(595), 1, + sym__concatable, + ACTIONS(51), 2, + sym_integer, + sym_atom, + ACTIONS(53), 2, + sym_float, + sym_char, + ACTIONS(55), 2, + sym_var, + sym_string, + STATE(233), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(232), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [16484] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(999), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [16560] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + anon_sym_begin, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LBRACE, + ACTIONS(39), 1, + anon_sym_case, + ACTIONS(41), 1, + anon_sym_receive, + ACTIONS(43), 1, + anon_sym_try, + ACTIONS(57), 1, + anon_sym_LPAREN, + ACTIONS(726), 1, + anon_sym_fun, + ACTIONS(730), 1, + anon_sym_QMARK, + STATE(599), 1, + sym__concatable, + STATE(728), 1, + sym__expr_max, + ACTIONS(51), 2, + sym_integer, + sym_atom, + ACTIONS(53), 2, + sym_float, + sym_char, + ACTIONS(55), 2, + sym_var, + sym_string, + STATE(233), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(232), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [16638] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + anon_sym_begin, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LBRACE, + ACTIONS(39), 1, + anon_sym_case, + ACTIONS(41), 1, + anon_sym_receive, + ACTIONS(43), 1, + anon_sym_try, + ACTIONS(57), 1, + anon_sym_LPAREN, + ACTIONS(63), 1, + anon_sym_QMARK, + ACTIONS(75), 1, + anon_sym_fun, + STATE(241), 1, + sym__expr_max, + STATE(595), 1, + sym__concatable, + ACTIONS(51), 2, + sym_integer, + sym_atom, + ACTIONS(53), 2, + sym_float, + sym_char, + ACTIONS(55), 2, + sym_var, + sym_string, + STATE(233), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(232), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [16716] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(303), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(305), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [16762] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(463), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(465), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [16808] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(451), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(453), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [16854] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(447), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(449), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [16900] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(435), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(437), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [16946] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(419), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(421), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [16992] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(319), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(321), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [17038] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(355), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(357), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [17084] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(411), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(413), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [17130] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(367), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(369), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [17176] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(387), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(389), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [17222] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(379), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(381), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [17268] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(1001), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [17344] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(423), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(425), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [17390] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(1003), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [17466] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(371), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(373), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [17512] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(571), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(573), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [17558] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(603), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(605), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [17604] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(645), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(647), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [17650] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(637), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(639), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [17696] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(427), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(429), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [17742] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(333), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [17788] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(575), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(577), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [17834] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(339), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(341), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [17880] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + anon_sym_begin, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LBRACE, + ACTIONS(39), 1, + anon_sym_case, + ACTIONS(41), 1, + anon_sym_receive, + ACTIONS(43), 1, + anon_sym_try, + ACTIONS(57), 1, + anon_sym_LPAREN, + ACTIONS(726), 1, + anon_sym_fun, + ACTIONS(730), 1, + anon_sym_QMARK, + STATE(599), 1, + sym__concatable, + STATE(733), 1, + sym__expr_max, + ACTIONS(51), 2, + sym_integer, + sym_atom, + ACTIONS(53), 2, + sym_float, + sym_char, + ACTIONS(55), 2, + sym_var, + sym_string, + STATE(233), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(232), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [17958] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(327), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(329), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18004] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(563), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(565), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18050] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(315), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(317), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18096] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(589), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(591), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18142] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(835), 1, + anon_sym_LPAREN, + ACTIONS(623), 7, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_GT, + ACTIONS(625), 30, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_STAR, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18190] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + ACTIONS(1005), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [18266] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(375), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(377), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18312] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(391), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(393), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18358] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(623), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(625), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18404] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(113), 1, + anon_sym_LPAREN, + ACTIONS(115), 1, + anon_sym_if, + ACTIONS(117), 1, + anon_sym_LBRACK, + ACTIONS(119), 1, + anon_sym_fun, + ACTIONS(125), 1, + anon_sym_begin, + ACTIONS(127), 1, + anon_sym_LT_LT, + ACTIONS(129), 1, + anon_sym_LBRACE, + ACTIONS(133), 1, + anon_sym_case, + ACTIONS(135), 1, + anon_sym_receive, + ACTIONS(137), 1, + anon_sym_try, + ACTIONS(139), 1, + anon_sym_QMARK, + STATE(480), 1, + sym__expr_max, + STATE(597), 1, + sym__concatable, + ACTIONS(109), 2, + sym_integer, + sym_atom, + ACTIONS(145), 2, + sym_float, + sym_char, + ACTIONS(147), 2, + sym_var, + sym_string, + STATE(310), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(427), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [18482] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(651), 1, + anon_sym_POUND, + ACTIONS(1007), 1, + anon_sym_COLON, + ACTIONS(579), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(581), 28, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18532] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(21), 1, + anon_sym_if, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(31), 1, + anon_sym_begin, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LBRACE, + ACTIONS(39), 1, + anon_sym_case, + ACTIONS(41), 1, + anon_sym_receive, + ACTIONS(43), 1, + anon_sym_try, + ACTIONS(57), 1, + anon_sym_LPAREN, + ACTIONS(63), 1, + anon_sym_QMARK, + ACTIONS(97), 1, + anon_sym_fun, + STATE(241), 1, + sym__expr_max, + STATE(595), 1, + sym__concatable, + ACTIONS(51), 2, + sym_integer, + sym_atom, + ACTIONS(53), 2, + sym_float, + sym_char, + ACTIONS(205), 2, + sym_var, + sym_string, + STATE(346), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + STATE(232), 16, + sym_fun_type, + sym_paren_expr, + sym_block_expr, + sym_list, + sym_binary, + sym_list_comprehension, + sym_binary_comprehension, + sym_tuple, + sym_if_expr, + sym_case_expr, + sym_receive_expr, + sym_internal_fun, + sym_external_fun, + sym_anonymous_fun, + sym_try_expr, + sym_concatables, + [18610] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(629), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(631), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18656] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(431), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(433), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18702] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(459), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(461), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18748] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(443), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(445), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18794] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(399), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(401), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18840] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(343), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(345), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18886] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(323), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(325), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18932] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(383), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(385), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [18978] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(363), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(365), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19024] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(403), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(405), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19070] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(347), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(349), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19116] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(359), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(361), 30, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19162] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(619), 1, + anon_sym_when, + ACTIONS(943), 1, + anon_sym_DASH_GT, + ACTIONS(615), 7, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_GT, + ACTIONS(617), 28, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_STAR, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19211] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(611), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(613), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19256] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(641), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(643), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19301] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(1009), 1, + anon_sym_DOT, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [19376] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(455), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(457), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19421] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(585), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(587), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19466] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(1011), 1, + anon_sym_DOT, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [19541] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(607), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(609), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19586] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(1013), 1, + anon_sym_RPAREN, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [19661] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(415), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(417), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19706] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(583), 1, + anon_sym_POUND, + ACTIONS(579), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(581), 28, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19753] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(601), 1, + anon_sym_POUND, + ACTIONS(579), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(581), 28, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19800] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(439), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(441), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19845] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(307), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(309), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19890] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(633), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(635), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19935] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(311), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(313), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [19980] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(351), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(353), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [20025] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(395), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(397), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [20070] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(1015), 1, + anon_sym_DOT, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [20145] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(1017), 1, + anon_sym_of, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [20220] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(567), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(569), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [20265] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(1019), 1, + anon_sym_RPAREN, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [20340] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(1021), 1, + anon_sym_of, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [20415] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(1023), 1, + anon_sym_RPAREN, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [20490] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(1025), 1, + anon_sym_of, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [20565] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(1027), 1, + anon_sym_RPAREN, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [20640] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(1029), 1, + anon_sym_RPAREN, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [20715] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(597), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(599), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [20760] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(407), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(409), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [20805] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(1031), 1, + anon_sym_RPAREN, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [20880] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(291), 13, + anon_sym_DOT, + anon_sym_if, + anon_sym_COLON, + anon_sym_fun, + anon_sym_catch, + anon_sym_begin, + anon_sym_case, + anon_sym_receive, + anon_sym_try, + anon_sym_bnot, + anon_sym_not, + sym_integer, + sym_atom, + ACTIONS(293), 24, + anon_sym_DASH, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON_COLON, + anon_sym_SEMI, + sym_dotdotdot, + anon_sym_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SLASH, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_PLUS, + sym_var, + sym_float, + sym_string, + sym_char, + [20925] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(593), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(595), 29, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [20970] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(678), 1, + anon_sym_andalso, + ACTIONS(684), 1, + anon_sym_GT, + ACTIONS(694), 1, + anon_sym_DOT_DOT, + ACTIONS(696), 1, + anon_sym_EQ, + ACTIONS(698), 1, + anon_sym_BANG, + ACTIONS(700), 1, + anon_sym_orelse, + ACTIONS(748), 1, + anon_sym_PIPE, + ACTIONS(1033), 1, + anon_sym_DOT, + STATE(145), 1, + sym__list_op, + STATE(146), 1, + sym__comp_op, + STATE(245), 1, + sym_expr_args, + ACTIONS(680), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(144), 2, + sym__mult_op, + sym__add_op, + ACTIONS(686), 5, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + ACTIONS(682), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(702), 9, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + [21045] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(670), 1, + anon_sym_DASH_GT, + ACTIONS(563), 7, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_GT, + ACTIONS(565), 28, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_STAR, + anon_sym_POUND, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [21091] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(660), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(662), 28, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [21135] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(664), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(666), 28, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [21179] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1035), 1, + anon_sym_QMARK, + ACTIONS(1038), 2, + sym_var, + sym_string, + STATE(479), 2, + sym__concatable, + aux_sym_concatables_repeat1, + STATE(502), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + ACTIONS(259), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(261), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [21231] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(656), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(658), 28, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [21275] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(654), 1, + anon_sym_QMARK, + ACTIONS(1041), 2, + sym_var, + sym_string, + STATE(479), 2, + sym__concatable, + aux_sym_concatables_repeat1, + STATE(502), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + ACTIONS(253), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(255), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [21327] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(668), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(670), 28, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [21371] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(579), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(581), 28, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [21415] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(621), 8, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_and, + anon_sym_or, + anon_sym_LT, + anon_sym_GT, + ACTIONS(619), 28, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_PIPE, + anon_sym_DOT_DOT, + anon_sym_BANG, + anon_sym_orelse, + anon_sym_andalso, + anon_sym_GT_GT, + anon_sym_STAR, + anon_sym_LT_DASH, + anon_sym_LT_EQ, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [21459] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(759), 1, + anon_sym_DASH_GT, + ACTIONS(761), 1, + anon_sym_when, + ACTIONS(1045), 1, + anon_sym_COLON, + ACTIONS(1047), 1, + anon_sym_EQ, + ACTIONS(1055), 1, + anon_sym_GT, + STATE(240), 1, + sym__list_op, + STATE(244), 1, + sym__comp_op, + STATE(726), 1, + sym_try_stack, + STATE(791), 1, + sym_clause_body, + STATE(906), 1, + sym__clause_guard, + ACTIONS(1051), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(247), 2, + sym__mult_op, + sym__add_op, + ACTIONS(1043), 3, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + ACTIONS(1053), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(1049), 11, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + [21528] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1057), 1, + anon_sym_LPAREN, + STATE(497), 1, + sym_macro_call_args, + ACTIONS(269), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(273), 26, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [21573] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(613), 1, + anon_sym_COLON, + ACTIONS(1057), 1, + anon_sym_LPAREN, + STATE(497), 1, + sym_macro_call_args, + ACTIONS(269), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(273), 25, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [21620] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(759), 1, + anon_sym_DASH_GT, + ACTIONS(761), 1, + anon_sym_when, + ACTIONS(1047), 1, + anon_sym_EQ, + ACTIONS(1055), 1, + anon_sym_GT, + STATE(240), 1, + sym__list_op, + STATE(244), 1, + sym__comp_op, + STATE(792), 1, + sym_clause_body, + STATE(909), 1, + sym__clause_guard, + ACTIONS(1051), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(247), 2, + sym__mult_op, + sym__add_op, + ACTIONS(1043), 3, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + ACTIONS(1053), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(1049), 11, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + [21683] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(633), 13, + anon_sym_DOT, + anon_sym_if, + anon_sym_COLON, + anon_sym_fun, + anon_sym_catch, + anon_sym_begin, + anon_sym_case, + anon_sym_receive, + anon_sym_try, + anon_sym_bnot, + anon_sym_not, + sym_integer, + sym_atom, + ACTIONS(635), 20, + anon_sym_DASH, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_COLON_COLON, + sym_dotdotdot, + anon_sym_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SLASH, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_PLUS, + sym_var, + sym_float, + sym_string, + sym_char, + [21724] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(611), 13, + anon_sym_DOT, + anon_sym_if, + anon_sym_COLON, + anon_sym_fun, + anon_sym_catch, + anon_sym_begin, + anon_sym_case, + anon_sym_receive, + anon_sym_try, + anon_sym_bnot, + anon_sym_not, + sym_integer, + sym_atom, + ACTIONS(613), 20, + anon_sym_DASH, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_COLON_COLON, + sym_dotdotdot, + anon_sym_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SLASH, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_PLUS, + sym_var, + sym_float, + sym_string, + sym_char, + [21765] = 6, + ACTIONS(3), 1, + sym_comment, + STATE(240), 1, + sym__list_op, + STATE(244), 1, + sym__comp_op, + STATE(247), 2, + sym__mult_op, + sym__add_op, + ACTIONS(1059), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(1061), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [21811] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(291), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(293), 27, + anon_sym_LPAREN, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [21851] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1055), 1, + anon_sym_GT, + STATE(240), 1, + sym__list_op, + STATE(244), 1, + sym__comp_op, + ACTIONS(1051), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(247), 2, + sym__mult_op, + sym__add_op, + ACTIONS(1059), 4, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + ACTIONS(1053), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(1061), 14, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + [21903] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1047), 1, + anon_sym_EQ, + ACTIONS(1055), 1, + anon_sym_GT, + STATE(240), 1, + sym__list_op, + STATE(244), 1, + sym__comp_op, + ACTIONS(1051), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(247), 2, + sym__mult_op, + sym__add_op, + ACTIONS(1059), 3, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + ACTIONS(1053), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(1061), 14, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + [21957] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1047), 1, + anon_sym_EQ, + ACTIONS(1055), 1, + anon_sym_GT, + STATE(240), 1, + sym__list_op, + STATE(244), 1, + sym__comp_op, + ACTIONS(1051), 2, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + STATE(247), 2, + sym__mult_op, + sym__add_op, + ACTIONS(1063), 3, + anon_sym_DASH, + anon_sym_SLASH, + anon_sym_PLUS, + ACTIONS(1053), 7, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + ACTIONS(1065), 14, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + [22011] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(299), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(301), 26, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [22050] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(275), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(277), 26, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [22089] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(283), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(285), 26, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [22128] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(289), 3, + anon_sym_QMARK, + sym_var, + sym_string, + ACTIONS(623), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(625), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22169] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(279), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(281), 26, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [22208] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(295), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(297), 26, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [22247] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(287), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(289), 26, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_QMARK, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + sym_var, + sym_string, + [22286] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(635), 1, + anon_sym_COLON, + ACTIONS(289), 3, + anon_sym_QMARK, + sym_var, + sym_string, + ACTIONS(623), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(625), 22, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22329] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(363), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(365), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22365] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(633), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(635), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22401] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(603), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(605), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22437] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(645), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(647), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22473] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(571), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(573), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22509] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(637), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(639), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22545] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1067), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(1069), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22581] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(423), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(425), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22617] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(333), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22653] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(943), 2, + anon_sym_DASH_GT, + anon_sym_when, + ACTIONS(615), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(617), 21, + anon_sym_COLON, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22691] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(427), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(429), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22727] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(611), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(613), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22763] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(575), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(577), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22799] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(563), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(565), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22835] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(629), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(631), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22871] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(431), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(433), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22907] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(383), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(385), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22943] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(359), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(361), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [22979] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(593), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(595), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23015] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(407), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(409), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23051] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(367), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(369), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23087] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(323), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(325), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23123] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(343), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(345), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23159] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(399), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(401), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23195] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(355), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(357), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23231] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(319), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(321), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23267] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(585), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(587), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23303] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(415), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(417), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23339] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(391), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(393), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23375] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(351), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(353), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23411] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(375), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(377), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23447] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(311), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(313), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23483] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(589), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(591), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23519] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(315), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(317), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23555] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(395), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(397), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23591] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(439), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(441), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23627] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(327), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(329), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23663] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(335), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(337), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23699] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(597), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(599), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23735] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(635), 1, + anon_sym_COLON, + ACTIONS(623), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(625), 22, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23773] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(347), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(349), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23809] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(339), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(341), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23845] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(403), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(405), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23881] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(443), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(445), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23917] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(459), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(461), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23953] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(303), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(305), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [23989] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(463), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(465), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [24025] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(451), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(453), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [24061] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(447), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(449), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [24097] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(435), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(437), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [24133] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(623), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(625), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [24169] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(419), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(421), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [24205] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(411), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(413), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [24241] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(371), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(373), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [24277] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(387), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(389), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [24313] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(379), 5, + anon_sym_DASH, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT, + ACTIONS(381), 23, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_when, + anon_sym_STAR, + anon_sym_div, + anon_sym_rem, + anon_sym_band, + anon_sym_and, + anon_sym_bor, + anon_sym_bxor, + anon_sym_bsl, + anon_sym_bsr, + anon_sym_or, + anon_sym_xor, + anon_sym_PLUS_PLUS, + anon_sym_DASH_DASH, + anon_sym_EQ_EQ, + anon_sym_SLASH_EQ, + anon_sym_EQ_LT, + anon_sym_LT, + anon_sym_GT_EQ, + anon_sym_EQ_COLON_EQ, + anon_sym_EQ_SLASH_EQ, + [24349] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1071), 11, + anon_sym_if, + anon_sym_fun, + anon_sym_catch, + anon_sym_begin, + anon_sym_case, + anon_sym_receive, + anon_sym_try, + anon_sym_bnot, + anon_sym_not, + sym_integer, + sym_atom, + ACTIONS(1073), 13, + anon_sym_DASH, + anon_sym_LPAREN, + anon_sym_LBRACK, + sym_dotdotdot, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_PLUS, + sym_var, + sym_float, + sym_string, + sym_char, + [24381] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1075), 11, + anon_sym_if, + anon_sym_fun, + anon_sym_catch, + anon_sym_begin, + anon_sym_case, + anon_sym_receive, + anon_sym_try, + anon_sym_bnot, + anon_sym_not, + sym_integer, + sym_atom, + ACTIONS(1077), 13, + anon_sym_DASH, + anon_sym_LPAREN, + anon_sym_LBRACK, + sym_dotdotdot, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_PLUS, + sym_var, + sym_float, + sym_string, + sym_char, + [24413] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1079), 10, + anon_sym_if, + anon_sym_fun, + anon_sym_begin, + anon_sym_case, + anon_sym_receive, + anon_sym_try, + anon_sym_bnot, + anon_sym_not, + sym_integer, + sym_atom, + ACTIONS(1081), 12, + anon_sym_DASH, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_POUND, + anon_sym_QMARK, + anon_sym_PLUS, + sym_var, + sym_float, + sym_string, + sym_char, + [24443] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1083), 8, + anon_sym_if, + anon_sym_fun, + anon_sym_begin, + anon_sym_case, + anon_sym_receive, + anon_sym_try, + sym_integer, + sym_atom, + ACTIONS(1085), 9, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_QMARK, + sym_var, + sym_float, + sym_string, + sym_char, + [24468] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1087), 1, + anon_sym_QMARK, + ACTIONS(266), 2, + sym_var, + sym_string, + STATE(564), 2, + sym__concatable, + aux_sym_concatables_repeat1, + STATE(171), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + ACTIONS(261), 6, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_GT_GT, + anon_sym_SLASH, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + [24496] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(730), 1, + anon_sym_QMARK, + ACTIONS(257), 2, + sym_var, + sym_string, + STATE(564), 2, + sym__concatable, + aux_sym_concatables_repeat1, + STATE(171), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + ACTIONS(255), 6, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_GT_GT, + anon_sym_SLASH, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + [24524] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + anon_sym_QMARK, + ACTIONS(1090), 1, + anon_sym_DOT, + ACTIONS(1092), 1, + anon_sym_SEMI, + STATE(489), 1, + sym_macro_call_none, + STATE(567), 1, + aux_sym_fun_decl_repeat1, + STATE(690), 1, + sym__function_or_macro_clause, + STATE(901), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + STATE(620), 2, + sym_function_clause, + sym_macro_call_expr, + [24557] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + anon_sym_QMARK, + ACTIONS(1092), 1, + anon_sym_SEMI, + ACTIONS(1094), 1, + anon_sym_DOT, + STATE(489), 1, + sym_macro_call_none, + STATE(568), 1, + aux_sym_fun_decl_repeat1, + STATE(690), 1, + sym__function_or_macro_clause, + STATE(901), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + STATE(620), 2, + sym_function_clause, + sym_macro_call_expr, + [24590] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1099), 1, + anon_sym_DOT, + ACTIONS(1101), 1, + anon_sym_SEMI, + ACTIONS(1104), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(568), 1, + aux_sym_fun_decl_repeat1, + STATE(690), 1, + sym__function_or_macro_clause, + STATE(901), 1, + sym__name, + ACTIONS(1096), 2, + sym_var, + sym_atom, + STATE(620), 2, + sym_function_clause, + sym_macro_call_expr, + [24623] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1110), 1, + anon_sym_COMMA, + ACTIONS(1113), 1, + anon_sym_RBRACK, + ACTIONS(1115), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(569), 1, + aux_sym_export_type_attribute_repeat1, + STATE(695), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(1107), 2, + sym_var, + sym_atom, + [24652] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1118), 1, + anon_sym_COMMA, + ACTIONS(1120), 1, + anon_sym_RBRACK, + STATE(489), 1, + sym_macro_call_none, + STATE(579), 1, + aux_sym_optional_callbacks_attribute_repeat1, + STATE(638), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [24681] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1122), 1, + anon_sym_COMMA, + ACTIONS(1124), 1, + anon_sym_RBRACK, + STATE(489), 1, + sym_macro_call_none, + STATE(569), 1, + aux_sym_export_type_attribute_repeat1, + STATE(695), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [24710] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1126), 1, + anon_sym_COMMA, + ACTIONS(1128), 1, + anon_sym_RBRACK, + STATE(489), 1, + sym_macro_call_none, + STATE(585), 1, + aux_sym_export_attribute_repeat1, + STATE(643), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [24739] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_atom, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1130), 1, + anon_sym_LPAREN, + ACTIONS(1132), 1, + sym_var, + STATE(489), 1, + sym_macro_call_none, + STATE(712), 1, + sym_module, + STATE(723), 1, + sym_expr_args, + STATE(800), 1, + sym__name, + STATE(805), 1, + sym_fun_clause, + [24770] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1134), 1, + anon_sym_LPAREN, + STATE(489), 1, + sym_macro_call_none, + STATE(715), 1, + sym_module, + STATE(797), 1, + sym__spec_fun, + STATE(915), 1, + sym__name, + STATE(1000), 1, + sym__spec_def, + ACTIONS(7), 2, + sym_var, + sym_atom, + [24799] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_atom, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1132), 1, + sym_var, + ACTIONS(1136), 1, + anon_sym_LPAREN, + STATE(489), 1, + sym_macro_call_none, + STATE(712), 1, + sym_module, + STATE(723), 1, + sym_expr_args, + STATE(800), 1, + sym__name, + STATE(805), 1, + sym_fun_clause, + [24830] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1126), 1, + anon_sym_COMMA, + ACTIONS(1138), 1, + anon_sym_RBRACK, + STATE(489), 1, + sym_macro_call_none, + STATE(572), 1, + aux_sym_export_attribute_repeat1, + STATE(643), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [24859] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_atom, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1132), 1, + sym_var, + ACTIONS(1140), 1, + anon_sym_LPAREN, + STATE(489), 1, + sym_macro_call_none, + STATE(703), 1, + sym_module, + STATE(723), 1, + sym_expr_args, + STATE(849), 1, + sym_fun_clause, + STATE(884), 1, + sym__name, + [24890] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1126), 1, + anon_sym_COMMA, + ACTIONS(1142), 1, + anon_sym_RBRACK, + STATE(489), 1, + sym_macro_call_none, + STATE(585), 1, + aux_sym_export_attribute_repeat1, + STATE(643), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [24919] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1147), 1, + anon_sym_COMMA, + ACTIONS(1150), 1, + anon_sym_RBRACK, + ACTIONS(1152), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(579), 1, + aux_sym_optional_callbacks_attribute_repeat1, + STATE(638), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(1144), 2, + sym_var, + sym_atom, + [24948] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_atom, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1132), 1, + sym_var, + ACTIONS(1155), 1, + anon_sym_LPAREN, + STATE(489), 1, + sym_macro_call_none, + STATE(712), 1, + sym_module, + STATE(723), 1, + sym_expr_args, + STATE(800), 1, + sym__name, + STATE(805), 1, + sym_fun_clause, + [24979] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_atom, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1132), 1, + sym_var, + ACTIONS(1157), 1, + anon_sym_LPAREN, + STATE(489), 1, + sym_macro_call_none, + STATE(669), 1, + sym_module, + STATE(723), 1, + sym_expr_args, + STATE(828), 1, + sym__name, + STATE(883), 1, + sym_fun_clause, + [25010] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_atom, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1132), 1, + sym_var, + ACTIONS(1159), 1, + anon_sym_LPAREN, + STATE(489), 1, + sym_macro_call_none, + STATE(712), 1, + sym_module, + STATE(723), 1, + sym_expr_args, + STATE(800), 1, + sym__name, + STATE(805), 1, + sym_fun_clause, + [25041] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1126), 1, + anon_sym_COMMA, + ACTIONS(1161), 1, + anon_sym_RBRACK, + STATE(489), 1, + sym_macro_call_none, + STATE(578), 1, + aux_sym_export_attribute_repeat1, + STATE(643), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25070] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1165), 1, + anon_sym_COMMA, + STATE(584), 1, + aux_sym_clause_body_repeat1, + ACTIONS(1163), 7, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_SEMI, + anon_sym_catch, + anon_sym_end, + anon_sym_of, + anon_sym_after, + [25089] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1171), 1, + anon_sym_COMMA, + ACTIONS(1174), 1, + anon_sym_RBRACK, + ACTIONS(1176), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(585), 1, + aux_sym_export_attribute_repeat1, + STATE(643), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(1168), 2, + sym_var, + sym_atom, + [25118] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_atom, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1132), 1, + sym_var, + ACTIONS(1159), 1, + anon_sym_LPAREN, + STATE(489), 1, + sym_macro_call_none, + STATE(660), 1, + sym_module, + STATE(723), 1, + sym_expr_args, + STATE(805), 1, + sym_fun_clause, + STATE(848), 1, + sym__name, + [25149] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1122), 1, + anon_sym_COMMA, + ACTIONS(1179), 1, + anon_sym_RBRACK, + STATE(489), 1, + sym_macro_call_none, + STATE(571), 1, + aux_sym_export_type_attribute_repeat1, + STATE(695), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25178] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1134), 1, + anon_sym_LPAREN, + STATE(489), 1, + sym_macro_call_none, + STATE(715), 1, + sym_module, + STATE(797), 1, + sym__spec_fun, + STATE(915), 1, + sym__name, + STATE(996), 1, + sym__spec_def, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25207] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1118), 1, + anon_sym_COMMA, + ACTIONS(1181), 1, + anon_sym_RBRACK, + STATE(489), 1, + sym_macro_call_none, + STATE(570), 1, + aux_sym_optional_callbacks_attribute_repeat1, + STATE(638), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25236] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_var, + ACTIONS(467), 1, + sym_atom, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1183), 1, + anon_sym_unit, + STATE(489), 1, + sym_macro_call_none, + STATE(785), 1, + sym__bit_type, + STATE(837), 2, + sym_bit_type_unit, + sym__name, + [25262] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1185), 1, + anon_sym_LPAREN, + STATE(168), 1, + sym_macro_call_args, + ACTIONS(273), 6, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_QMARK, + sym_var, + sym_atom, + [25280] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1188), 1, + anon_sym_LPAREN, + STATE(489), 1, + sym_macro_call_none, + STATE(911), 1, + sym__name, + STATE(1003), 1, + sym__type_def, + STATE(1006), 1, + sym_type_name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25306] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1188), 1, + anon_sym_LPAREN, + STATE(489), 1, + sym_macro_call_none, + STATE(911), 1, + sym__name, + STATE(1006), 1, + sym_type_name, + STATE(1008), 1, + sym__type_def, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25332] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(685), 1, + sym__function_or_macro_clause, + STATE(901), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + STATE(620), 2, + sym_function_clause, + sym_macro_call_expr, + [25356] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(63), 1, + anon_sym_QMARK, + ACTIONS(257), 2, + sym_var, + sym_string, + STATE(164), 2, + sym__concatable, + aux_sym_concatables_repeat1, + STATE(171), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + [25376] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_var, + ACTIONS(467), 1, + sym_atom, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1183), 1, + anon_sym_unit, + STATE(489), 1, + sym_macro_call_none, + STATE(731), 1, + sym__bit_type, + STATE(837), 2, + sym_bit_type_unit, + sym__name, + [25402] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(139), 1, + anon_sym_QMARK, + ACTIONS(738), 2, + sym_var, + sym_string, + STATE(268), 2, + sym__concatable, + aux_sym_concatables_repeat1, + STATE(307), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + [25422] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(910), 1, + sym__function_or_macro_clause, + STATE(926), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + STATE(620), 2, + sym_function_clause, + sym_macro_call_expr, + [25446] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(730), 1, + anon_sym_QMARK, + ACTIONS(257), 2, + sym_var, + sym_string, + STATE(565), 2, + sym__concatable, + aux_sym_concatables_repeat1, + STATE(171), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + [25466] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(654), 1, + anon_sym_QMARK, + ACTIONS(1041), 2, + sym_var, + sym_string, + STATE(481), 2, + sym__concatable, + aux_sym_concatables_repeat1, + STATE(502), 3, + sym__macro_body_expr, + sym_macro_call_expr, + sym_macro_string, + [25486] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1190), 1, + anon_sym_RBRACK, + STATE(489), 1, + sym_macro_call_none, + STATE(589), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25509] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1192), 1, + anon_sym_RBRACE, + STATE(489), 1, + sym_macro_call_none, + STATE(622), 1, + sym__name, + STATE(886), 1, + sym_record_field, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25532] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1194), 1, + anon_sym_RBRACE, + STATE(489), 1, + sym_macro_call_none, + STATE(622), 1, + sym__name, + STATE(851), 1, + sym_record_field, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25555] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(805), 1, + anon_sym_COMMA, + STATE(608), 1, + aux_sym_clause_body_repeat1, + ACTIONS(1196), 5, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_QMARK, + sym_var, + sym_atom, + [25572] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1198), 1, + anon_sym_RBRACK, + STATE(489), 1, + sym_macro_call_none, + STATE(576), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25595] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(791), 1, + anon_sym_after, + ACTIONS(797), 1, + anon_sym_catch, + ACTIONS(1200), 1, + anon_sym_of, + STATE(426), 1, + sym__try_catch, + STATE(584), 1, + aux_sym_clause_body_repeat1, + STATE(989), 1, + sym_try_after, + [25620] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(898), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1204), 1, + anon_sym_STAR, + STATE(1048), 1, + sym_lc_exprs, + ACTIONS(1202), 4, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_GT_GT, + anon_sym_SLASH, + [25639] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_COMMA, + STATE(608), 1, + aux_sym_clause_body_repeat1, + ACTIONS(1163), 5, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_QMARK, + sym_var, + sym_atom, + [25656] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1209), 1, + anon_sym_RBRACE, + STATE(489), 1, + sym_macro_call_none, + STATE(622), 1, + sym__name, + STATE(774), 1, + sym_record_field, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25679] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(785), 1, + anon_sym_COMMA, + STATE(584), 1, + aux_sym_clause_body_repeat1, + ACTIONS(1196), 5, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_catch, + anon_sym_end, + anon_sym_after, + [25696] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1211), 1, + anon_sym_RBRACK, + STATE(489), 1, + sym_macro_call_none, + STATE(583), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25719] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(715), 1, + sym_module, + STATE(844), 1, + sym__spec_fun, + STATE(915), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25742] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(791), 1, + anon_sym_after, + ACTIONS(793), 1, + anon_sym_catch, + ACTIONS(1213), 1, + anon_sym_of, + STATE(197), 1, + sym__try_catch, + STATE(584), 1, + aux_sym_clause_body_repeat1, + STATE(1052), 1, + sym_try_after, + [25767] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(898), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1204), 1, + anon_sym_STAR, + STATE(958), 1, + sym_lc_exprs, + ACTIONS(1202), 4, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_GT_GT, + anon_sym_SLASH, + [25786] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1215), 1, + anon_sym_RBRACK, + STATE(489), 1, + sym_macro_call_none, + STATE(587), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25809] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(898), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1204), 1, + anon_sym_STAR, + STATE(949), 1, + sym_lc_exprs, + ACTIONS(1202), 4, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_GT_GT, + anon_sym_SLASH, + [25828] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(787), 1, + anon_sym_catch, + ACTIONS(791), 1, + anon_sym_after, + ACTIONS(1217), 1, + anon_sym_of, + STATE(532), 1, + sym__try_catch, + STATE(584), 1, + aux_sym_clause_body_repeat1, + STATE(964), 1, + sym_try_after, + [25853] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(652), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25873] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1219), 1, + anon_sym_RPAREN, + ACTIONS(1221), 1, + anon_sym_QMARK, + ACTIONS(1223), 1, + sym_string, + STATE(885), 1, + sym_macro_call_expr, + STATE(624), 2, + sym__include_detail, + aux_sym_pp_include_repeat1, + [25893] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1225), 6, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_QMARK, + sym_var, + sym_atom, + [25905] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1227), 1, + anon_sym_LBRACE, + STATE(489), 1, + sym_macro_call_none, + STATE(938), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25925] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1231), 1, + anon_sym_COLON_COLON, + ACTIONS(1233), 1, + anon_sym_EQ, + STATE(753), 1, + sym_field_expr, + STATE(935), 1, + sym_field_type, + ACTIONS(1229), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [25945] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1235), 6, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_QMARK, + sym_var, + sym_atom, + [25957] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1237), 1, + anon_sym_RPAREN, + ACTIONS(1239), 1, + anon_sym_QMARK, + ACTIONS(1242), 1, + sym_string, + STATE(885), 1, + sym_macro_call_expr, + STATE(624), 2, + sym__include_detail, + aux_sym_pp_include_repeat1, + [25977] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1245), 1, + anon_sym_LBRACE, + STATE(489), 1, + sym_macro_call_none, + STATE(938), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [25997] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(911), 1, + sym__name, + STATE(1074), 1, + sym_type_name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [26017] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1249), 1, + anon_sym_COLON, + ACTIONS(1251), 1, + anon_sym_SLASH, + STATE(747), 1, + sym_bit_size_expr, + STATE(900), 1, + sym_bit_type_list, + ACTIONS(1247), 2, + anon_sym_COMMA, + anon_sym_GT_GT, + [26037] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(622), 1, + sym__name, + STATE(908), 1, + sym_record_field, + ACTIONS(7), 2, + sym_var, + sym_atom, + [26057] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(648), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [26077] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(656), 1, + sym_fa, + STATE(907), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [26097] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1253), 6, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_QMARK, + sym_var, + sym_atom, + [26109] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1257), 1, + anon_sym_SEMI, + STATE(632), 1, + aux_sym__cr_clauses_repeat1, + ACTIONS(1255), 4, + anon_sym_RPAREN, + anon_sym_catch, + anon_sym_end, + anon_sym_after, + [26125] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1221), 1, + anon_sym_QMARK, + ACTIONS(1223), 1, + sym_string, + ACTIONS(1260), 1, + anon_sym_RPAREN, + STATE(885), 1, + sym_macro_call_expr, + STATE(624), 2, + sym__include_detail, + aux_sym_pp_include_repeat1, + [26145] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + ACTIONS(1262), 1, + anon_sym_LBRACE, + STATE(489), 1, + sym_macro_call_none, + STATE(938), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [26165] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1264), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26176] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1266), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26187] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1270), 1, + anon_sym_QMARK, + STATE(505), 1, + sym_macro_call_none, + STATE(538), 1, + sym__name, + ACTIONS(1268), 2, + sym_var, + sym_atom, + [26204] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1272), 5, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + sym_var, + sym_atom, + [26215] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1274), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26226] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1276), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26237] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1278), 5, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + sym_var, + sym_atom, + [26248] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1280), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26259] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1282), 5, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + sym_var, + sym_atom, + [26270] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(938), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [26287] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1284), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26298] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1286), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26309] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1288), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26320] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1290), 5, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + sym_var, + sym_atom, + [26331] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1292), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26342] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1294), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26353] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1296), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26364] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1298), 5, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + sym_var, + sym_atom, + [26375] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(791), 1, + anon_sym_after, + ACTIONS(1300), 1, + anon_sym_SEMI, + ACTIONS(1302), 1, + anon_sym_end, + STATE(719), 1, + aux_sym__catch_clauses_repeat1, + STATE(1071), 1, + sym_try_after, + [26394] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1304), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26405] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(791), 1, + anon_sym_after, + ACTIONS(1300), 1, + anon_sym_SEMI, + ACTIONS(1306), 1, + anon_sym_end, + STATE(653), 1, + aux_sym__catch_clauses_repeat1, + STATE(1070), 1, + sym_try_after, + [26424] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1308), 5, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + sym_var, + sym_atom, + [26435] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1312), 1, + anon_sym_QMARK, + STATE(198), 1, + sym__name, + STATE(235), 1, + sym_macro_call_none, + ACTIONS(1310), 2, + sym_var, + sym_atom, + [26452] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1314), 1, + anon_sym_QMARK, + STATE(784), 1, + sym__arity_value, + STATE(879), 1, + sym_macro_call_expr, + ACTIONS(1316), 2, + sym_var, + sym_integer, + [26469] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1318), 1, + anon_sym_QMARK, + STATE(399), 1, + sym__arity_value, + STATE(414), 1, + sym_macro_call_expr, + ACTIONS(1320), 2, + sym_var, + sym_integer, + [26486] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(928), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [26503] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1322), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26514] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1221), 1, + anon_sym_QMARK, + STATE(204), 1, + sym__arity_value, + STATE(206), 1, + sym_macro_call_expr, + ACTIONS(1324), 2, + sym_var, + sym_integer, + [26531] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1326), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26542] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1328), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26553] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1330), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26564] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1332), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26575] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1336), 1, + anon_sym_COMMA, + STATE(667), 1, + aux_sym_type_guards_repeat1, + ACTIONS(1334), 3, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_SEMI, + [26590] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1339), 5, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_catch, + anon_sym_end, + anon_sym_after, + [26601] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(898), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [26618] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(791), 1, + anon_sym_after, + ACTIONS(1300), 1, + anon_sym_SEMI, + ACTIONS(1341), 1, + anon_sym_end, + STATE(706), 1, + aux_sym__catch_clauses_repeat1, + STATE(971), 1, + sym_try_after, + [26637] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1345), 1, + anon_sym_QMARK, + STATE(457), 1, + sym_macro_call_none, + STATE(460), 1, + sym__name, + ACTIONS(1343), 2, + sym_var, + sym_atom, + [26654] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1347), 1, + anon_sym_SEMI, + STATE(632), 1, + aux_sym__cr_clauses_repeat1, + ACTIONS(1349), 3, + anon_sym_catch, + anon_sym_end, + anon_sym_after, + [26669] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(791), 1, + anon_sym_after, + ACTIONS(1300), 1, + anon_sym_SEMI, + ACTIONS(1351), 1, + anon_sym_end, + STATE(711), 1, + aux_sym__catch_clauses_repeat1, + STATE(1014), 1, + sym_try_after, + [26688] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1353), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26699] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1355), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26710] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1359), 1, + anon_sym_COMMA, + STATE(667), 1, + aux_sym_type_guards_repeat1, + ACTIONS(1357), 3, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_SEMI, + [26725] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1361), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26736] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1359), 1, + anon_sym_COMMA, + STATE(676), 1, + aux_sym_type_guards_repeat1, + ACTIONS(1363), 3, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_SEMI, + [26751] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1365), 5, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_catch, + anon_sym_end, + anon_sym_after, + [26762] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1367), 5, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_catch, + anon_sym_end, + anon_sym_after, + [26773] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1369), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26784] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1371), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26795] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1373), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26806] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1375), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26817] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1377), 5, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_QMARK, + sym_var, + sym_atom, + [26828] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1379), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26839] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1381), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26850] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1383), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26861] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1385), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26872] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1387), 5, + anon_sym_DOT, + anon_sym_SEMI, + anon_sym_QMARK, + sym_var, + sym_atom, + [26883] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1221), 1, + anon_sym_QMARK, + ACTIONS(1223), 1, + sym_string, + STATE(885), 1, + sym_macro_call_expr, + STATE(633), 2, + sym__include_detail, + aux_sym_pp_include_repeat1, + [26900] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1221), 1, + anon_sym_QMARK, + ACTIONS(1223), 1, + sym_string, + STATE(885), 1, + sym_macro_call_expr, + STATE(619), 2, + sym__include_detail, + aux_sym_pp_include_repeat1, + [26917] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1204), 1, + anon_sym_STAR, + ACTIONS(1202), 4, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_GT_GT, + anon_sym_SLASH, + [26930] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1389), 1, + anon_sym_LPAREN, + STATE(817), 1, + sym_macro_call_args, + ACTIONS(273), 3, + anon_sym_DASH, + anon_sym_COMMA, + anon_sym_GT_GT, + [26945] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1391), 5, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + sym_var, + sym_atom, + [26956] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1393), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26967] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1395), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [26978] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(831), 5, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_catch, + anon_sym_end, + anon_sym_after, + [26989] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1397), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [27000] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(995), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [27017] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1347), 1, + anon_sym_SEMI, + STATE(672), 1, + aux_sym__cr_clauses_repeat1, + ACTIONS(1399), 3, + anon_sym_catch, + anon_sym_end, + anon_sym_after, + [27032] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(994), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [27049] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(933), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [27066] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1401), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [27077] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1403), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [27088] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(791), 1, + anon_sym_after, + ACTIONS(1300), 1, + anon_sym_SEMI, + ACTIONS(1405), 1, + anon_sym_end, + STATE(719), 1, + aux_sym__catch_clauses_repeat1, + STATE(974), 1, + sym_try_after, + [27107] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1407), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [27118] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(948), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [27135] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1409), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [27146] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1411), 1, + anon_sym_QMARK, + STATE(204), 1, + sym__arity_value, + STATE(206), 1, + sym_macro_call_expr, + ACTIONS(1324), 2, + sym_var, + sym_integer, + [27163] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(791), 1, + anon_sym_after, + ACTIONS(1300), 1, + anon_sym_SEMI, + ACTIONS(1413), 1, + anon_sym_end, + STATE(719), 1, + aux_sym__catch_clauses_repeat1, + STATE(1022), 1, + sym_try_after, + [27182] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(919), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [27199] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1415), 1, + anon_sym_QMARK, + STATE(514), 1, + sym_macro_call_expr, + STATE(555), 1, + sym__arity_value, + ACTIONS(1417), 2, + sym_var, + sym_integer, + [27216] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1419), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [27227] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(975), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [27244] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1421), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [27255] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + anon_sym_QMARK, + STATE(489), 1, + sym_macro_call_none, + STATE(846), 1, + sym__name, + ACTIONS(7), 2, + sym_var, + sym_atom, + [27272] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1423), 5, + ts_builtin_sym_end, + anon_sym_DASH, + anon_sym_QMARK, + sym_var, + sym_atom, + [27283] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1425), 1, + anon_sym_SEMI, + STATE(719), 1, + aux_sym__catch_clauses_repeat1, + ACTIONS(1428), 2, + anon_sym_end, + anon_sym_after, + [27297] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1430), 1, + anon_sym_COMMA, + STATE(758), 1, + aux_sym_lc_exprs_repeat1, + ACTIONS(1432), 2, + anon_sym_RBRACK, + anon_sym_GT_GT, + [27311] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1434), 1, + anon_sym_RPAREN, + ACTIONS(1436), 1, + anon_sym_COMMA, + ACTIONS(1438), 1, + sym_var, + STATE(746), 1, + aux_sym_var_args_repeat1, + [27327] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + STATE(732), 1, + sym_expr_args, + ACTIONS(635), 2, + anon_sym_COLON, + anon_sym_SLASH, + [27341] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(759), 1, + anon_sym_DASH_GT, + ACTIONS(761), 1, + anon_sym_when, + STATE(902), 1, + sym_clause_body, + STATE(905), 1, + sym__clause_guard, + [27357] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1440), 1, + anon_sym_COMMA, + STATE(724), 1, + aux_sym_clause_body_repeat1, + ACTIONS(1163), 2, + anon_sym_SEMI, + anon_sym_DASH_GT, + [27371] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1443), 1, + anon_sym_DASH, + STATE(725), 1, + aux_sym_bit_type_list_repeat1, + ACTIONS(1446), 2, + anon_sym_COMMA, + anon_sym_GT_GT, + [27385] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(759), 1, + anon_sym_DASH_GT, + ACTIONS(761), 1, + anon_sym_when, + STATE(813), 1, + sym_clause_body, + STATE(927), 1, + sym__clause_guard, + [27401] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1202), 4, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_GT_GT, + anon_sym_SLASH, + [27411] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1448), 4, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_GT_GT, + anon_sym_SLASH, + [27421] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(892), 1, + sym__macro_name, + STATE(997), 1, + sym_macro_lhs, + ACTIONS(1450), 2, + sym_var, + sym_atom, + [27435] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + ACTIONS(1452), 1, + sym_var, + STATE(723), 1, + sym_expr_args, + STATE(925), 1, + sym_fun_clause, + [27451] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1454), 1, + anon_sym_DASH, + STATE(742), 1, + aux_sym_bit_type_list_repeat1, + ACTIONS(1456), 2, + anon_sym_COMMA, + anon_sym_GT_GT, + [27465] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(759), 1, + anon_sym_DASH_GT, + ACTIONS(761), 1, + anon_sym_when, + STATE(931), 1, + sym_clause_body, + STATE(934), 1, + sym__clause_guard, + [27481] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1458), 4, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_GT_GT, + anon_sym_SLASH, + [27491] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(791), 1, + anon_sym_after, + ACTIONS(793), 1, + anon_sym_catch, + STATE(207), 1, + sym__try_catch, + STATE(1052), 1, + sym_try_after, + [27507] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1460), 1, + anon_sym_DOT, + ACTIONS(1462), 1, + anon_sym_LBRACE, + STATE(213), 1, + sym_record_field_name, + STATE(218), 1, + sym__record_tuple, + [27523] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1466), 1, + anon_sym_QMARK, + STATE(306), 1, + sym__macro_name, + ACTIONS(1464), 2, + sym_var, + sym_atom, + [27537] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(787), 1, + anon_sym_catch, + ACTIONS(791), 1, + anon_sym_after, + STATE(519), 1, + sym__try_catch, + STATE(964), 1, + sym_try_after, + [27553] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(761), 1, + anon_sym_when, + ACTIONS(1468), 1, + anon_sym_DASH_GT, + STATE(631), 1, + sym_clause_body, + STATE(897), 1, + sym__clause_guard, + [27569] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1470), 1, + anon_sym_COMMA, + STATE(739), 1, + aux_sym_lc_exprs_repeat1, + ACTIONS(1473), 2, + anon_sym_RBRACK, + anon_sym_GT_GT, + [27583] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1477), 1, + anon_sym_QMARK, + STATE(486), 1, + sym__macro_name, + ACTIONS(1475), 2, + sym_var, + sym_atom, + [27597] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1481), 1, + anon_sym_SEMI, + STATE(741), 1, + aux_sym__spec_def_repeat1, + ACTIONS(1479), 2, + anon_sym_RPAREN, + anon_sym_DOT, + [27611] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1454), 1, + anon_sym_DASH, + STATE(725), 1, + aux_sym_bit_type_list_repeat1, + ACTIONS(1484), 2, + anon_sym_COMMA, + anon_sym_GT_GT, + [27625] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1486), 1, + anon_sym_DOT, + ACTIONS(1488), 1, + anon_sym_LBRACE, + STATE(447), 1, + sym_record_field_name, + STATE(463), 1, + sym__record_tuple, + [27641] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(759), 1, + anon_sym_DASH_GT, + ACTIONS(761), 1, + anon_sym_when, + STATE(631), 1, + sym_clause_body, + STATE(939), 1, + sym__clause_guard, + [27657] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1460), 1, + anon_sym_DOT, + ACTIONS(1462), 1, + anon_sym_LBRACE, + STATE(177), 1, + sym_record_field_name, + STATE(187), 1, + sym__record_tuple, + [27673] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1436), 1, + anon_sym_COMMA, + ACTIONS(1438), 1, + sym_var, + ACTIONS(1490), 1, + anon_sym_RPAREN, + STATE(748), 1, + aux_sym_var_args_repeat1, + [27689] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1251), 1, + anon_sym_SLASH, + STATE(937), 1, + sym_bit_type_list, + ACTIONS(1492), 2, + anon_sym_COMMA, + anon_sym_GT_GT, + [27703] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1494), 1, + anon_sym_RPAREN, + ACTIONS(1496), 1, + anon_sym_COMMA, + ACTIONS(1499), 1, + sym_var, + STATE(748), 1, + aux_sym_var_args_repeat1, + [27719] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1477), 1, + anon_sym_QMARK, + STATE(487), 1, + sym__macro_name, + ACTIONS(1475), 2, + sym_var, + sym_atom, + [27733] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(791), 1, + anon_sym_after, + ACTIONS(793), 1, + anon_sym_catch, + STATE(190), 1, + sym__try_catch, + STATE(1052), 1, + sym_try_after, + [27749] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1504), 1, + anon_sym_QMARK, + STATE(167), 1, + sym__macro_name, + ACTIONS(1502), 2, + sym_var, + sym_atom, + [27763] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1506), 4, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_SEMI, + [27773] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1231), 1, + anon_sym_COLON_COLON, + STATE(899), 1, + sym_field_type, + ACTIONS(1508), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [27787] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1486), 1, + anon_sym_DOT, + ACTIONS(1488), 1, + anon_sym_LBRACE, + STATE(458), 1, + sym_record_field_name, + STATE(459), 1, + sym__record_tuple, + [27803] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1504), 1, + anon_sym_QMARK, + STATE(303), 1, + sym__macro_name, + ACTIONS(1502), 2, + sym_var, + sym_atom, + [27817] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(791), 1, + anon_sym_after, + ACTIONS(797), 1, + anon_sym_catch, + STATE(439), 1, + sym__try_catch, + STATE(989), 1, + sym_try_after, + [27833] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(791), 1, + anon_sym_after, + ACTIONS(797), 1, + anon_sym_catch, + STATE(432), 1, + sym__try_catch, + STATE(989), 1, + sym_try_after, + [27849] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1430), 1, + anon_sym_COMMA, + STATE(739), 1, + aux_sym_lc_exprs_repeat1, + ACTIONS(1510), 2, + anon_sym_RBRACK, + anon_sym_GT_GT, + [27863] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(919), 1, + anon_sym_COMMA, + STATE(724), 1, + aux_sym_clause_body_repeat1, + ACTIONS(1512), 2, + anon_sym_SEMI, + anon_sym_DASH_GT, + [27877] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1514), 1, + anon_sym_DOT, + ACTIONS(1516), 1, + anon_sym_LBRACE, + STATE(533), 1, + sym__record_tuple, + STATE(535), 1, + sym_record_field_name, + [27893] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(755), 1, + anon_sym_COMMA, + STATE(763), 1, + aux_sym_replacement_guard_and_repeat1, + ACTIONS(1518), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + [27907] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(787), 1, + anon_sym_catch, + ACTIONS(791), 1, + anon_sym_after, + STATE(504), 1, + sym__try_catch, + STATE(964), 1, + sym_try_after, + [27923] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1522), 1, + anon_sym_COMMA, + STATE(763), 1, + aux_sym_replacement_guard_and_repeat1, + ACTIONS(1520), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + [27937] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1525), 1, + anon_sym_QMARK, + STATE(167), 1, + sym__macro_name, + ACTIONS(1450), 2, + sym_var, + sym_atom, + [27951] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1527), 1, + anon_sym_RPAREN, + ACTIONS(1530), 1, + anon_sym_SEMI, + STATE(772), 1, + aux_sym_replacement_guard_or_repeat1, + [27964] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1532), 1, + anon_sym_COMMA, + ACTIONS(1534), 1, + anon_sym_RBRACE, + STATE(794), 1, + aux_sym_map_expr_update_repeat1, + [27977] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + anon_sym_COMMA, + ACTIONS(1536), 1, + anon_sym_RBRACE, + STATE(839), 1, + aux_sym_tuple_repeat1, + [27990] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(1538), 1, + anon_sym_RBRACK, + STATE(584), 1, + aux_sym_clause_body_repeat1, + [28003] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(306), 1, + sym__macro_name, + ACTIONS(1464), 2, + sym_var, + sym_atom, + [28014] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1540), 1, + anon_sym_RPAREN, + ACTIONS(1542), 1, + anon_sym_SEMI, + STATE(795), 1, + aux_sym_replacement_function_clauses_repeat1, + [28027] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1347), 1, + anon_sym_SEMI, + ACTIONS(1544), 1, + anon_sym_RPAREN, + STATE(632), 1, + aux_sym__cr_clauses_repeat1, + [28040] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1530), 1, + anon_sym_SEMI, + ACTIONS(1546), 1, + anon_sym_RPAREN, + STATE(796), 1, + aux_sym_replacement_guard_or_repeat1, + [28053] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(490), 1, + sym__macro_name, + ACTIONS(1450), 2, + sym_var, + sym_atom, + [28064] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1548), 1, + anon_sym_COMMA, + ACTIONS(1550), 1, + anon_sym_RBRACE, + STATE(862), 1, + aux_sym__record_tuple_repeat1, + [28077] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1552), 1, + anon_sym_COMMA, + ACTIONS(1554), 1, + anon_sym_GT_GT, + STATE(829), 1, + aux_sym_binary_repeat1, + [28090] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1556), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + sym_var, + [28099] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(1558), 1, + anon_sym_end, + STATE(584), 1, + aux_sym_clause_body_repeat1, + [28112] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1560), 1, + sym_var, + STATE(62), 1, + sym_ann_var, + STATE(678), 1, + sym_ann_type, + [28125] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(958), 1, + anon_sym_COMMA, + ACTIONS(1562), 1, + anon_sym_RPAREN, + STATE(871), 1, + aux_sym_expr_args_repeat1, + [28138] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1564), 3, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_SEMI, + [28147] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1532), 1, + anon_sym_COMMA, + ACTIONS(1566), 1, + anon_sym_RBRACE, + STATE(794), 1, + aux_sym_map_expr_update_repeat1, + [28160] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1568), 1, + anon_sym_SEMI, + ACTIONS(1570), 1, + anon_sym_end, + STATE(816), 1, + aux_sym_anonymous_fun_repeat1, + [28173] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1572), 3, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_GT_GT, + [28182] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1574), 3, + anon_sym_DASH, + anon_sym_COMMA, + anon_sym_GT_GT, + [28191] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 3, + anon_sym_DASH, + anon_sym_COMMA, + anon_sym_GT_GT, + [28200] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1578), 3, + anon_sym_SEMI, + anon_sym_end, + anon_sym_after, + [28209] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(1580), 1, + anon_sym_end, + STATE(584), 1, + aux_sym_clause_body_repeat1, + [28222] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(1009), 1, + sym__macro_name, + ACTIONS(1450), 2, + sym_var, + sym_atom, + [28233] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(1020), 1, + sym__macro_name, + ACTIONS(1450), 2, + sym_var, + sym_atom, + [28244] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(1032), 1, + sym__macro_name, + ACTIONS(1450), 2, + sym_var, + sym_atom, + [28255] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1582), 3, + anon_sym_SEMI, + anon_sym_end, + anon_sym_after, + [28264] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1584), 3, + anon_sym_SEMI, + anon_sym_end, + anon_sym_after, + [28273] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1586), 3, + anon_sym_SEMI, + anon_sym_end, + anon_sym_after, + [28282] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1588), 1, + anon_sym_COMMA, + ACTIONS(1591), 1, + anon_sym_RBRACE, + STATE(794), 1, + aux_sym_map_expr_update_repeat1, + [28295] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1593), 1, + anon_sym_RPAREN, + ACTIONS(1595), 1, + anon_sym_SEMI, + STATE(795), 1, + aux_sym_replacement_function_clauses_repeat1, + [28308] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1598), 1, + anon_sym_RPAREN, + ACTIONS(1600), 1, + anon_sym_SEMI, + STATE(796), 1, + aux_sym_replacement_guard_or_repeat1, + [28321] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + STATE(841), 1, + sym_type_sig, + STATE(973), 1, + sym_expr_args, + [28334] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1603), 1, + anon_sym_SEMI, + ACTIONS(1605), 1, + anon_sym_end, + STATE(831), 1, + aux_sym_if_expr_repeat1, + [28347] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1607), 1, + anon_sym_SEMI, + ACTIONS(1609), 1, + anon_sym_DASH_GT, + STATE(824), 1, + aux_sym_guard_repeat1, + [28360] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1611), 1, + anon_sym_COLON, + ACTIONS(1613), 1, + anon_sym_SLASH, + STATE(236), 1, + sym_arity, + [28373] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1615), 1, + anon_sym_RPAREN, + ACTIONS(1617), 1, + anon_sym_SEMI, + STATE(838), 1, + aux_sym__spec_def_repeat1, + [28386] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + STATE(834), 1, + sym_type_sig, + STATE(973), 1, + sym_expr_args, + [28399] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1617), 1, + anon_sym_SEMI, + ACTIONS(1619), 1, + anon_sym_DOT, + STATE(741), 1, + aux_sym__spec_def_repeat1, + [28412] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1621), 1, + anon_sym_RPAREN, + ACTIONS(1623), 1, + anon_sym_COMMA, + STATE(819), 1, + aux_sym_macro_call_args_repeat1, + [28425] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1568), 1, + anon_sym_SEMI, + ACTIONS(1625), 1, + anon_sym_end, + STATE(782), 1, + aux_sym_anonymous_fun_repeat1, + [28438] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1627), 1, + anon_sym_SEMI, + ACTIONS(1630), 1, + anon_sym_end, + STATE(806), 1, + aux_sym_if_expr_repeat1, + [28451] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1552), 1, + anon_sym_COMMA, + ACTIONS(1632), 1, + anon_sym_GT_GT, + STATE(775), 1, + aux_sym_binary_repeat1, + [28464] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(591), 1, + sym__macro_name, + ACTIONS(1450), 2, + sym_var, + sym_atom, + [28475] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1634), 1, + anon_sym_SEMI, + ACTIONS(1637), 1, + anon_sym_DASH_GT, + STATE(809), 1, + aux_sym_guard_repeat1, + [28488] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(907), 3, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_GT_GT, + [28497] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1639), 1, + anon_sym_end, + ACTIONS(1641), 1, + anon_sym_after, + STATE(1072), 1, + sym_receive_after, + [28510] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1643), 3, + anon_sym_SEMI, + anon_sym_end, + anon_sym_after, + [28519] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1645), 3, + anon_sym_SEMI, + anon_sym_end, + anon_sym_after, + [28528] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(169), 1, + sym__macro_name, + ACTIONS(1502), 2, + sym_var, + sym_atom, + [28539] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1560), 1, + sym_var, + STATE(62), 1, + sym_ann_var, + STATE(752), 1, + sym_ann_type, + [28552] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1647), 1, + anon_sym_SEMI, + ACTIONS(1650), 1, + anon_sym_end, + STATE(816), 1, + aux_sym_anonymous_fun_repeat1, + [28565] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(277), 3, + anon_sym_DASH, + anon_sym_COMMA, + anon_sym_GT_GT, + [28574] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1652), 3, + anon_sym_SEMI, + anon_sym_end, + anon_sym_after, + [28583] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1654), 1, + anon_sym_RPAREN, + ACTIONS(1656), 1, + anon_sym_COMMA, + STATE(819), 1, + aux_sym_macro_call_args_repeat1, + [28596] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1623), 1, + anon_sym_COMMA, + ACTIONS(1659), 1, + anon_sym_RPAREN, + STATE(819), 1, + aux_sym_macro_call_args_repeat1, + [28609] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(486), 1, + sym__macro_name, + ACTIONS(1475), 2, + sym_var, + sym_atom, + [28620] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(301), 3, + anon_sym_DASH, + anon_sym_COMMA, + anon_sym_GT_GT, + [28629] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1623), 1, + anon_sym_COMMA, + ACTIONS(1661), 1, + anon_sym_RPAREN, + STATE(820), 1, + aux_sym_macro_call_args_repeat1, + [28642] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1607), 1, + anon_sym_SEMI, + ACTIONS(1663), 1, + anon_sym_DASH_GT, + STATE(809), 1, + aux_sym_guard_repeat1, + [28655] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(297), 3, + anon_sym_DASH, + anon_sym_COMMA, + anon_sym_GT_GT, + [28664] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1532), 1, + anon_sym_COMMA, + ACTIONS(1665), 1, + anon_sym_RBRACE, + STATE(842), 1, + aux_sym_map_expr_update_repeat1, + [28677] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(285), 3, + anon_sym_DASH, + anon_sym_COMMA, + anon_sym_GT_GT, + [28686] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1611), 1, + anon_sym_COLON, + ACTIONS(1667), 1, + anon_sym_SLASH, + STATE(509), 1, + sym_arity, + [28699] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1669), 1, + anon_sym_COMMA, + ACTIONS(1672), 1, + anon_sym_GT_GT, + STATE(829), 1, + aux_sym_binary_repeat1, + [28712] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(229), 1, + sym__macro_name, + ACTIONS(1502), 2, + sym_var, + sym_atom, + [28723] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1603), 1, + anon_sym_SEMI, + ACTIONS(1674), 1, + anon_sym_end, + STATE(806), 1, + aux_sym_if_expr_repeat1, + [28736] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1676), 3, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_SLASH, + [28745] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1623), 1, + anon_sym_COMMA, + ACTIONS(1678), 1, + anon_sym_RPAREN, + STATE(804), 1, + aux_sym_macro_call_args_repeat1, + [28758] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1680), 3, + anon_sym_RPAREN, + anon_sym_DOT, + anon_sym_SEMI, + [28767] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1682), 3, + anon_sym_QMARK, + sym_var, + sym_atom, + [28776] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(515), 1, + sym__macro_name, + ACTIONS(1475), 2, + sym_var, + sym_atom, + [28787] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1684), 3, + anon_sym_DASH, + anon_sym_COMMA, + anon_sym_GT_GT, + [28796] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1617), 1, + anon_sym_SEMI, + ACTIONS(1686), 1, + anon_sym_RPAREN, + STATE(741), 1, + aux_sym__spec_def_repeat1, + [28809] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1688), 1, + anon_sym_COMMA, + ACTIONS(1691), 1, + anon_sym_RBRACE, + STATE(839), 1, + aux_sym_tuple_repeat1, + [28822] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1548), 1, + anon_sym_COMMA, + ACTIONS(1693), 1, + anon_sym_RBRACE, + STATE(843), 1, + aux_sym__record_tuple_repeat1, + [28835] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1617), 1, + anon_sym_SEMI, + ACTIONS(1695), 1, + anon_sym_DOT, + STATE(803), 1, + aux_sym__spec_def_repeat1, + [28848] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1532), 1, + anon_sym_COMMA, + ACTIONS(1697), 1, + anon_sym_RBRACE, + STATE(794), 1, + aux_sym_map_expr_update_repeat1, + [28861] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1699), 1, + anon_sym_COMMA, + ACTIONS(1702), 1, + anon_sym_RBRACE, + STATE(843), 1, + aux_sym__record_tuple_repeat1, + [28874] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + STATE(801), 1, + sym_type_sig, + STATE(973), 1, + sym_expr_args, + [28887] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1603), 1, + anon_sym_SEMI, + ACTIONS(1704), 1, + anon_sym_end, + STATE(866), 1, + aux_sym_if_expr_repeat1, + [28900] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1462), 1, + anon_sym_LBRACE, + ACTIONS(1706), 1, + anon_sym_COMMA, + STATE(993), 1, + sym__record_tuple, + [28913] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1532), 1, + anon_sym_COMMA, + ACTIONS(1708), 1, + anon_sym_RBRACE, + STATE(794), 1, + aux_sym_map_expr_update_repeat1, + [28926] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1611), 1, + anon_sym_COLON, + ACTIONS(1710), 1, + anon_sym_SLASH, + STATE(236), 1, + sym_arity, + [28939] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1568), 1, + anon_sym_SEMI, + ACTIONS(1712), 1, + anon_sym_end, + STATE(872), 1, + aux_sym_anonymous_fun_repeat1, + [28952] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1623), 1, + anon_sym_COMMA, + ACTIONS(1714), 1, + anon_sym_RPAREN, + STATE(819), 1, + aux_sym_macro_call_args_repeat1, + [28965] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1548), 1, + anon_sym_COMMA, + ACTIONS(1716), 1, + anon_sym_RBRACE, + STATE(840), 1, + aux_sym__record_tuple_repeat1, + [28978] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1552), 1, + anon_sym_COMMA, + ACTIONS(1718), 1, + anon_sym_GT_GT, + STATE(875), 1, + aux_sym_binary_repeat1, + [28991] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1720), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + sym_var, + [29000] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1532), 1, + anon_sym_COMMA, + ACTIONS(1722), 1, + anon_sym_RBRACE, + STATE(847), 1, + aux_sym_map_expr_update_repeat1, + [29013] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1641), 1, + anon_sym_after, + ACTIONS(1724), 1, + anon_sym_end, + STATE(946), 1, + sym_receive_after, + [29026] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + anon_sym_COMMA, + ACTIONS(1726), 1, + anon_sym_RBRACE, + STATE(839), 1, + aux_sym_tuple_repeat1, + [29039] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1552), 1, + anon_sym_COMMA, + ACTIONS(1728), 1, + anon_sym_GT_GT, + STATE(829), 1, + aux_sym_binary_repeat1, + [29052] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(330), 1, + sym__macro_name, + ACTIONS(1464), 2, + sym_var, + sym_atom, + [29063] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(1730), 1, + anon_sym_end, + STATE(584), 1, + aux_sym_clause_body_repeat1, + [29076] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1568), 1, + anon_sym_SEMI, + ACTIONS(1732), 1, + anon_sym_end, + STATE(816), 1, + aux_sym_anonymous_fun_repeat1, + [29089] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1532), 1, + anon_sym_COMMA, + ACTIONS(1734), 1, + anon_sym_RBRACE, + STATE(781), 1, + aux_sym_map_expr_update_repeat1, + [29102] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1548), 1, + anon_sym_COMMA, + ACTIONS(1736), 1, + anon_sym_RBRACE, + STATE(843), 1, + aux_sym__record_tuple_repeat1, + [29115] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(1738), 1, + anon_sym_RBRACK, + STATE(584), 1, + aux_sym_clause_body_repeat1, + [29128] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(694), 1, + sym__macro_name, + ACTIONS(1450), 2, + sym_var, + sym_atom, + [29139] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1623), 1, + anon_sym_COMMA, + ACTIONS(1740), 1, + anon_sym_RPAREN, + STATE(888), 1, + aux_sym_macro_call_args_repeat1, + [29152] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1603), 1, + anon_sym_SEMI, + ACTIONS(1742), 1, + anon_sym_end, + STATE(806), 1, + aux_sym_if_expr_repeat1, + [29165] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1603), 1, + anon_sym_SEMI, + ACTIONS(1744), 1, + anon_sym_end, + STATE(806), 1, + aux_sym_if_expr_repeat1, + [29178] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(1746), 1, + anon_sym_RBRACK, + STATE(584), 1, + aux_sym_clause_body_repeat1, + [29191] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1623), 1, + anon_sym_COMMA, + ACTIONS(1748), 1, + anon_sym_RPAREN, + STATE(850), 1, + aux_sym_macro_call_args_repeat1, + [29204] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(500), 1, + sym__macro_name, + ACTIONS(1475), 2, + sym_var, + sym_atom, + [29215] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1750), 1, + anon_sym_RPAREN, + ACTIONS(1752), 1, + anon_sym_COMMA, + STATE(871), 1, + aux_sym_expr_args_repeat1, + [29228] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1568), 1, + anon_sym_SEMI, + ACTIONS(1755), 1, + anon_sym_end, + STATE(816), 1, + aux_sym_anonymous_fun_repeat1, + [29241] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(1757), 1, + anon_sym_end, + STATE(584), 1, + aux_sym_clause_body_repeat1, + [29254] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(169), 1, + sym__macro_name, + ACTIONS(1450), 2, + sym_var, + sym_atom, + [29265] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1552), 1, + anon_sym_COMMA, + ACTIONS(1759), 1, + anon_sym_GT_GT, + STATE(829), 1, + aux_sym_binary_repeat1, + [29278] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + anon_sym_COMMA, + ACTIONS(1761), 1, + anon_sym_RBRACE, + STATE(839), 1, + aux_sym_tuple_repeat1, + [29291] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1532), 1, + anon_sym_COMMA, + ACTIONS(1763), 1, + anon_sym_RBRACE, + STATE(889), 1, + aux_sym_map_expr_update_repeat1, + [29304] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1641), 1, + anon_sym_after, + ACTIONS(1765), 1, + anon_sym_end, + STATE(962), 1, + sym_receive_after, + [29317] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(429), 3, + anon_sym_DASH, + anon_sym_COMMA, + anon_sym_GT_GT, + [29326] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1552), 1, + anon_sym_COMMA, + ACTIONS(1767), 1, + anon_sym_GT_GT, + STATE(857), 1, + aux_sym_binary_repeat1, + [29339] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(167), 1, + sym__macro_name, + ACTIONS(1450), 2, + sym_var, + sym_atom, + [29350] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1542), 1, + anon_sym_SEMI, + ACTIONS(1769), 1, + anon_sym_RPAREN, + STATE(770), 1, + aux_sym_replacement_function_clauses_repeat1, + [29363] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1568), 1, + anon_sym_SEMI, + ACTIONS(1771), 1, + anon_sym_end, + STATE(860), 1, + aux_sym_anonymous_fun_repeat1, + [29376] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1611), 1, + anon_sym_COLON, + ACTIONS(1773), 1, + anon_sym_SLASH, + STATE(413), 1, + sym_arity, + [29389] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1775), 3, + anon_sym_RPAREN, + anon_sym_QMARK, + sym_string, + [29398] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1548), 1, + anon_sym_COMMA, + ACTIONS(1777), 1, + anon_sym_RBRACE, + STATE(896), 1, + aux_sym__record_tuple_repeat1, + [29411] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(958), 1, + anon_sym_COMMA, + ACTIONS(1779), 1, + anon_sym_RPAREN, + STATE(871), 1, + aux_sym_expr_args_repeat1, + [29424] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1623), 1, + anon_sym_COMMA, + ACTIONS(1781), 1, + anon_sym_RPAREN, + STATE(819), 1, + aux_sym_macro_call_args_repeat1, + [29437] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1532), 1, + anon_sym_COMMA, + ACTIONS(1783), 1, + anon_sym_RBRACE, + STATE(794), 1, + aux_sym_map_expr_update_repeat1, + [29450] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1603), 1, + anon_sym_SEMI, + ACTIONS(1785), 1, + anon_sym_end, + STATE(867), 1, + aux_sym_if_expr_repeat1, + [29463] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1347), 1, + anon_sym_SEMI, + ACTIONS(1787), 1, + anon_sym_RPAREN, + STATE(771), 1, + aux_sym__cr_clauses_repeat1, + [29476] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1789), 1, + anon_sym_LPAREN, + ACTIONS(1791), 1, + anon_sym_COMMA, + STATE(1026), 1, + sym_var_args, + [29489] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(444), 1, + sym__macro_name, + ACTIONS(1464), 2, + sym_var, + sym_atom, + [29500] = 3, + ACTIONS(3), 1, + sym_comment, + STATE(167), 1, + sym__macro_name, + ACTIONS(1502), 2, + sym_var, + sym_atom, + [29511] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1532), 1, + anon_sym_COMMA, + ACTIONS(1793), 1, + anon_sym_RBRACE, + STATE(766), 1, + aux_sym_map_expr_update_repeat1, + [29524] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1548), 1, + anon_sym_COMMA, + ACTIONS(1795), 1, + anon_sym_RBRACE, + STATE(843), 1, + aux_sym__record_tuple_repeat1, + [29537] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1468), 1, + anon_sym_DASH_GT, + STATE(623), 1, + sym_clause_body, + [29547] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1667), 1, + anon_sym_SLASH, + STATE(553), 1, + sym_arity, + [29557] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1797), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [29565] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1799), 2, + anon_sym_COMMA, + anon_sym_GT_GT, + [29573] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + STATE(738), 1, + sym_expr_args, + [29583] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1801), 2, + anon_sym_SEMI, + anon_sym_end, + [29591] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1803), 2, + anon_sym_COMMA, + anon_sym_COLON_COLON, + [29599] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1805), 1, + anon_sym_POUND, + STATE(735), 1, + sym_record_name, + [29609] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(759), 1, + anon_sym_DASH_GT, + STATE(932), 1, + sym_clause_body, + [29619] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(759), 1, + anon_sym_DASH_GT, + STATE(812), 1, + sym_clause_body, + [29629] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1710), 1, + anon_sym_SLASH, + STATE(641), 1, + sym_arity, + [29639] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1807), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [29647] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(759), 1, + anon_sym_DASH_GT, + STATE(793), 1, + sym_clause_body, + [29657] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1809), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + [29665] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1789), 1, + anon_sym_LPAREN, + STATE(965), 1, + sym_var_args, + [29675] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1811), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [29683] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1813), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + [29691] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1815), 2, + anon_sym_COMMA, + anon_sym_COLON_COLON, + [29699] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1611), 1, + anon_sym_COLON, + ACTIONS(1817), 1, + anon_sym_LPAREN, + [29709] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1462), 1, + anon_sym_LBRACE, + STATE(1002), 1, + sym__record_tuple, + [29719] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(759), 1, + anon_sym_DASH_GT, + STATE(942), 1, + sym_clause_body, + [29729] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1819), 2, + anon_sym_SEMI, + anon_sym_end, + [29737] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1613), 1, + anon_sym_SLASH, + STATE(208), 1, + sym_arity, + [29747] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1821), 2, + anon_sym_SEMI, + anon_sym_DASH_GT, + [29755] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(759), 1, + anon_sym_DASH_GT, + STATE(680), 1, + sym_clause_body, + [29765] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1823), 2, + anon_sym_COMMA, + anon_sym_GT_GT, + [29773] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1825), 1, + anon_sym_RPAREN, + ACTIONS(1827), 1, + sym_var, + [29783] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1829), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [29791] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1831), 2, + anon_sym_SEMI, + anon_sym_end, + [29799] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + STATE(744), 1, + sym_expr_args, + [29809] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(759), 1, + anon_sym_DASH_GT, + STATE(818), 1, + sym_clause_body, + [29819] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1710), 1, + anon_sym_SLASH, + STATE(208), 1, + sym_arity, + [29829] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1833), 2, + anon_sym_SEMI, + anon_sym_end, + [29837] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(674), 1, + anon_sym_LPAREN, + STATE(732), 1, + sym_expr_args, + [29847] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1835), 2, + anon_sym_SEMI, + anon_sym_end, + [29855] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1837), 2, + anon_sym_SEMI, + anon_sym_end, + [29863] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1773), 1, + anon_sym_SLASH, + STATE(398), 1, + sym_arity, + [29873] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(759), 1, + anon_sym_DASH_GT, + STATE(929), 1, + sym_clause_body, + [29883] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1839), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [29891] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1841), 2, + anon_sym_DASH_GT, + anon_sym_when, + [29899] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1843), 2, + anon_sym_COMMA, + anon_sym_GT_GT, + [29907] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1845), 2, + anon_sym_DOT, + anon_sym_LBRACE, + [29915] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(759), 1, + anon_sym_DASH_GT, + STATE(623), 1, + sym_clause_body, + [29925] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1805), 1, + anon_sym_POUND, + STATE(743), 1, + sym_record_name, + [29935] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1847), 2, + anon_sym_COMMA, + anon_sym_COLON_COLON, + [29943] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1849), 2, + anon_sym_SEMI, + anon_sym_end, + [29951] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1851), 1, + anon_sym_DOT, + [29958] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1853), 1, + anon_sym_RPAREN, + [29965] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1855), 1, + anon_sym_DOT, + [29972] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1857), 1, + anon_sym_end, + [29979] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1859), 1, + anon_sym_end, + [29986] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1861), 1, + anon_sym_COMMA, + [29993] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1863), 1, + anon_sym_GT_GT, + [30000] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1865), 1, + anon_sym_DOT, + [30007] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1867), 1, + anon_sym_RPAREN, + [30014] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1869), 1, + anon_sym_RPAREN, + [30021] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1871), 1, + anon_sym_RBRACK, + [30028] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1873), 1, + anon_sym_RBRACK, + [30035] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1875), 1, + anon_sym_RPAREN, + [30042] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1877), 1, + anon_sym_RPAREN, + [30049] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1879), 1, + anon_sym_end, + [30056] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_GT_GT, + [30063] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1883), 1, + anon_sym_COLON, + [30070] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1885), 1, + anon_sym_COMMA, + [30077] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_end, + [30084] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1889), 1, + anon_sym_end, + [30091] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1891), 1, + sym_var, + [30098] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1893), 1, + anon_sym_end, + [30105] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1895), 1, + anon_sym_COLON_COLON, + [30112] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1897), 1, + anon_sym_end, + [30119] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1899), 1, + anon_sym_end, + [30126] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1901), 1, + anon_sym_end, + [30133] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_DOT, + [30140] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1905), 1, + anon_sym_end, + [30147] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1907), 1, + anon_sym_end, + [30154] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1909), 1, + anon_sym_DOT, + [30161] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1911), 1, + anon_sym_DASH_GT, + [30168] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1913), 1, + anon_sym_end, + [30175] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1915), 1, + anon_sym_LPAREN, + [30182] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1917), 1, + anon_sym_COLON, + [30189] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1919), 1, + anon_sym_RBRACK, + [30196] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1921), 1, + anon_sym_DOT, + [30203] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1923), 1, + anon_sym_LBRACE, + [30210] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1925), 1, + anon_sym_DOT, + [30217] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1927), 1, + anon_sym_RPAREN, + [30224] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1929), 1, + anon_sym_RPAREN, + [30231] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1931), 1, + anon_sym_DASH_GT, + [30238] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1933), 1, + anon_sym_end, + [30245] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 1, + anon_sym_DOT, + [30252] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(627), 1, + anon_sym_COLON_COLON, + [30259] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1937), 1, + anon_sym_DOT, + [30266] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1939), 1, + anon_sym_RPAREN, + [30273] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1941), 1, + anon_sym_end, + [30280] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1943), 1, + anon_sym_LBRACE, + [30287] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1945), 1, + anon_sym_RPAREN, + [30294] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1947), 1, + anon_sym_DOT, + [30301] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1949), 1, + anon_sym_RPAREN, + [30308] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1951), 1, + anon_sym_RPAREN, + [30315] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1953), 1, + anon_sym_RPAREN, + [30322] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1955), 1, + anon_sym_DOT, + [30329] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1957), 1, + anon_sym_COMMA, + [30336] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1959), 1, + anon_sym_DOT, + [30343] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1961), 1, + anon_sym_end, + [30350] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1963), 1, + anon_sym_DOT, + [30357] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1965), 1, + sym_integer, + [30364] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1967), 1, + anon_sym_RPAREN, + [30371] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1969), 1, + anon_sym_DOT, + [30378] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1971), 1, + anon_sym_end, + [30385] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1973), 1, + anon_sym_RPAREN, + [30392] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1975), 1, + anon_sym_COLON_COLON, + [30399] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1977), 1, + anon_sym_DOT, + [30406] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1979), 1, + anon_sym_DOT, + [30413] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1981), 1, + anon_sym_RPAREN, + [30420] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1983), 1, + anon_sym_RPAREN, + [30427] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1985), 1, + sym_string, + [30434] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1987), 1, + anon_sym_LBRACK, + [30441] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1989), 1, + anon_sym_LBRACK, + [30448] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1991), 1, + anon_sym_end, + [30455] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1993), 1, + anon_sym_DOT, + [30462] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1995), 1, + anon_sym_RPAREN, + [30469] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1997), 1, + anon_sym_LBRACK, + [30476] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1999), 1, + anon_sym_LBRACK, + [30483] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2001), 1, + anon_sym_RPAREN, + [30490] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2003), 1, + anon_sym_RPAREN, + [30497] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2005), 1, + sym_var, + [30504] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2007), 1, + anon_sym_end, + [30511] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2009), 1, + anon_sym_RPAREN, + [30518] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2011), 1, + anon_sym_DOT, + [30525] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2013), 1, + anon_sym_DOT, + [30532] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2015), 1, + anon_sym_COMMA, + [30539] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2017), 1, + anon_sym_DOT, + [30546] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2019), 1, + anon_sym_DOT, + [30553] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2021), 1, + anon_sym_DOT, + [30560] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2023), 1, + anon_sym_DOT, + [30567] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2025), 1, + anon_sym_DOT, + [30574] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2027), 1, + anon_sym_RPAREN, + [30581] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2029), 1, + anon_sym_DASH_GT, + [30588] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2031), 1, + anon_sym_RPAREN, + [30595] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2033), 1, + anon_sym_DOT, + [30602] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2035), 1, + anon_sym_POUND, + [30609] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2037), 1, + anon_sym_DOT, + [30616] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2039), 1, + anon_sym_RPAREN, + [30623] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2041), 1, + anon_sym_RPAREN, + [30630] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2043), 1, + anon_sym_DOT, + [30637] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2045), 1, + anon_sym_DOT, + [30644] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2047), 1, + anon_sym_RPAREN, + [30651] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2049), 1, + anon_sym_DOT, + [30658] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2051), 1, + anon_sym_RPAREN, + [30665] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2053), 1, + anon_sym_POUND, + [30672] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2055), 1, + anon_sym_DOT, + [30679] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2057), 1, + anon_sym_RPAREN, + [30686] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2059), 1, + anon_sym_GT_GT, + [30693] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2061), 1, + anon_sym_RPAREN, + [30700] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_DOT, + [30707] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2065), 1, + anon_sym_LPAREN, + [30714] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2067), 1, + anon_sym_end, + [30721] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2069), 1, + anon_sym_DOT, + [30728] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2071), 1, + anon_sym_LPAREN, + [30735] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2073), 1, + anon_sym_LPAREN, + [30742] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2075), 1, + anon_sym_LPAREN, + [30749] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2077), 1, + anon_sym_LPAREN, + [30756] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2079), 1, + anon_sym_LPAREN, + [30763] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2081), 1, + anon_sym_LPAREN, + [30770] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2083), 1, + anon_sym_LPAREN, + [30777] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2085), 1, + anon_sym_LPAREN, + [30784] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2087), 1, + anon_sym_LPAREN, + [30791] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2089), 1, + anon_sym_DOT, + [30798] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2091), 1, + anon_sym_DOT, + [30805] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2093), 1, + anon_sym_LPAREN, + [30812] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2095), 1, + anon_sym_LPAREN, + [30819] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2097), 1, + anon_sym_LPAREN, + [30826] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2099), 1, + anon_sym_LPAREN, + [30833] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2101), 1, + anon_sym_LPAREN, + [30840] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2103), 1, + anon_sym_end, + [30847] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2105), 1, + anon_sym_end, + [30854] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2107), 1, + anon_sym_end, + [30861] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2109), 1, + anon_sym_RPAREN, + [30868] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2111), 1, + anon_sym_COLON_COLON, + [30875] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2113), 1, + ts_builtin_sym_end, +}; + +static const uint32_t ts_small_parse_table_map[] = { + [SMALL_STATE(161)] = 0, + [SMALL_STATE(162)] = 129, + [SMALL_STATE(163)] = 258, + [SMALL_STATE(164)] = 387, + [SMALL_STATE(165)] = 462, + [SMALL_STATE(166)] = 537, + [SMALL_STATE(167)] = 657, + [SMALL_STATE(168)] = 724, + [SMALL_STATE(169)] = 786, + [SMALL_STATE(170)] = 848, + [SMALL_STATE(171)] = 910, + [SMALL_STATE(172)] = 972, + [SMALL_STATE(173)] = 1034, + [SMALL_STATE(174)] = 1096, + [SMALL_STATE(175)] = 1158, + [SMALL_STATE(176)] = 1219, + [SMALL_STATE(177)] = 1280, + [SMALL_STATE(178)] = 1341, + [SMALL_STATE(179)] = 1402, + [SMALL_STATE(180)] = 1463, + [SMALL_STATE(181)] = 1524, + [SMALL_STATE(182)] = 1585, + [SMALL_STATE(183)] = 1646, + [SMALL_STATE(184)] = 1707, + [SMALL_STATE(185)] = 1768, + [SMALL_STATE(186)] = 1829, + [SMALL_STATE(187)] = 1890, + [SMALL_STATE(188)] = 1951, + [SMALL_STATE(189)] = 2012, + [SMALL_STATE(190)] = 2073, + [SMALL_STATE(191)] = 2134, + [SMALL_STATE(192)] = 2195, + [SMALL_STATE(193)] = 2256, + [SMALL_STATE(194)] = 2317, + [SMALL_STATE(195)] = 2378, + [SMALL_STATE(196)] = 2439, + [SMALL_STATE(197)] = 2500, + [SMALL_STATE(198)] = 2561, + [SMALL_STATE(199)] = 2622, + [SMALL_STATE(200)] = 2683, + [SMALL_STATE(201)] = 2744, + [SMALL_STATE(202)] = 2805, + [SMALL_STATE(203)] = 2866, + [SMALL_STATE(204)] = 2927, + [SMALL_STATE(205)] = 2988, + [SMALL_STATE(206)] = 3049, + [SMALL_STATE(207)] = 3110, + [SMALL_STATE(208)] = 3171, + [SMALL_STATE(209)] = 3232, + [SMALL_STATE(210)] = 3293, + [SMALL_STATE(211)] = 3354, + [SMALL_STATE(212)] = 3415, + [SMALL_STATE(213)] = 3476, + [SMALL_STATE(214)] = 3537, + [SMALL_STATE(215)] = 3598, + [SMALL_STATE(216)] = 3659, + [SMALL_STATE(217)] = 3818, + [SMALL_STATE(218)] = 3879, + [SMALL_STATE(219)] = 3940, + [SMALL_STATE(220)] = 4001, + [SMALL_STATE(221)] = 4062, + [SMALL_STATE(222)] = 4125, + [SMALL_STATE(223)] = 4186, + [SMALL_STATE(224)] = 4247, + [SMALL_STATE(225)] = 4308, + [SMALL_STATE(226)] = 4369, + [SMALL_STATE(227)] = 4432, + [SMALL_STATE(228)] = 4493, + [SMALL_STATE(229)] = 4554, + [SMALL_STATE(230)] = 4615, + [SMALL_STATE(231)] = 4680, + [SMALL_STATE(232)] = 4745, + [SMALL_STATE(233)] = 4806, + [SMALL_STATE(234)] = 4869, + [SMALL_STATE(235)] = 4930, + [SMALL_STATE(236)] = 4991, + [SMALL_STATE(237)] = 5052, + [SMALL_STATE(238)] = 5113, + [SMALL_STATE(239)] = 5174, + [SMALL_STATE(240)] = 5239, + [SMALL_STATE(241)] = 5343, + [SMALL_STATE(242)] = 5403, + [SMALL_STATE(243)] = 5463, + [SMALL_STATE(244)] = 5567, + [SMALL_STATE(245)] = 5671, + [SMALL_STATE(246)] = 5731, + [SMALL_STATE(247)] = 5791, + [SMALL_STATE(248)] = 5895, + [SMALL_STATE(249)] = 5955, + [SMALL_STATE(250)] = 6015, + [SMALL_STATE(251)] = 6119, + [SMALL_STATE(252)] = 6196, + [SMALL_STATE(253)] = 6287, + [SMALL_STATE(254)] = 6368, + [SMALL_STATE(255)] = 6459, + [SMALL_STATE(256)] = 6528, + [SMALL_STATE(257)] = 6619, + [SMALL_STATE(258)] = 6698, + [SMALL_STATE(259)] = 6787, + [SMALL_STATE(260)] = 6862, + [SMALL_STATE(261)] = 6945, + [SMALL_STATE(262)] = 7036, + [SMALL_STATE(263)] = 7121, + [SMALL_STATE(264)] = 7223, + [SMALL_STATE(265)] = 7325, + [SMALL_STATE(266)] = 7427, + [SMALL_STATE(267)] = 7526, + [SMALL_STATE(268)] = 7622, + [SMALL_STATE(269)] = 7684, + [SMALL_STATE(270)] = 7746, + [SMALL_STATE(271)] = 7828, + [SMALL_STATE(272)] = 7924, + [SMALL_STATE(273)] = 8009, + [SMALL_STATE(274)] = 8102, + [SMALL_STATE(275)] = 8195, + [SMALL_STATE(276)] = 8288, + [SMALL_STATE(277)] = 8375, + [SMALL_STATE(278)] = 8428, + [SMALL_STATE(279)] = 8506, + [SMALL_STATE(280)] = 8560, + [SMALL_STATE(281)] = 8634, + [SMALL_STATE(282)] = 8704, + [SMALL_STATE(283)] = 8772, + [SMALL_STATE(284)] = 8848, + [SMALL_STATE(285)] = 8930, + [SMALL_STATE(286)] = 9010, + [SMALL_STATE(287)] = 9084, + [SMALL_STATE(288)] = 9166, + [SMALL_STATE(289)] = 9238, + [SMALL_STATE(290)] = 9308, + [SMALL_STATE(291)] = 9390, + [SMALL_STATE(292)] = 9450, + [SMALL_STATE(293)] = 9516, + [SMALL_STATE(294)] = 9588, + [SMALL_STATE(295)] = 9656, + [SMALL_STATE(296)] = 9736, + [SMALL_STATE(297)] = 9818, + [SMALL_STATE(298)] = 9894, + [SMALL_STATE(299)] = 9976, + [SMALL_STATE(300)] = 10056, + [SMALL_STATE(301)] = 10112, + [SMALL_STATE(302)] = 10192, + [SMALL_STATE(303)] = 10272, + [SMALL_STATE(304)] = 10326, + [SMALL_STATE(305)] = 10386, + [SMALL_STATE(306)] = 10452, + [SMALL_STATE(307)] = 10506, + [SMALL_STATE(308)] = 10555, + [SMALL_STATE(309)] = 10634, + [SMALL_STATE(310)] = 10709, + [SMALL_STATE(311)] = 10760, + [SMALL_STATE(312)] = 10845, + [SMALL_STATE(313)] = 10894, + [SMALL_STATE(314)] = 10959, + [SMALL_STATE(315)] = 11018, + [SMALL_STATE(316)] = 11067, + [SMALL_STATE(317)] = 11146, + [SMALL_STATE(318)] = 11225, + [SMALL_STATE(319)] = 11312, + [SMALL_STATE(320)] = 11393, + [SMALL_STATE(321)] = 11474, + [SMALL_STATE(322)] = 11551, + [SMALL_STATE(323)] = 11600, + [SMALL_STATE(324)] = 11679, + [SMALL_STATE(325)] = 11760, + [SMALL_STATE(326)] = 11809, + [SMALL_STATE(327)] = 11882, + [SMALL_STATE(328)] = 11933, + [SMALL_STATE(329)] = 12014, + [SMALL_STATE(330)] = 12085, + [SMALL_STATE(331)] = 12134, + [SMALL_STATE(332)] = 12203, + [SMALL_STATE(333)] = 12276, + [SMALL_STATE(334)] = 12355, + [SMALL_STATE(335)] = 12422, + [SMALL_STATE(336)] = 12489, + [SMALL_STATE(337)] = 12560, + [SMALL_STATE(338)] = 12609, + [SMALL_STATE(339)] = 12678, + [SMALL_STATE(340)] = 12733, + [SMALL_STATE(341)] = 12816, + [SMALL_STATE(342)] = 12891, + [SMALL_STATE(343)] = 12978, + [SMALL_STATE(344)] = 13065, + [SMALL_STATE(345)] = 13124, + [SMALL_STATE(346)] = 13189, + [SMALL_STATE(347)] = 13241, + [SMALL_STATE(348)] = 13323, + [SMALL_STATE(349)] = 13407, + [SMALL_STATE(350)] = 13489, + [SMALL_STATE(351)] = 13539, + [SMALL_STATE(352)] = 13590, + [SMALL_STATE(353)] = 13653, + [SMALL_STATE(354)] = 13728, + [SMALL_STATE(355)] = 13795, + [SMALL_STATE(356)] = 13876, + [SMALL_STATE(357)] = 13957, + [SMALL_STATE(358)] = 14038, + [SMALL_STATE(359)] = 14111, + [SMALL_STATE(360)] = 14188, + [SMALL_STATE(361)] = 14269, + [SMALL_STATE(362)] = 14346, + [SMALL_STATE(363)] = 14427, + [SMALL_STATE(364)] = 14508, + [SMALL_STATE(365)] = 14589, + [SMALL_STATE(366)] = 14666, + [SMALL_STATE(367)] = 14743, + [SMALL_STATE(368)] = 14812, + [SMALL_STATE(369)] = 14883, + [SMALL_STATE(370)] = 14940, + [SMALL_STATE(371)] = 15019, + [SMALL_STATE(372)] = 15098, + [SMALL_STATE(373)] = 15175, + [SMALL_STATE(374)] = 15252, + [SMALL_STATE(375)] = 15329, + [SMALL_STATE(376)] = 15396, + [SMALL_STATE(377)] = 15477, + [SMALL_STATE(378)] = 15554, + [SMALL_STATE(379)] = 15635, + [SMALL_STATE(380)] = 15712, + [SMALL_STATE(381)] = 15777, + [SMALL_STATE(382)] = 15858, + [SMALL_STATE(383)] = 15935, + [SMALL_STATE(384)] = 16002, + [SMALL_STATE(385)] = 16050, + [SMALL_STATE(386)] = 16096, + [SMALL_STATE(387)] = 16172, + [SMALL_STATE(388)] = 16250, + [SMALL_STATE(389)] = 16328, + [SMALL_STATE(390)] = 16406, + [SMALL_STATE(391)] = 16484, + [SMALL_STATE(392)] = 16560, + [SMALL_STATE(393)] = 16638, + [SMALL_STATE(394)] = 16716, + [SMALL_STATE(395)] = 16762, + [SMALL_STATE(396)] = 16808, + [SMALL_STATE(397)] = 16854, + [SMALL_STATE(398)] = 16900, + [SMALL_STATE(399)] = 16946, + [SMALL_STATE(400)] = 16992, + [SMALL_STATE(401)] = 17038, + [SMALL_STATE(402)] = 17084, + [SMALL_STATE(403)] = 17130, + [SMALL_STATE(404)] = 17176, + [SMALL_STATE(405)] = 17222, + [SMALL_STATE(406)] = 17268, + [SMALL_STATE(407)] = 17344, + [SMALL_STATE(408)] = 17390, + [SMALL_STATE(409)] = 17466, + [SMALL_STATE(410)] = 17512, + [SMALL_STATE(411)] = 17558, + [SMALL_STATE(412)] = 17604, + [SMALL_STATE(413)] = 17650, + [SMALL_STATE(414)] = 17696, + [SMALL_STATE(415)] = 17742, + [SMALL_STATE(416)] = 17788, + [SMALL_STATE(417)] = 17834, + [SMALL_STATE(418)] = 17880, + [SMALL_STATE(419)] = 17958, + [SMALL_STATE(420)] = 18004, + [SMALL_STATE(421)] = 18050, + [SMALL_STATE(422)] = 18096, + [SMALL_STATE(423)] = 18142, + [SMALL_STATE(424)] = 18190, + [SMALL_STATE(425)] = 18266, + [SMALL_STATE(426)] = 18312, + [SMALL_STATE(427)] = 18358, + [SMALL_STATE(428)] = 18404, + [SMALL_STATE(429)] = 18482, + [SMALL_STATE(430)] = 18532, + [SMALL_STATE(431)] = 18610, + [SMALL_STATE(432)] = 18656, + [SMALL_STATE(433)] = 18702, + [SMALL_STATE(434)] = 18748, + [SMALL_STATE(435)] = 18794, + [SMALL_STATE(436)] = 18840, + [SMALL_STATE(437)] = 18886, + [SMALL_STATE(438)] = 18932, + [SMALL_STATE(439)] = 18978, + [SMALL_STATE(440)] = 19024, + [SMALL_STATE(441)] = 19070, + [SMALL_STATE(442)] = 19116, + [SMALL_STATE(443)] = 19162, + [SMALL_STATE(444)] = 19211, + [SMALL_STATE(445)] = 19256, + [SMALL_STATE(446)] = 19301, + [SMALL_STATE(447)] = 19376, + [SMALL_STATE(448)] = 19421, + [SMALL_STATE(449)] = 19466, + [SMALL_STATE(450)] = 19541, + [SMALL_STATE(451)] = 19586, + [SMALL_STATE(452)] = 19661, + [SMALL_STATE(453)] = 19706, + [SMALL_STATE(454)] = 19753, + [SMALL_STATE(455)] = 19800, + [SMALL_STATE(456)] = 19845, + [SMALL_STATE(457)] = 19890, + [SMALL_STATE(458)] = 19935, + [SMALL_STATE(459)] = 19980, + [SMALL_STATE(460)] = 20025, + [SMALL_STATE(461)] = 20070, + [SMALL_STATE(462)] = 20145, + [SMALL_STATE(463)] = 20220, + [SMALL_STATE(464)] = 20265, + [SMALL_STATE(465)] = 20340, + [SMALL_STATE(466)] = 20415, + [SMALL_STATE(467)] = 20490, + [SMALL_STATE(468)] = 20565, + [SMALL_STATE(469)] = 20640, + [SMALL_STATE(470)] = 20715, + [SMALL_STATE(471)] = 20760, + [SMALL_STATE(472)] = 20805, + [SMALL_STATE(473)] = 20880, + [SMALL_STATE(474)] = 20925, + [SMALL_STATE(475)] = 20970, + [SMALL_STATE(476)] = 21045, + [SMALL_STATE(477)] = 21091, + [SMALL_STATE(478)] = 21135, + [SMALL_STATE(479)] = 21179, + [SMALL_STATE(480)] = 21231, + [SMALL_STATE(481)] = 21275, + [SMALL_STATE(482)] = 21327, + [SMALL_STATE(483)] = 21371, + [SMALL_STATE(484)] = 21415, + [SMALL_STATE(485)] = 21459, + [SMALL_STATE(486)] = 21528, + [SMALL_STATE(487)] = 21573, + [SMALL_STATE(488)] = 21620, + [SMALL_STATE(489)] = 21683, + [SMALL_STATE(490)] = 21724, + [SMALL_STATE(491)] = 21765, + [SMALL_STATE(492)] = 21811, + [SMALL_STATE(493)] = 21851, + [SMALL_STATE(494)] = 21903, + [SMALL_STATE(495)] = 21957, + [SMALL_STATE(496)] = 22011, + [SMALL_STATE(497)] = 22050, + [SMALL_STATE(498)] = 22089, + [SMALL_STATE(499)] = 22128, + [SMALL_STATE(500)] = 22169, + [SMALL_STATE(501)] = 22208, + [SMALL_STATE(502)] = 22247, + [SMALL_STATE(503)] = 22286, + [SMALL_STATE(504)] = 22329, + [SMALL_STATE(505)] = 22365, + [SMALL_STATE(506)] = 22401, + [SMALL_STATE(507)] = 22437, + [SMALL_STATE(508)] = 22473, + [SMALL_STATE(509)] = 22509, + [SMALL_STATE(510)] = 22545, + [SMALL_STATE(511)] = 22581, + [SMALL_STATE(512)] = 22617, + [SMALL_STATE(513)] = 22653, + [SMALL_STATE(514)] = 22691, + [SMALL_STATE(515)] = 22727, + [SMALL_STATE(516)] = 22763, + [SMALL_STATE(517)] = 22799, + [SMALL_STATE(518)] = 22835, + [SMALL_STATE(519)] = 22871, + [SMALL_STATE(520)] = 22907, + [SMALL_STATE(521)] = 22943, + [SMALL_STATE(522)] = 22979, + [SMALL_STATE(523)] = 23015, + [SMALL_STATE(524)] = 23051, + [SMALL_STATE(525)] = 23087, + [SMALL_STATE(526)] = 23123, + [SMALL_STATE(527)] = 23159, + [SMALL_STATE(528)] = 23195, + [SMALL_STATE(529)] = 23231, + [SMALL_STATE(530)] = 23267, + [SMALL_STATE(531)] = 23303, + [SMALL_STATE(532)] = 23339, + [SMALL_STATE(533)] = 23375, + [SMALL_STATE(534)] = 23411, + [SMALL_STATE(535)] = 23447, + [SMALL_STATE(536)] = 23483, + [SMALL_STATE(537)] = 23519, + [SMALL_STATE(538)] = 23555, + [SMALL_STATE(539)] = 23591, + [SMALL_STATE(540)] = 23627, + [SMALL_STATE(541)] = 23663, + [SMALL_STATE(542)] = 23699, + [SMALL_STATE(543)] = 23735, + [SMALL_STATE(544)] = 23773, + [SMALL_STATE(545)] = 23809, + [SMALL_STATE(546)] = 23845, + [SMALL_STATE(547)] = 23881, + [SMALL_STATE(548)] = 23917, + [SMALL_STATE(549)] = 23953, + [SMALL_STATE(550)] = 23989, + [SMALL_STATE(551)] = 24025, + [SMALL_STATE(552)] = 24061, + [SMALL_STATE(553)] = 24097, + [SMALL_STATE(554)] = 24133, + [SMALL_STATE(555)] = 24169, + [SMALL_STATE(556)] = 24205, + [SMALL_STATE(557)] = 24241, + [SMALL_STATE(558)] = 24277, + [SMALL_STATE(559)] = 24313, + [SMALL_STATE(560)] = 24349, + [SMALL_STATE(561)] = 24381, + [SMALL_STATE(562)] = 24413, + [SMALL_STATE(563)] = 24443, + [SMALL_STATE(564)] = 24468, + [SMALL_STATE(565)] = 24496, + [SMALL_STATE(566)] = 24524, + [SMALL_STATE(567)] = 24557, + [SMALL_STATE(568)] = 24590, + [SMALL_STATE(569)] = 24623, + [SMALL_STATE(570)] = 24652, + [SMALL_STATE(571)] = 24681, + [SMALL_STATE(572)] = 24710, + [SMALL_STATE(573)] = 24739, + [SMALL_STATE(574)] = 24770, + [SMALL_STATE(575)] = 24799, + [SMALL_STATE(576)] = 24830, + [SMALL_STATE(577)] = 24859, + [SMALL_STATE(578)] = 24890, + [SMALL_STATE(579)] = 24919, + [SMALL_STATE(580)] = 24948, + [SMALL_STATE(581)] = 24979, + [SMALL_STATE(582)] = 25010, + [SMALL_STATE(583)] = 25041, + [SMALL_STATE(584)] = 25070, + [SMALL_STATE(585)] = 25089, + [SMALL_STATE(586)] = 25118, + [SMALL_STATE(587)] = 25149, + [SMALL_STATE(588)] = 25178, + [SMALL_STATE(589)] = 25207, + [SMALL_STATE(590)] = 25236, + [SMALL_STATE(591)] = 25262, + [SMALL_STATE(592)] = 25280, + [SMALL_STATE(593)] = 25306, + [SMALL_STATE(594)] = 25332, + [SMALL_STATE(595)] = 25356, + [SMALL_STATE(596)] = 25376, + [SMALL_STATE(597)] = 25402, + [SMALL_STATE(598)] = 25422, + [SMALL_STATE(599)] = 25446, + [SMALL_STATE(600)] = 25466, + [SMALL_STATE(601)] = 25486, + [SMALL_STATE(602)] = 25509, + [SMALL_STATE(603)] = 25532, + [SMALL_STATE(604)] = 25555, + [SMALL_STATE(605)] = 25572, + [SMALL_STATE(606)] = 25595, + [SMALL_STATE(607)] = 25620, + [SMALL_STATE(608)] = 25639, + [SMALL_STATE(609)] = 25656, + [SMALL_STATE(610)] = 25679, + [SMALL_STATE(611)] = 25696, + [SMALL_STATE(612)] = 25719, + [SMALL_STATE(613)] = 25742, + [SMALL_STATE(614)] = 25767, + [SMALL_STATE(615)] = 25786, + [SMALL_STATE(616)] = 25809, + [SMALL_STATE(617)] = 25828, + [SMALL_STATE(618)] = 25853, + [SMALL_STATE(619)] = 25873, + [SMALL_STATE(620)] = 25893, + [SMALL_STATE(621)] = 25905, + [SMALL_STATE(622)] = 25925, + [SMALL_STATE(623)] = 25945, + [SMALL_STATE(624)] = 25957, + [SMALL_STATE(625)] = 25977, + [SMALL_STATE(626)] = 25997, + [SMALL_STATE(627)] = 26017, + [SMALL_STATE(628)] = 26037, + [SMALL_STATE(629)] = 26057, + [SMALL_STATE(630)] = 26077, + [SMALL_STATE(631)] = 26097, + [SMALL_STATE(632)] = 26109, + [SMALL_STATE(633)] = 26125, + [SMALL_STATE(634)] = 26145, + [SMALL_STATE(635)] = 26165, + [SMALL_STATE(636)] = 26176, + [SMALL_STATE(637)] = 26187, + [SMALL_STATE(638)] = 26204, + [SMALL_STATE(639)] = 26215, + [SMALL_STATE(640)] = 26226, + [SMALL_STATE(641)] = 26237, + [SMALL_STATE(642)] = 26248, + [SMALL_STATE(643)] = 26259, + [SMALL_STATE(644)] = 26270, + [SMALL_STATE(645)] = 26287, + [SMALL_STATE(646)] = 26298, + [SMALL_STATE(647)] = 26309, + [SMALL_STATE(648)] = 26320, + [SMALL_STATE(649)] = 26331, + [SMALL_STATE(650)] = 26342, + [SMALL_STATE(651)] = 26353, + [SMALL_STATE(652)] = 26364, + [SMALL_STATE(653)] = 26375, + [SMALL_STATE(654)] = 26394, + [SMALL_STATE(655)] = 26405, + [SMALL_STATE(656)] = 26424, + [SMALL_STATE(657)] = 26435, + [SMALL_STATE(658)] = 26452, + [SMALL_STATE(659)] = 26469, + [SMALL_STATE(660)] = 26486, + [SMALL_STATE(661)] = 26503, + [SMALL_STATE(662)] = 26514, + [SMALL_STATE(663)] = 26531, + [SMALL_STATE(664)] = 26542, + [SMALL_STATE(665)] = 26553, + [SMALL_STATE(666)] = 26564, + [SMALL_STATE(667)] = 26575, + [SMALL_STATE(668)] = 26590, + [SMALL_STATE(669)] = 26601, + [SMALL_STATE(670)] = 26618, + [SMALL_STATE(671)] = 26637, + [SMALL_STATE(672)] = 26654, + [SMALL_STATE(673)] = 26669, + [SMALL_STATE(674)] = 26688, + [SMALL_STATE(675)] = 26699, + [SMALL_STATE(676)] = 26710, + [SMALL_STATE(677)] = 26725, + [SMALL_STATE(678)] = 26736, + [SMALL_STATE(679)] = 26751, + [SMALL_STATE(680)] = 26762, + [SMALL_STATE(681)] = 26773, + [SMALL_STATE(682)] = 26784, + [SMALL_STATE(683)] = 26795, + [SMALL_STATE(684)] = 26806, + [SMALL_STATE(685)] = 26817, + [SMALL_STATE(686)] = 26828, + [SMALL_STATE(687)] = 26839, + [SMALL_STATE(688)] = 26850, + [SMALL_STATE(689)] = 26861, + [SMALL_STATE(690)] = 26872, + [SMALL_STATE(691)] = 26883, + [SMALL_STATE(692)] = 26900, + [SMALL_STATE(693)] = 26917, + [SMALL_STATE(694)] = 26930, + [SMALL_STATE(695)] = 26945, + [SMALL_STATE(696)] = 26956, + [SMALL_STATE(697)] = 26967, + [SMALL_STATE(698)] = 26978, + [SMALL_STATE(699)] = 26989, + [SMALL_STATE(700)] = 27000, + [SMALL_STATE(701)] = 27017, + [SMALL_STATE(702)] = 27032, + [SMALL_STATE(703)] = 27049, + [SMALL_STATE(704)] = 27066, + [SMALL_STATE(705)] = 27077, + [SMALL_STATE(706)] = 27088, + [SMALL_STATE(707)] = 27107, + [SMALL_STATE(708)] = 27118, + [SMALL_STATE(709)] = 27135, + [SMALL_STATE(710)] = 27146, + [SMALL_STATE(711)] = 27163, + [SMALL_STATE(712)] = 27182, + [SMALL_STATE(713)] = 27199, + [SMALL_STATE(714)] = 27216, + [SMALL_STATE(715)] = 27227, + [SMALL_STATE(716)] = 27244, + [SMALL_STATE(717)] = 27255, + [SMALL_STATE(718)] = 27272, + [SMALL_STATE(719)] = 27283, + [SMALL_STATE(720)] = 27297, + [SMALL_STATE(721)] = 27311, + [SMALL_STATE(722)] = 27327, + [SMALL_STATE(723)] = 27341, + [SMALL_STATE(724)] = 27357, + [SMALL_STATE(725)] = 27371, + [SMALL_STATE(726)] = 27385, + [SMALL_STATE(727)] = 27401, + [SMALL_STATE(728)] = 27411, + [SMALL_STATE(729)] = 27421, + [SMALL_STATE(730)] = 27435, + [SMALL_STATE(731)] = 27451, + [SMALL_STATE(732)] = 27465, + [SMALL_STATE(733)] = 27481, + [SMALL_STATE(734)] = 27491, + [SMALL_STATE(735)] = 27507, + [SMALL_STATE(736)] = 27523, + [SMALL_STATE(737)] = 27537, + [SMALL_STATE(738)] = 27553, + [SMALL_STATE(739)] = 27569, + [SMALL_STATE(740)] = 27583, + [SMALL_STATE(741)] = 27597, + [SMALL_STATE(742)] = 27611, + [SMALL_STATE(743)] = 27625, + [SMALL_STATE(744)] = 27641, + [SMALL_STATE(745)] = 27657, + [SMALL_STATE(746)] = 27673, + [SMALL_STATE(747)] = 27689, + [SMALL_STATE(748)] = 27703, + [SMALL_STATE(749)] = 27719, + [SMALL_STATE(750)] = 27733, + [SMALL_STATE(751)] = 27749, + [SMALL_STATE(752)] = 27763, + [SMALL_STATE(753)] = 27773, + [SMALL_STATE(754)] = 27787, + [SMALL_STATE(755)] = 27803, + [SMALL_STATE(756)] = 27817, + [SMALL_STATE(757)] = 27833, + [SMALL_STATE(758)] = 27849, + [SMALL_STATE(759)] = 27863, + [SMALL_STATE(760)] = 27877, + [SMALL_STATE(761)] = 27893, + [SMALL_STATE(762)] = 27907, + [SMALL_STATE(763)] = 27923, + [SMALL_STATE(764)] = 27937, + [SMALL_STATE(765)] = 27951, + [SMALL_STATE(766)] = 27964, + [SMALL_STATE(767)] = 27977, + [SMALL_STATE(768)] = 27990, + [SMALL_STATE(769)] = 28003, + [SMALL_STATE(770)] = 28014, + [SMALL_STATE(771)] = 28027, + [SMALL_STATE(772)] = 28040, + [SMALL_STATE(773)] = 28053, + [SMALL_STATE(774)] = 28064, + [SMALL_STATE(775)] = 28077, + [SMALL_STATE(776)] = 28090, + [SMALL_STATE(777)] = 28099, + [SMALL_STATE(778)] = 28112, + [SMALL_STATE(779)] = 28125, + [SMALL_STATE(780)] = 28138, + [SMALL_STATE(781)] = 28147, + [SMALL_STATE(782)] = 28160, + [SMALL_STATE(783)] = 28173, + [SMALL_STATE(784)] = 28182, + [SMALL_STATE(785)] = 28191, + [SMALL_STATE(786)] = 28200, + [SMALL_STATE(787)] = 28209, + [SMALL_STATE(788)] = 28222, + [SMALL_STATE(789)] = 28233, + [SMALL_STATE(790)] = 28244, + [SMALL_STATE(791)] = 28255, + [SMALL_STATE(792)] = 28264, + [SMALL_STATE(793)] = 28273, + [SMALL_STATE(794)] = 28282, + [SMALL_STATE(795)] = 28295, + [SMALL_STATE(796)] = 28308, + [SMALL_STATE(797)] = 28321, + [SMALL_STATE(798)] = 28334, + [SMALL_STATE(799)] = 28347, + [SMALL_STATE(800)] = 28360, + [SMALL_STATE(801)] = 28373, + [SMALL_STATE(802)] = 28386, + [SMALL_STATE(803)] = 28399, + [SMALL_STATE(804)] = 28412, + [SMALL_STATE(805)] = 28425, + [SMALL_STATE(806)] = 28438, + [SMALL_STATE(807)] = 28451, + [SMALL_STATE(808)] = 28464, + [SMALL_STATE(809)] = 28475, + [SMALL_STATE(810)] = 28488, + [SMALL_STATE(811)] = 28497, + [SMALL_STATE(812)] = 28510, + [SMALL_STATE(813)] = 28519, + [SMALL_STATE(814)] = 28528, + [SMALL_STATE(815)] = 28539, + [SMALL_STATE(816)] = 28552, + [SMALL_STATE(817)] = 28565, + [SMALL_STATE(818)] = 28574, + [SMALL_STATE(819)] = 28583, + [SMALL_STATE(820)] = 28596, + [SMALL_STATE(821)] = 28609, + [SMALL_STATE(822)] = 28620, + [SMALL_STATE(823)] = 28629, + [SMALL_STATE(824)] = 28642, + [SMALL_STATE(825)] = 28655, + [SMALL_STATE(826)] = 28664, + [SMALL_STATE(827)] = 28677, + [SMALL_STATE(828)] = 28686, + [SMALL_STATE(829)] = 28699, + [SMALL_STATE(830)] = 28712, + [SMALL_STATE(831)] = 28723, + [SMALL_STATE(832)] = 28736, + [SMALL_STATE(833)] = 28745, + [SMALL_STATE(834)] = 28758, + [SMALL_STATE(835)] = 28767, + [SMALL_STATE(836)] = 28776, + [SMALL_STATE(837)] = 28787, + [SMALL_STATE(838)] = 28796, + [SMALL_STATE(839)] = 28809, + [SMALL_STATE(840)] = 28822, + [SMALL_STATE(841)] = 28835, + [SMALL_STATE(842)] = 28848, + [SMALL_STATE(843)] = 28861, + [SMALL_STATE(844)] = 28874, + [SMALL_STATE(845)] = 28887, + [SMALL_STATE(846)] = 28900, + [SMALL_STATE(847)] = 28913, + [SMALL_STATE(848)] = 28926, + [SMALL_STATE(849)] = 28939, + [SMALL_STATE(850)] = 28952, + [SMALL_STATE(851)] = 28965, + [SMALL_STATE(852)] = 28978, + [SMALL_STATE(853)] = 28991, + [SMALL_STATE(854)] = 29000, + [SMALL_STATE(855)] = 29013, + [SMALL_STATE(856)] = 29026, + [SMALL_STATE(857)] = 29039, + [SMALL_STATE(858)] = 29052, + [SMALL_STATE(859)] = 29063, + [SMALL_STATE(860)] = 29076, + [SMALL_STATE(861)] = 29089, + [SMALL_STATE(862)] = 29102, + [SMALL_STATE(863)] = 29115, + [SMALL_STATE(864)] = 29128, + [SMALL_STATE(865)] = 29139, + [SMALL_STATE(866)] = 29152, + [SMALL_STATE(867)] = 29165, + [SMALL_STATE(868)] = 29178, + [SMALL_STATE(869)] = 29191, + [SMALL_STATE(870)] = 29204, + [SMALL_STATE(871)] = 29215, + [SMALL_STATE(872)] = 29228, + [SMALL_STATE(873)] = 29241, + [SMALL_STATE(874)] = 29254, + [SMALL_STATE(875)] = 29265, + [SMALL_STATE(876)] = 29278, + [SMALL_STATE(877)] = 29291, + [SMALL_STATE(878)] = 29304, + [SMALL_STATE(879)] = 29317, + [SMALL_STATE(880)] = 29326, + [SMALL_STATE(881)] = 29339, + [SMALL_STATE(882)] = 29350, + [SMALL_STATE(883)] = 29363, + [SMALL_STATE(884)] = 29376, + [SMALL_STATE(885)] = 29389, + [SMALL_STATE(886)] = 29398, + [SMALL_STATE(887)] = 29411, + [SMALL_STATE(888)] = 29424, + [SMALL_STATE(889)] = 29437, + [SMALL_STATE(890)] = 29450, + [SMALL_STATE(891)] = 29463, + [SMALL_STATE(892)] = 29476, + [SMALL_STATE(893)] = 29489, + [SMALL_STATE(894)] = 29500, + [SMALL_STATE(895)] = 29511, + [SMALL_STATE(896)] = 29524, + [SMALL_STATE(897)] = 29537, + [SMALL_STATE(898)] = 29547, + [SMALL_STATE(899)] = 29557, + [SMALL_STATE(900)] = 29565, + [SMALL_STATE(901)] = 29573, + [SMALL_STATE(902)] = 29583, + [SMALL_STATE(903)] = 29591, + [SMALL_STATE(904)] = 29599, + [SMALL_STATE(905)] = 29609, + [SMALL_STATE(906)] = 29619, + [SMALL_STATE(907)] = 29629, + [SMALL_STATE(908)] = 29639, + [SMALL_STATE(909)] = 29647, + [SMALL_STATE(910)] = 29657, + [SMALL_STATE(911)] = 29665, + [SMALL_STATE(912)] = 29675, + [SMALL_STATE(913)] = 29683, + [SMALL_STATE(914)] = 29691, + [SMALL_STATE(915)] = 29699, + [SMALL_STATE(916)] = 29709, + [SMALL_STATE(917)] = 29719, + [SMALL_STATE(918)] = 29729, + [SMALL_STATE(919)] = 29737, + [SMALL_STATE(920)] = 29747, + [SMALL_STATE(921)] = 29755, + [SMALL_STATE(922)] = 29765, + [SMALL_STATE(923)] = 29773, + [SMALL_STATE(924)] = 29783, + [SMALL_STATE(925)] = 29791, + [SMALL_STATE(926)] = 29799, + [SMALL_STATE(927)] = 29809, + [SMALL_STATE(928)] = 29819, + [SMALL_STATE(929)] = 29829, + [SMALL_STATE(930)] = 29837, + [SMALL_STATE(931)] = 29847, + [SMALL_STATE(932)] = 29855, + [SMALL_STATE(933)] = 29863, + [SMALL_STATE(934)] = 29873, + [SMALL_STATE(935)] = 29883, + [SMALL_STATE(936)] = 29891, + [SMALL_STATE(937)] = 29899, + [SMALL_STATE(938)] = 29907, + [SMALL_STATE(939)] = 29915, + [SMALL_STATE(940)] = 29925, + [SMALL_STATE(941)] = 29935, + [SMALL_STATE(942)] = 29943, + [SMALL_STATE(943)] = 29951, + [SMALL_STATE(944)] = 29958, + [SMALL_STATE(945)] = 29965, + [SMALL_STATE(946)] = 29972, + [SMALL_STATE(947)] = 29979, + [SMALL_STATE(948)] = 29986, + [SMALL_STATE(949)] = 29993, + [SMALL_STATE(950)] = 30000, + [SMALL_STATE(951)] = 30007, + [SMALL_STATE(952)] = 30014, + [SMALL_STATE(953)] = 30021, + [SMALL_STATE(954)] = 30028, + [SMALL_STATE(955)] = 30035, + [SMALL_STATE(956)] = 30042, + [SMALL_STATE(957)] = 30049, + [SMALL_STATE(958)] = 30056, + [SMALL_STATE(959)] = 30063, + [SMALL_STATE(960)] = 30070, + [SMALL_STATE(961)] = 30077, + [SMALL_STATE(962)] = 30084, + [SMALL_STATE(963)] = 30091, + [SMALL_STATE(964)] = 30098, + [SMALL_STATE(965)] = 30105, + [SMALL_STATE(966)] = 30112, + [SMALL_STATE(967)] = 30119, + [SMALL_STATE(968)] = 30126, + [SMALL_STATE(969)] = 30133, + [SMALL_STATE(970)] = 30140, + [SMALL_STATE(971)] = 30147, + [SMALL_STATE(972)] = 30154, + [SMALL_STATE(973)] = 30161, + [SMALL_STATE(974)] = 30168, + [SMALL_STATE(975)] = 30175, + [SMALL_STATE(976)] = 30182, + [SMALL_STATE(977)] = 30189, + [SMALL_STATE(978)] = 30196, + [SMALL_STATE(979)] = 30203, + [SMALL_STATE(980)] = 30210, + [SMALL_STATE(981)] = 30217, + [SMALL_STATE(982)] = 30224, + [SMALL_STATE(983)] = 30231, + [SMALL_STATE(984)] = 30238, + [SMALL_STATE(985)] = 30245, + [SMALL_STATE(986)] = 30252, + [SMALL_STATE(987)] = 30259, + [SMALL_STATE(988)] = 30266, + [SMALL_STATE(989)] = 30273, + [SMALL_STATE(990)] = 30280, + [SMALL_STATE(991)] = 30287, + [SMALL_STATE(992)] = 30294, + [SMALL_STATE(993)] = 30301, + [SMALL_STATE(994)] = 30308, + [SMALL_STATE(995)] = 30315, + [SMALL_STATE(996)] = 30322, + [SMALL_STATE(997)] = 30329, + [SMALL_STATE(998)] = 30336, + [SMALL_STATE(999)] = 30343, + [SMALL_STATE(1000)] = 30350, + [SMALL_STATE(1001)] = 30357, + [SMALL_STATE(1002)] = 30364, + [SMALL_STATE(1003)] = 30371, + [SMALL_STATE(1004)] = 30378, + [SMALL_STATE(1005)] = 30385, + [SMALL_STATE(1006)] = 30392, + [SMALL_STATE(1007)] = 30399, + [SMALL_STATE(1008)] = 30406, + [SMALL_STATE(1009)] = 30413, + [SMALL_STATE(1010)] = 30420, + [SMALL_STATE(1011)] = 30427, + [SMALL_STATE(1012)] = 30434, + [SMALL_STATE(1013)] = 30441, + [SMALL_STATE(1014)] = 30448, + [SMALL_STATE(1015)] = 30455, + [SMALL_STATE(1016)] = 30462, + [SMALL_STATE(1017)] = 30469, + [SMALL_STATE(1018)] = 30476, + [SMALL_STATE(1019)] = 30483, + [SMALL_STATE(1020)] = 30490, + [SMALL_STATE(1021)] = 30497, + [SMALL_STATE(1022)] = 30504, + [SMALL_STATE(1023)] = 30511, + [SMALL_STATE(1024)] = 30518, + [SMALL_STATE(1025)] = 30525, + [SMALL_STATE(1026)] = 30532, + [SMALL_STATE(1027)] = 30539, + [SMALL_STATE(1028)] = 30546, + [SMALL_STATE(1029)] = 30553, + [SMALL_STATE(1030)] = 30560, + [SMALL_STATE(1031)] = 30567, + [SMALL_STATE(1032)] = 30574, + [SMALL_STATE(1033)] = 30581, + [SMALL_STATE(1034)] = 30588, + [SMALL_STATE(1035)] = 30595, + [SMALL_STATE(1036)] = 30602, + [SMALL_STATE(1037)] = 30609, + [SMALL_STATE(1038)] = 30616, + [SMALL_STATE(1039)] = 30623, + [SMALL_STATE(1040)] = 30630, + [SMALL_STATE(1041)] = 30637, + [SMALL_STATE(1042)] = 30644, + [SMALL_STATE(1043)] = 30651, + [SMALL_STATE(1044)] = 30658, + [SMALL_STATE(1045)] = 30665, + [SMALL_STATE(1046)] = 30672, + [SMALL_STATE(1047)] = 30679, + [SMALL_STATE(1048)] = 30686, + [SMALL_STATE(1049)] = 30693, + [SMALL_STATE(1050)] = 30700, + [SMALL_STATE(1051)] = 30707, + [SMALL_STATE(1052)] = 30714, + [SMALL_STATE(1053)] = 30721, + [SMALL_STATE(1054)] = 30728, + [SMALL_STATE(1055)] = 30735, + [SMALL_STATE(1056)] = 30742, + [SMALL_STATE(1057)] = 30749, + [SMALL_STATE(1058)] = 30756, + [SMALL_STATE(1059)] = 30763, + [SMALL_STATE(1060)] = 30770, + [SMALL_STATE(1061)] = 30777, + [SMALL_STATE(1062)] = 30784, + [SMALL_STATE(1063)] = 30791, + [SMALL_STATE(1064)] = 30798, + [SMALL_STATE(1065)] = 30805, + [SMALL_STATE(1066)] = 30812, + [SMALL_STATE(1067)] = 30819, + [SMALL_STATE(1068)] = 30826, + [SMALL_STATE(1069)] = 30833, + [SMALL_STATE(1070)] = 30840, + [SMALL_STATE(1071)] = 30847, + [SMALL_STATE(1072)] = 30854, + [SMALL_STATE(1073)] = 30861, + [SMALL_STATE(1074)] = 30868, + [SMALL_STATE(1075)] = 30875, +}; + +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_source_file, 0), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(489), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(808), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(423), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(945), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(573), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(621), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), + [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(755), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(232), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(183), + [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(132), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(751), + [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(541), + [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(385), + [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(540), + [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(580), + [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), + [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(548), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), + [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(214), + [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(181), + [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(433), + [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(419), + [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), + [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(582), + [99] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), + [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), + [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), + [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(513), + [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(427), + [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10), + [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(577), + [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(483), + [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), + [125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), + [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(634), + [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), + [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), + [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(736), + [141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), + [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), + [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), + [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(496), + [157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(575), + [159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), + [161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(822), + [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(523), + [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), + [175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), + [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1073), + [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), + [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(544), + [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484), + [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), + [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(547), + [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), + [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), + [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), + [205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), + [207] = {.entry = {.count = 1, .reusable = false}}, SHIFT(543), + [209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), + [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(581), + [219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), + [221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(422), + [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(625), + [229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), + [231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), + [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), + [235] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), + [237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(749), + [239] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), + [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(503), + [243] = {.entry = {.count = 1, .reusable = false}}, SHIFT(554), + [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(554), + [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(499), + [249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(223), + [251] = {.entry = {.count = 1, .reusable = false}}, SHIFT(536), + [253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatables, 2, .production_id = 17), + [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatables, 2, .production_id = 17), + [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_concatables_repeat1, 2), + [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_concatables_repeat1, 2), + [263] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatables_repeat1, 2), SHIFT_REPEAT(751), + [266] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatables_repeat1, 2), SHIFT_REPEAT(171), + [269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_call_expr, 2, .production_id = 2), + [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_call_expr, 2, .production_id = 2), + [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_call_expr, 3, .production_id = 5), + [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_call_expr, 3, .production_id = 5), + [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_string, 3, .production_id = 42), + [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_string, 3, .production_id = 42), + [283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_call_args, 4, .production_id = 75), + [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_call_args, 4, .production_id = 75), + [287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__concatable, 1), + [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__concatable, 1), + [291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__macro_name, 1), + [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__macro_name, 1), + [295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_call_args, 3, .production_id = 46), + [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_call_args, 3, .production_id = 46), + [299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_call_args, 2), + [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_call_args, 2), + [303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expr, 4, .production_id = 52), + [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expr, 4, .production_id = 52), + [307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_expr_update, 4, .production_id = 29), + [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expr_update, 4, .production_id = 29), + [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_index_expr, 2, .production_id = 15), + [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_index_expr, 2, .production_id = 15), + [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_receive_expr, 4, .production_id = 69), + [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_receive_expr, 4, .production_id = 69), + [319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_expr, 3, .production_id = 41), + [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_expr, 3, .production_id = 41), + [323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__try_catch, 3, .production_id = 97), + [325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__try_catch, 3, .production_id = 97), + [327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_expr, 4, .production_id = 7), + [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_expr, 4, .production_id = 7), + [331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3, .production_id = 32), + [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3, .production_id = 32), + [335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_receive_expr, 2), + [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_receive_expr, 2), + [339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 4, .production_id = 64), + [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 4, .production_id = 64), + [343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__try_catch, 3, .production_id = 40), + [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__try_catch, 3, .production_id = 40), + [347] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 2), + [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 2), + [351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expr, 2, .production_id = 16), + [353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expr, 2, .production_id = 16), + [355] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_receive_expr, 3, .production_id = 40), + [357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_receive_expr, 3, .production_id = 40), + [359] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__try_catch, 4, .production_id = 114), + [361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__try_catch, 4, .production_id = 114), + [363] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_expr, 5, .production_id = 98), + [365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_expr, 5, .production_id = 98), + [367] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_receive_expr, 3, .production_id = 39), + [369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_receive_expr, 3, .production_id = 39), + [371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary, 4, .production_id = 59), + [373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary, 4, .production_id = 59), + [375] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__try_catch, 2, .production_id = 70), + [377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__try_catch, 2, .production_id = 70), + [379] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_comprehension, 4, .production_id = 53), + [381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_comprehension, 4, .production_id = 53), + [383] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__try_catch, 4, .production_id = 115), + [385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__try_catch, 4, .production_id = 115), + [387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block_expr, 4, .production_id = 54), + [389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_expr, 4, .production_id = 54), + [391] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_expr, 4, .production_id = 71), + [393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_expr, 4, .production_id = 71), + [395] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_field_name, 2, .production_id = 2), + [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_name, 2, .production_id = 2), + [399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_expr, 5, .production_id = 95), + [401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_expr, 5, .production_id = 95), + [403] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary, 2), + [405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary, 2), + [407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_expr, 3), + [409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expr, 3), + [411] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_fun, 4, .production_id = 52), + [413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_fun, 4, .production_id = 52), + [415] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__record_tuple, 3, .production_id = 72), + [417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_tuple, 3, .production_id = 72), + [419] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arity, 2, .production_id = 57), + [421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arity, 2, .production_id = 57), + [423] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 3, .production_id = 7), + [425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 3, .production_id = 7), + [427] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__arity_value, 1), + [429] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__arity_value, 1), + [431] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_expr, 6, .production_id = 118), + [433] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_expr, 6, .production_id = 118), + [435] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_external_fun, 4, .production_id = 56), + [437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_fun, 4, .production_id = 56), + [439] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__record_tuple, 2), + [441] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_tuple, 2), + [443] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2), + [445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2), + [447] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fun_type, 4, .production_id = 55), + [449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_type, 4, .production_id = 55), + [451] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 4, .production_id = 54), + [453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 4, .production_id = 54), + [455] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_field_expr, 3, .production_id = 44), + [457] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field_expr, 3, .production_id = 44), + [459] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expr, 2), + [461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expr, 2), + [463] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_comprehension, 4, .production_id = 53), + [465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_comprehension, 4, .production_id = 53), + [467] = {.entry = {.count = 1, .reusable = false}}, SHIFT(489), + [469] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1069), + [471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1069), + [473] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1068), + [475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1068), + [477] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1067), + [479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1067), + [481] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1066), + [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1066), + [485] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1065), + [487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1065), + [489] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1064), + [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1064), + [493] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1063), + [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1063), + [497] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), + [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [501] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), + [503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [505] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1062), + [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1062), + [509] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1061), + [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1061), + [513] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1060), + [515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1060), + [517] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1059), + [519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1059), + [521] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1058), + [523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1058), + [525] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1057), + [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1057), + [529] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1056), + [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1056), + [533] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1055), + [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1055), + [537] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1054), + [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1054), + [541] = {.entry = {.count = 1, .reusable = false}}, SHIFT(593), + [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(593), + [545] = {.entry = {.count = 1, .reusable = false}}, SHIFT(592), + [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(592), + [549] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1051), + [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1051), + [553] = {.entry = {.count = 1, .reusable = false}}, SHIFT(574), + [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(574), + [557] = {.entry = {.count = 1, .reusable = false}}, SHIFT(588), + [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(588), + [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(773), + [563] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_paren_expr, 3, .production_id = 7), + [565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_paren_expr, 3, .production_id = 7), + [567] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_update_expr, 3, .production_id = 45), + [569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_update_expr, 3, .production_id = 45), + [571] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary, 3, .production_id = 35), + [573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary, 3, .production_id = 35), + [575] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expr, 3, .production_id = 19), + [577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expr, 3, .production_id = 19), + [579] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr, 1), + [581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), + [583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_expr_base, 1), + [585] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_expr, 5, .production_id = 93), + [587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expr, 5, .production_id = 93), + [589] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__try_catch, 2), + [591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__try_catch, 2), + [593] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__record_tuple, 4, .production_id = 100), + [595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_tuple, 4, .production_id = 100), + [597] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_expr, 4, .production_id = 66), + [599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expr, 4, .production_id = 66), + [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__map_expr_base, 1), + [603] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block_expr, 3, .production_id = 32), + [605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_expr, 3, .production_id = 32), + [607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_expr_update, 6, .production_id = 119), + [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expr_update, 6, .production_id = 119), + [611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_call_none, 2, .production_id = 2), + [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_call_none, 2, .production_id = 2), + [615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fun_type, 3), + [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_type, 3), + [619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_args, 2), + [621] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_args, 2), + [623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr_max, 1), + [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr_max, 1), + [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(560), + [629] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__try_catch, 5, .production_id = 128), + [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__try_catch, 5, .production_id = 128), + [633] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__name, 1), + [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__name, 1), + [637] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_internal_fun, 3, .production_id = 33), + [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_internal_fun, 3, .production_id = 33), + [641] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_expr_update, 5, .production_id = 99), + [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_expr_update, 5, .production_id = 99), + [645] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_fun, 3, .production_id = 19), + [647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_fun, 3, .production_id = 19), + [649] = {.entry = {.count = 1, .reusable = false}}, SHIFT(563), + [651] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__map_expr_base, 1), REDUCE(sym__record_expr_base, 1), + [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(740), + [656] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_remote, 2, .production_id = 14), + [658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_remote, 2, .production_id = 14), + [660] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 2, .production_id = 12), + [662] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 2, .production_id = 12), + [664] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_args, 4, .production_id = 75), + [666] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_args, 4, .production_id = 75), + [668] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_args, 3, .production_id = 46), + [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_args, 3, .production_id = 46), + [672] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_op_expr, 3, .production_id = 43), + [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_op_expr, 3, .production_id = 43), + [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [684] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146), + [686] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), + [688] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pipe, 3, .production_id = 43), + [690] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pipe, 3, .production_id = 43), + [692] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), + [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [696] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), + [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_expr, 2, .production_id = 7), + [706] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_catch_expr, 2, .production_id = 7), + [708] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ann_type, 2, .production_id = 10), + [710] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ann_type, 2, .production_id = 10), + [712] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_op_expr, 2, .production_id = 18), + [714] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_op_expr, 2, .production_id = 18), + [716] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_type, 3, .production_id = 43), + [718] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_type, 3, .production_id = 43), + [720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expr, 3, .production_id = 43), + [722] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expr, 3, .production_id = 43), + [724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), + [726] = {.entry = {.count = 1, .reusable = false}}, SHIFT(586), + [728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440), + [730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(764), + [732] = {.entry = {.count = 1, .reusable = false}}, SHIFT(392), + [734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(546), + [738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), + [740] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatables_repeat1, 2), SHIFT_REPEAT(736), + [743] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatables_repeat1, 2), SHIFT_REPEAT(307), + [746] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_clause_body_repeat1, 2, .production_id = 32), + [748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [750] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), + [752] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__macro_def_replacement, 1, .dynamic_precedence = 5), REDUCE(sym_replacement_guard_and, 1, .production_id = 79), + [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_replacement_guard_and, 1, .production_id = 79), + [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [767] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [781] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), + [783] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_clause_body, 2, .production_id = 32), + [785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [801] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_clause_body, 2, .production_id = 32), + [803] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), + [805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [811] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), + [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [815] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), + [817] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), + [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [825] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149), + [827] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__macro_body_expr, 1), + [829] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__macro_body_expr, 1), + [831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__cr_clause_or_macro, 1), + [833] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_clause_body_repeat1, 2, .production_id = 32), + [835] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expr_max, 1), REDUCE(sym__name, 1), + [838] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym_macro_call_expr, 2, .production_id = 2), REDUCE(sym_macro_call_none, 2, .production_id = 2), SHIFT(30), + [842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [844] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), + [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [852] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), + [854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [866] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), + [868] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), + [870] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_sig, 3, .production_id = 89), + [872] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_sig, 3, .production_id = 89), + [874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(778), + [876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [880] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), + [882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [894] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117), + [896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(512), + [898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [900] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym__function_or_macro_clause, 1), REDUCE(sym__cr_clause_or_macro, 1), REDUCE(sym__macro_body_expr, 1), + [904] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expr_max, 1), REDUCE(sym__concatable, 1), + [907] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lc_expr, 1), + [909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), + [915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [917] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120), + [919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [921] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_guard_clause, 1, .production_id = 6), + [923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [927] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), + [929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [941] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), + [943] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_expr_args, 2), REDUCE(sym_fun_type, 3), + [946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, .production_id = 1), + [948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), + [950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), + [952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), + [956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), + [958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [960] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_after, 2, .production_id = 32), + [962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476), + [966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator, 3, .production_id = 43), + [968] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_expr, 2, .production_id = 7), + [970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [972] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_expr, 1, .production_id = 29), + [974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(506), + [978] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_replacement_guard_and_repeat1, 2, .production_id = 47), + [980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(511), + [982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [984] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_b_generator, 3, .production_id = 43), + [986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [988] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(489), + [991] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(216), + [994] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(808), + [997] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_type, 2, .production_id = 7), + [999] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2, .production_id = 7), + [1001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_field, 3, .production_id = 92), + [1003] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expr_args_repeat1, 2, .production_id = 46), + [1005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_expr, 3, .production_id = 90), + [1007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(563), + [1009] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_def, 3, .production_id = 49), + [1011] = {.entry = {.count = 1, .reusable = false}}, SHIFT(683), + [1013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1040), + [1015] = {.entry = {.count = 1, .reusable = false}}, SHIFT(651), + [1017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [1019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [1021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [1023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(517), + [1025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [1027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1007), + [1029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), + [1031] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_type_sig, 3, .production_id = 89), + [1033] = {.entry = {.count = 1, .reusable = false}}, SHIFT(649), + [1035] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatables_repeat1, 2), SHIFT_REPEAT(740), + [1038] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatables_repeat1, 2), SHIFT_REPEAT(502), + [1041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502), + [1043] = {.entry = {.count = 1, .reusable = false}}, SHIFT(247), + [1045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1021), + [1047] = {.entry = {.count = 1, .reusable = false}}, SHIFT(250), + [1049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [1051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [1053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [1055] = {.entry = {.count = 1, .reusable = false}}, SHIFT(244), + [1057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [1059] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_op_catch_pat, 3, .production_id = 43), + [1061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_op_catch_pat, 3, .production_id = 43), + [1063] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_catch_pat, 3, .production_id = 43), + [1065] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_catch_pat, 3, .production_id = 43), + [1067] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__catch_pat, 1), + [1069] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__catch_pat, 1), + [1071] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ann_var, 2, .production_id = 9), + [1073] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ann_var, 2, .production_id = 9), + [1075] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_name, 2, .production_id = 2), + [1077] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_name, 2, .production_id = 2), + [1079] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_class, 2, .production_id = 96), + [1081] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_class, 2, .production_id = 96), + [1083] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_remote_module, 2, .production_id = 13), + [1085] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_remote_module, 2, .production_id = 13), + [1087] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatables_repeat1, 2), SHIFT_REPEAT(764), + [1090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(686), + [1092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(594), + [1094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(688), + [1096] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fun_decl_repeat1, 2, .production_id = 21), SHIFT_REPEAT(489), + [1099] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_fun_decl_repeat1, 2, .production_id = 21), + [1101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fun_decl_repeat1, 2, .production_id = 21), SHIFT_REPEAT(594), + [1104] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fun_decl_repeat1, 2, .production_id = 21), SHIFT_REPEAT(808), + [1107] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_export_type_attribute_repeat1, 2, .production_id = 108), SHIFT_REPEAT(489), + [1110] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_export_type_attribute_repeat1, 2, .production_id = 108), SHIFT_REPEAT(630), + [1113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_export_type_attribute_repeat1, 2, .production_id = 108), + [1115] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_export_type_attribute_repeat1, 2, .production_id = 108), SHIFT_REPEAT(773), + [1118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(618), + [1120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1044), + [1122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(630), + [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1042), + [1126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(629), + [1128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1049), + [1130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [1132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(722), + [1134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(612), + [1136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [1138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1005), + [1140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [1142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(982), + [1144] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_callbacks_attribute_repeat1, 2, .production_id = 107), SHIFT_REPEAT(489), + [1147] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_callbacks_attribute_repeat1, 2, .production_id = 107), SHIFT_REPEAT(618), + [1150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_callbacks_attribute_repeat1, 2, .production_id = 107), + [1152] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_optional_callbacks_attribute_repeat1, 2, .production_id = 107), SHIFT_REPEAT(773), + [1155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [1157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [1159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [1161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(991), + [1163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_clause_body_repeat1, 2, .production_id = 51), + [1165] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_clause_body_repeat1, 2, .production_id = 51), SHIFT_REPEAT(113), + [1168] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_export_attribute_repeat1, 2, .production_id = 105), SHIFT_REPEAT(489), + [1171] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_export_attribute_repeat1, 2, .production_id = 105), SHIFT_REPEAT(629), + [1174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_export_attribute_repeat1, 2, .production_id = 105), + [1176] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_export_attribute_repeat1, 2, .production_id = 105), SHIFT_REPEAT(773), + [1179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(951), + [1181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1010), + [1183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(976), + [1185] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_macro_call_none, 2, .production_id = 2), SHIFT(30), + [1188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(626), + [1190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1016), + [1192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), + [1194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), + [1196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_clause_body, 3, .production_id = 54), + [1198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1023), + [1200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [1202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bit_expr, 1), + [1204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [1206] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_clause_body_repeat1, 2, .production_id = 51), SHIFT_REPEAT(153), + [1209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [1211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1047), + [1213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [1215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(944), + [1217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [1219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1030), + [1221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(881), + [1223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(885), + [1225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_or_macro_clause, 1), + [1227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [1229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 1, .production_id = 24), + [1231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [1233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [1235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_clause, 4, .production_id = 48), + [1237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pp_include_repeat1, 2), + [1239] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pp_include_repeat1, 2), SHIFT_REPEAT(881), + [1242] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_pp_include_repeat1, 2), SHIFT_REPEAT(885), + [1245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [1247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bin_element, 1, .production_id = 8), + [1249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [1251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596), + [1253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_clause, 3, .production_id = 22), + [1255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__cr_clauses_repeat1, 2, .production_id = 21), + [1257] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__cr_clauses_repeat1, 2, .production_id = 21), SHIFT_REPEAT(33), + [1260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1031), + [1262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [1264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_attribute, 9, .production_id = 133), + [1266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pp_else, 3), + [1268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(505), + [1270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(836), + [1272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_callbacks_attribute_repeat1, 1, .production_id = 82), + [1274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__preprocessor_directive, 1), + [1276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pp_define, 7, .production_id = 102), + [1278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fa, 2, .production_id = 81), + [1280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__form, 1), + [1282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_export_attribute_repeat1, 1, .production_id = 80), + [1284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_export_attribute, 7), + [1286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behaviour_attribute, 6, .production_id = 78), + [1288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_attribute, 6, .production_id = 78), + [1290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_export_attribute_repeat1, 2, .production_id = 104), + [1292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pp_if, 4, .production_id = 23), + [1294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_callbacks_attribute, 7), + [1296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pp_elif, 4, .production_id = 23), + [1298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_optional_callbacks_attribute_repeat1, 2, .production_id = 106), + [1300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [1302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), + [1304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_export_type_attribute, 7), + [1306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), + [1308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_export_type_attribute_repeat1, 2, .production_id = 62), + [1310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [1312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(830), + [1314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(864), + [1316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(879), + [1318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(769), + [1320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), + [1322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pp_ifdef, 6, .production_id = 78), + [1324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [1326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pp_undef, 6, .production_id = 78), + [1328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pp_include_lib, 6, .production_id = 77), + [1330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pp_include, 6, .production_id = 77), + [1332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_attribute, 11, .production_id = 140), + [1334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_guards_repeat1, 2, .production_id = 139), + [1336] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_guards_repeat1, 2, .production_id = 139), SHIFT_REPEAT(815), + [1339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cr_clause, 2, .production_id = 38), + [1341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525), + [1343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), + [1345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(893), + [1347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [1349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__cr_clauses, 2, .production_id = 20), + [1351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [1353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_attribute, 10, .production_id = 138), + [1355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 4, .production_id = 25), + [1357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_guards, 3, .production_id = 136), + [1359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(815), + [1361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_opaque, 4, .production_id = 25), + [1363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_guards, 2, .production_id = 127), + [1365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__cr_clauses_repeat1, 2, .production_id = 19), + [1367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cr_clause, 3, .production_id = 68), + [1369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_spec, 4, .production_id = 27), + [1371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_decl, 7, .production_id = 110), + [1373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_wild_attribute, 3, .production_id = 11), + [1375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_export_type_attribute, 9, .production_id = 135), + [1377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_fun_decl_repeat1, 2, .production_id = 19), + [1379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_decl, 2, .production_id = 3), + [1381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_callback, 4, .production_id = 27), + [1383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_decl, 3, .production_id = 20), + [1385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_callbacks_attribute, 9, .production_id = 134), + [1387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_fun_decl_repeat1, 1, .production_id = 3), + [1389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [1391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_export_type_attribute_repeat1, 1, .production_id = 83), + [1393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_export_attribute, 9, .production_id = 132), + [1395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pp_endif, 3), + [1397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pp_ifndef, 6, .production_id = 78), + [1399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__cr_clauses, 1, .production_id = 3), + [1401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_decl, 8, .production_id = 126), + [1403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file_attribute, 8, .production_id = 125), + [1405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(520), + [1407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_export_type_attribute, 8, .production_id = 124), + [1409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_callbacks_attribute, 8, .production_id = 123), + [1411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(894), + [1413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [1415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(821), + [1417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(514), + [1419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_export_attribute, 8, .production_id = 122), + [1421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compile_options_attribute, 6, .production_id = 84), + [1423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pp_define, 8, .production_id = 121), + [1425] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__catch_clauses_repeat1, 2, .production_id = 116), SHIFT_REPEAT(166), + [1428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__catch_clauses_repeat1, 2, .production_id = 116), + [1430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [1432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lc_exprs, 2, .production_id = 32), + [1434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(941), + [1436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(963), + [1438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(853), + [1440] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_clause_body_repeat1, 2, .production_id = 51), SHIFT_REPEAT(105), + [1443] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_bit_type_list_repeat1, 2, .production_id = 108), SHIFT_REPEAT(590), + [1446] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bit_type_list_repeat1, 2, .production_id = 108), + [1448] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_op_expr_max, 2, .production_id = 18), + [1450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), + [1452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(930), + [1454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(590), + [1456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_type_list, 2, .production_id = 62), + [1458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_op_expr_max, 3, .production_id = 43), + [1460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(657), + [1462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609), + [1464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [1466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(858), + [1468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [1470] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lc_exprs_repeat1, 2, .production_id = 51), SHIFT_REPEAT(21), + [1473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lc_exprs_repeat1, 2, .production_id = 51), + [1475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(492), + [1477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(870), + [1479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__spec_def_repeat1, 2, .production_id = 88), + [1481] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__spec_def_repeat1, 2, .production_id = 88), SHIFT_REPEAT(802), + [1484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_type_list, 3, .production_id = 91), + [1486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(671), + [1488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(602), + [1490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(903), + [1492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bin_element, 2, .production_id = 36), + [1494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_var_args_repeat1, 2, .production_id = 76), + [1496] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_var_args_repeat1, 2, .production_id = 76), SHIFT_REPEAT(963), + [1499] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_var_args_repeat1, 2, .production_id = 76), SHIFT_REPEAT(853), + [1502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [1504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(814), + [1506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_guards_repeat1, 2, .production_id = 127), + [1508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 2, .production_id = 73), + [1510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lc_exprs, 3, .production_id = 54), + [1512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_guard_clause, 2, .production_id = 30), + [1514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(637), + [1516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(603), + [1518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_replacement_guard_and, 2, .production_id = 103), + [1520] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_replacement_guard_and_repeat1, 2, .production_id = 120), + [1522] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_replacement_guard_and_repeat1, 2, .production_id = 120), SHIFT_REPEAT(160), + [1525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(874), + [1527] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__macro_def_replacement, 1, .dynamic_precedence = 4), REDUCE(sym_replacement_guard_or, 1, .production_id = 79), + [1530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [1532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [1534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), + [1536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [1538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [1540] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_replacement_function_clauses, 2, .production_id = 20), + [1542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(598), + [1544] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_replacement_cr_clauses, 2, .production_id = 20), + [1546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_replacement_guard_or, 2, .production_id = 103), + [1548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(628), + [1550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [1552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [1554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [1556] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_var_args_repeat1, 2, .production_id = 46), + [1558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [1560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(986), + [1562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [1564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_sig, 4, .production_id = 112), + [1566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), + [1568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(730), + [1570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [1572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lc_exprs_repeat1, 2, .production_id = 32), + [1574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_type_unit, 3, .production_id = 113), + [1576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bit_type_list_repeat1, 2, .production_id = 62), + [1578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__catch_clauses_repeat1, 2, .production_id = 97), + [1580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_after, 3, .production_id = 54), + [1582] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_clause, 3, .production_id = 117), + [1584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_clause, 2, .production_id = 38), + [1586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_clause, 3, .production_id = 68), + [1588] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_expr_update_repeat1, 2, .production_id = 94), SHIFT_REPEAT(45), + [1591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_expr_update_repeat1, 2, .production_id = 94), + [1593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_replacement_function_clauses_repeat1, 2, .production_id = 21), + [1595] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_replacement_function_clauses_repeat1, 2, .production_id = 21), SHIFT_REPEAT(598), + [1598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_replacement_guard_or_repeat1, 2, .production_id = 120), + [1600] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_replacement_guard_or_repeat1, 2, .production_id = 120), SHIFT_REPEAT(43), + [1603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [1605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [1607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [1609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_guard, 1, .production_id = 3), + [1611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(835), + [1613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(710), + [1615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(972), + [1617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(802), + [1619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__spec_def, 3, .production_id = 50), + [1621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [1623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [1625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [1627] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_expr_repeat1, 2, .production_id = 21), SHIFT_REPEAT(25), + [1630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_expr_repeat1, 2, .production_id = 21), + [1632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [1634] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_guard_repeat1, 2, .production_id = 21), SHIFT_REPEAT(38), + [1637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_guard_repeat1, 2, .production_id = 21), + [1639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [1641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [1643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_clause, 4, .production_id = 130), + [1645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_clause, 4, .production_id = 131), + [1647] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_anonymous_fun_repeat1, 2, .production_id = 21), SHIFT_REPEAT(730), + [1650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_anonymous_fun_repeat1, 2, .production_id = 21), + [1652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_clause, 5, .production_id = 137), + [1654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_macro_call_args_repeat1, 2, .production_id = 76), + [1656] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_macro_call_args_repeat1, 2, .production_id = 76), SHIFT_REPEAT(46), + [1659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(827), + [1661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(825), + [1663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_guard, 2, .production_id = 20), + [1665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [1667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(713), + [1669] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_binary_repeat1, 2, .production_id = 60), SHIFT_REPEAT(266), + [1672] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_binary_repeat1, 2, .production_id = 60), + [1674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [1676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_size_expr, 2, .production_id = 61), + [1678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [1680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__spec_def_repeat1, 2, .production_id = 87), + [1682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 2, .production_id = 24), + [1684] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bit_type, 1), + [1686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1035), + [1688] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2, .production_id = 65), SHIFT_REPEAT(96), + [1691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2, .production_id = 65), + [1693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(522), + [1695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__spec_def, 2, .production_id = 28), + [1697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [1699] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__record_tuple_repeat1, 2, .production_id = 94), SHIFT_REPEAT(628), + [1702] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__record_tuple_repeat1, 2, .production_id = 94), + [1704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [1706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(916), + [1708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530), + [1710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(662), + [1712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), + [1714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(498), + [1716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(531), + [1718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), + [1720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_var_args_repeat1, 1, .production_id = 85), + [1722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(542), + [1724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), + [1726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(545), + [1728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(557), + [1730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(558), + [1732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(556), + [1734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [1736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [1738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(551), + [1740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [1742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), + [1744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(549), + [1746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), + [1748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501), + [1750] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expr_args_repeat1, 2, .production_id = 76), + [1752] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expr_args_repeat1, 2, .production_id = 76), SHIFT_REPEAT(68), + [1755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [1757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [1759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409), + [1761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), + [1763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), + [1765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(524), + [1767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(508), + [1769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_replacement_function_clauses, 1, .production_id = 3), + [1771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(507), + [1773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(659), + [1775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__include_detail, 1), + [1777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), + [1779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478), + [1781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), + [1783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), + [1785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516), + [1787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_replacement_cr_clauses, 1, .production_id = 3), + [1789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(923), + [1791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_lhs, 1, .production_id = 24), + [1793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), + [1795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), + [1797] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 3, .production_id = 101), + [1799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bin_element, 2, .production_id = 37), + [1801] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_clause, 2, .production_id = 34), + [1803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_args, 4, .production_id = 75), + [1805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(644), + [1807] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__record_tuple_repeat1, 2, .production_id = 72), + [1809] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_replacement_function_clauses_repeat1, 2, .production_id = 19), + [1811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_expr_update_repeat1, 2, .production_id = 72), + [1813] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_replacement_guard_or_repeat1, 2, .production_id = 47), + [1815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_args, 2), + [1817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__spec_fun, 1, .production_id = 4), + [1819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_expr_repeat1, 2, .production_id = 19), + [1821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_guard_repeat1, 2, .production_id = 19), + [1823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_binary_repeat1, 2, .production_id = 35), + [1825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(914), + [1827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(721), + [1829] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_macro_call_args_repeat1, 2, .production_id = 46), + [1831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_anonymous_fun_repeat1, 2, .production_id = 19), + [1833] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_clause, 4, .production_id = 48), + [1835] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_clause, 3, .production_id = 22), + [1837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fun_clause, 3, .production_id = 58), + [1839] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 2, .production_id = 74), + [1841] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_stack, 2, .production_id = 129), + [1843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bin_element, 3, .production_id = 63), + [1845] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_name, 2, .production_id = 2), + [1847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_args, 3, .production_id = 46), + [1849] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_clause, 2, .production_id = 31), + [1851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(684), + [1853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(950), + [1855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(640), + [1857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), + [1859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(528), + [1861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1018), + [1863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [1865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(654), + [1867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1043), + [1869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), + [1871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(550), + [1873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), + [1875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(552), + [1877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1041), + [1879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [1881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(559), + [1883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562), + [1885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1001), + [1887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), + [1889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(537), + [1891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(776), + [1893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(534), + [1895] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 2, .production_id = 26), + [1897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(527), + [1899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(526), + [1901] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_receive_after, 3, .production_id = 67), + [1903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(682), + [1905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [1907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(521), + [1909] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__spec_def, 4, .production_id = 86), + [1911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [1913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(518), + [1915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__spec_fun, 2, .production_id = 14), + [1917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(658), + [1919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [1921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(650), + [1923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [1925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(666), + [1927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [1929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(980), + [1931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [1933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [1935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(674), + [1937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(689), + [1939] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__macro_def_replacement, 1, .dynamic_precedence = 2), + [1941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [1943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [1945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(985), + [1947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(635), + [1949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(969), + [1951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1024), + [1953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1025), + [1955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(687), + [1957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [1959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(696), + [1961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435), + [1963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(681), + [1965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(956), + [1967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1037), + [1969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(677), + [1971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), + [1973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1050), + [1975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [1977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(716), + [1979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(675), + [1981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1029), + [1983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1046), + [1985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(960), + [1987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(615), + [1989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(601), + [1991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [1993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(645), + [1995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(978), + [1997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(605), + [1999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(611), + [2001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__macro_def_replacement, 1), + [2003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1028), + [2005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(936), + [2007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [2009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1015), + [2011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(646), + [2013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(647), + [2015] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_lhs, 2, .production_id = 26), + [2017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(699), + [2019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(661), + [2021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(663), + [2023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(664), + [2025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(665), + [2027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1027), + [2029] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__clause_guard, 2, .production_id = 47), + [2031] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__macro_def_replacement, 1, .dynamic_precedence = 3), + [2033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__spec_def, 5, .production_id = 111), + [2035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(979), + [2037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(704), + [2039] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__macro_def_replacement, 1, .dynamic_precedence = 1), + [2041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1053), + [2043] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_def, 5, .production_id = 109), + [2045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(705), + [2047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(943), + [2049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(707), + [2051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(987), + [2053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(990), + [2055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(709), + [2057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(992), + [2059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [2061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(998), + [2063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(714), + [2065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(717), + [2067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [2069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(718), + [2071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1011), + [2073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [2075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1012), + [2077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1013), + [2079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(708), + [2081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1017), + [2083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(702), + [2085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(700), + [2087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(729), + [2089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(697), + [2091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(636), + [2093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(790), + [2095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(789), + [2097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(788), + [2099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(692), + [2101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(691), + [2103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), + [2105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), + [2107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [2109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_replacement_parens, 2), + [2111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [2113] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), +}; + +#ifdef __cplusplus +extern "C" { +#endif +#ifdef _WIN32 +#define extern __declspec(dllexport) +#endif + +extern const TSLanguage *tree_sitter_erlang(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_atom, + .primary_state_ids = ts_primary_state_ids, + }; + return &language; +} +#ifdef __cplusplus +} +#endif diff --git a/vendor/tree-sitter-erlang/src/tree_sitter/parser.h b/vendor/tree-sitter-erlang/src/tree_sitter/parser.h new file mode 100644 index 000000000..a4b659bf3 --- /dev/null +++ b/vendor/tree-sitter-erlang/src/tree_sitter/parser.h @@ -0,0 +1,226 @@ +// @generated + +#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 + +typedef uint16_t TSStateId; + +#ifndef TREE_SITTER_API_H_ +typedef uint16_t TSSymbol; +typedef uint16_t TSFieldId; +typedef struct TSLanguage TSLanguage; +#endif + +typedef struct { + TSFieldId field_id; + uint8_t child_index; + bool inherited; +} TSFieldMapEntry; + +typedef struct { + uint16_t index; + uint16_t length; +} TSFieldMapSlice; + +typedef struct { + bool visible; + bool named; + bool supertype; +} TSSymbolMetadata; + +typedef struct TSLexer TSLexer; + +struct TSLexer { + int32_t lookahead; + TSSymbol result_symbol; + void (*advance)(TSLexer *, bool); + void (*mark_end)(TSLexer *); + uint32_t (*get_column)(TSLexer *); + bool (*is_at_included_range_start)(const TSLexer *); + bool (*eof)(const TSLexer *); +}; + +typedef enum { + TSParseActionTypeShift, + TSParseActionTypeReduce, + TSParseActionTypeAccept, + TSParseActionTypeRecover, +} TSParseActionType; + +typedef union { + struct { + uint8_t type; + TSStateId state; + bool extra; + bool repetition; + } shift; + struct { + uint8_t type; + uint8_t child_count; + TSSymbol symbol; + int16_t dynamic_precedence; + uint16_t production_id; + } reduce; + uint8_t type; +} TSParseAction; + +typedef struct { + uint16_t lex_state; + uint16_t external_lex_state; +} TSLexMode; + +typedef union { + TSParseAction action; + struct { + uint8_t count; + bool reusable; + } entry; +} TSParseActionEntry; + +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; +}; + +/* + * Lexer Macros + */ + +#define START_LEXER() \ + bool result = false; \ + bool skip = false; \ + 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 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_val, child_count_val, ...) \ + {{ \ + .reduce = { \ + .type = TSParseActionTypeReduce, \ + .symbol = symbol_val, \ + .child_count = child_count_val, \ + __VA_ARGS__ \ + }, \ + }} + +#define RECOVER() \ + {{ \ + .type = TSParseActionTypeRecover \ + }} + +#define ACCEPT_INPUT() \ + {{ \ + .type = TSParseActionTypeAccept \ + }} + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_PARSER_H_ diff --git a/vendor/tree-sitter-erlang/test/corpus/attributes.txt b/vendor/tree-sitter-erlang/test/corpus/attributes.txt new file mode 100644 index 000000000..02b994f96 --- /dev/null +++ b/vendor/tree-sitter-erlang/test/corpus/attributes.txt @@ -0,0 +1,757 @@ +================================================================================ +module attribute +================================================================================ + +-module(foo). +-'module'(foo). + +-------------------------------------------------------------------------------- + +(source_file + (module_attribute + (atom)) + (module_attribute + (atom))) + +================================================================================ +behaviour attribute +================================================================================ + +-behaviour(gen_server). +-behavior(gen_server). +-'behaviour'(gen_server). +-'behavior'(gen_server). + +-------------------------------------------------------------------------------- + +(source_file + (behaviour_attribute + (atom)) + (behaviour_attribute + (atom)) + (behaviour_attribute + (atom)) + (behaviour_attribute + (atom))) + +================================================================================ +include attribute +================================================================================ + +-include("foo.h"). +-'include'("foo.h"). + +-------------------------------------------------------------------------------- + +(source_file + (pp_include + (string)) + (pp_include + (string))) + +================================================================================ +include attribute, concatenation +================================================================================ + +-include("root" "foo.h"). + +-------------------------------------------------------------------------------- + +(source_file + (pp_include + (string) + (string))) + +================================================================================ +include_lib attribute +================================================================================ + +-include_lib("foo.h"). +-'include_lib'("foo.h"). + +-------------------------------------------------------------------------------- + +(source_file + (pp_include_lib + (string)) + (pp_include_lib + (string))) + +================================================================================ +include_lib attribute, concatenation +================================================================================ + +-include_lib(?APP "foo.h"). + +-------------------------------------------------------------------------------- + +(source_file + (pp_include_lib + (macro_call_expr + (var)) + (string))) + +================================================================================ +export attribute +================================================================================ + +-export([foo/1]). +-'export'([]). + +-------------------------------------------------------------------------------- + +(source_file + (export_attribute + (fa + (atom) + (arity + (integer)))) + (export_attribute)) + +================================================================================ +import attribute +================================================================================ + +-import(bar, [foo/1, baz/3]). +-'import'(baz, []). + +-------------------------------------------------------------------------------- + +(source_file + (import_attribute + (atom) + (fa + (atom) + (arity + (integer))) + (fa + (atom) + (arity + (integer)))) + (import_attribute + (atom))) + +================================================================================ +export type attribute +================================================================================ + +-export_type([foo/0]). +-'export_type'([]). + +-------------------------------------------------------------------------------- + +(source_file + (export_type_attribute + (fa + (atom) + (arity + (integer)))) + (export_type_attribute)) + +================================================================================ +compile attribute +================================================================================ + +-compile(export_all). +-'compile'([export_all, blah]). + +-------------------------------------------------------------------------------- + +(source_file + (compile_options_attribute + (atom)) + (compile_options_attribute + (list + (atom) + (atom)))) + +================================================================================ +file attribute +================================================================================ + +-file("baz.erl", 45). +-'file'("baz.erl", 45). + +-------------------------------------------------------------------------------- + +(source_file + (file_attribute + (string) + (integer)) + (file_attribute + (string) + (integer))) + +================================================================================ +record decl +================================================================================ + +-record(foo, {f1, f2 = 3}). + +-------------------------------------------------------------------------------- + +(source_file + (record_decl + (atom) + (record_field + (atom)) + (record_field + (atom) + (field_expr + (integer))))) + +================================================================================ +record decl with types +================================================================================ + +-record(foo, {f1 :: atom(), f2 = 3}). + +-------------------------------------------------------------------------------- + +(source_file + (record_decl + (atom) + (record_field + (atom) + (field_type + (call + (atom) + (expr_args)))) + (record_field + (atom) + (field_expr + (integer))))) + +================================================================================ +record decl from manual +================================================================================ + +-record(name, {first = "Robert", last = "Ericsson"}). +-record(person, {name = #name{}, phone}). + +-------------------------------------------------------------------------------- + +(source_file + (record_decl + (atom) + (record_field + (atom) + (field_expr + (string))) + (record_field + (atom) + (field_expr + (string)))) + (record_decl + (atom) + (record_field + (atom) + (field_expr + (record_expr + (record_name + (atom))))) + (record_field + (atom)))) + +================================================================================ +record decl - empty record +================================================================================ + +-'record'(state, {}). + +-------------------------------------------------------------------------------- + +(source_file + (record_decl + (atom))) + +================================================================================ +type decl +================================================================================ + +-type my_struct_type() :: atom() | integer(). +-opaque my_opaq_type() :: term(). +-'type' orddict(Key, Val) :: [{Key, Val}]. +-'opaque' useless(A) :: A. + +-------------------------------------------------------------------------------- + +(source_file + (type_alias + (type_name + (atom) + (var_args)) + (pipe + (call + (atom) + (expr_args)) + (call + (atom) + (expr_args)))) + (opaque + (type_name + (atom) + (var_args)) + (call + (atom) + (expr_args))) + (type_alias + (type_name + (atom) + (var_args + (var) + (var))) + (list + (tuple + (var) + (var)))) + (opaque + (type_name + (atom) + (var_args + (var))) + (var))) + +================================================================================ +function spec 1 +================================================================================ + +-spec my_function(integer()) -> integer(). + +-------------------------------------------------------------------------------- + +(source_file + (spec + (atom) + (type_sig + (expr_args + (call + (atom) + (expr_args))) + (call + (atom) + (expr_args))))) + +================================================================================ +function spec 2 +================================================================================ + +-spec empty_map_02() -> map(). + +-------------------------------------------------------------------------------- + +(source_file + (spec + (atom) + (type_sig + (expr_args) + (call + (atom) + (expr_args))))) + +================================================================================ +function spec 3 +================================================================================ + +-spec foo() -> #{A => B} when A :: integer(), B :: float(). + +-------------------------------------------------------------------------------- + +(source_file + (spec + (atom) + (type_sig + (expr_args) + (map_expr + (map_field + (var) + (var))) + (type_guards + (ann_type + (ann_var + (var)) + (call + (atom) + (expr_args))) + (ann_type + (ann_var + (var)) + (call + (atom) + (expr_args))))))) + +================================================================================ +wild attribute 1 +================================================================================ + +-foo(bar). + +-------------------------------------------------------------------------------- + +(source_file + (wild_attribute + (attr_name + (atom)) + (paren_expr + (atom)))) + +================================================================================ +wild attribute 2 +================================================================================ + +-oncall("whatsapp_c3"). + +-------------------------------------------------------------------------------- + +(source_file + (wild_attribute + (attr_name + (atom)) + (paren_expr + (string)))) + +================================================================================ +function declaration +================================================================================ + +foo(Bar, Baz) -> ok. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args + (var) + (var)) + (clause_body + (atom))))) + +================================================================================ +undef attribute +================================================================================ + +-undef(FOO). +-'undef'(FOO). + +-------------------------------------------------------------------------------- + +(source_file + (pp_undef + (var)) + (pp_undef + (var))) + +================================================================================ +ifdef attribute +================================================================================ + +-ifdef(FOO). +-'ifdef'(FOO). + +-------------------------------------------------------------------------------- + +(source_file + (pp_ifdef + (var)) + (pp_ifdef + (var))) + +================================================================================ +ifndef attribute +================================================================================ + +-ifndef(FOO). +-'ifndef'(FOO). + +-------------------------------------------------------------------------------- + +(source_file + (pp_ifndef + (var)) + (pp_ifndef + (var))) + +================================================================================ +else attribute +================================================================================ + +-else. +-'else'. + +-------------------------------------------------------------------------------- + +(source_file + (pp_else) + (pp_else)) + +================================================================================ +endif attribute +================================================================================ + +-endif. +-'endif'. + +-------------------------------------------------------------------------------- + +(source_file + (pp_endif) + (pp_endif)) + +================================================================================ +if $.expression +================================================================================ + +-if 1. +-'if'(1). + +-------------------------------------------------------------------------------- + +(source_file + (pp_if + (integer)) + (pp_if + (paren_expr + (integer)))) + +================================================================================ +elif attribute +================================================================================ + +-elif(TRUE). +-'elif'(TRUE). + +-------------------------------------------------------------------------------- + +(source_file + (pp_elif + (paren_expr + (var))) + (pp_elif + (paren_expr + (var)))) + +================================================================================ +simple spec +================================================================================ + +-spec foo() -> ok. +-'spec' foo() -> ok. + +-------------------------------------------------------------------------------- + +(source_file + (spec + (atom) + (type_sig + (expr_args) + (atom))) + (spec + (atom) + (type_sig + (expr_args) + (atom)))) + +================================================================================ +callback +================================================================================ + +-callback foo(Bar) -> ok. +-'callback' foo(Bar) -> ok. + +-------------------------------------------------------------------------------- + +(source_file + (callback + (atom) + (type_sig + (expr_args + (var)) + (atom))) + (callback + (atom) + (type_sig + (expr_args + (var)) + (atom)))) + +================================================================================ +string with % in it +================================================================================ + +foo() -> "\"%". + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (string))))) + +================================================================================ +string +================================================================================ + +foo() -> ("whatsapp_c3"). + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (paren_expr + (string)))))) + +================================================================================ +char % +================================================================================ + +foo() -> $%. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (char))))) + +================================================================================ +char space +================================================================================ + +foo() -> $ . + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (char))))) + +================================================================================ +char \] +================================================================================ + +foo() -> $\]. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (char))))) + +================================================================================ +char \^g +================================================================================ + +foo() -> $\^g. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (char))))) + +================================================================================ +char \\ +================================================================================ + +foo() -> $\\. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (char))))) + +================================================================================ +char \^] +================================================================================ + +foo() -> $\^]. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (char))))) + +================================================================================ +char \^Z +================================================================================ + +foo() -> $\^Z. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (char))))) + +================================================================================ +char \% +================================================================================ + +foo() -> $\%. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (char))))) + +================================================================================ +optional_callbacks attribute +================================================================================ + +-optional_callbacks([foo/1, bar/2]). + +-------------------------------------------------------------------------------- + +(source_file + (optional_callbacks_attribute + (fa + (atom) + (arity + (integer))) + (fa + (atom) + (arity + (integer))))) diff --git a/vendor/tree-sitter-erlang/test/corpus/expected_errors.txt b/vendor/tree-sitter-erlang/test/corpus/expected_errors.txt new file mode 100644 index 000000000..64bd76195 --- /dev/null +++ b/vendor/tree-sitter-erlang/test/corpus/expected_errors.txt @@ -0,0 +1,44 @@ +================================================================================ +top level error +================================================================================ + +-if (true). +-define(CASE_START_PEER_NODE, + case true of + Node -> + Node; +). +-else. +-define(CASE_START_PEER_NODE, + case true of + Node -> + Node;). +-endif. + + +-------------------------------------------------------------------------------- + + (ERROR + (pp_if + (paren_expr + (atom))) + (macro_lhs + (var)) + (atom) + (cr_clause + (var) + (clause_body + (var))) + (ERROR) + (atom) + (ERROR) + (atom) + (var) + (atom) + (cr_clause + (var) + (clause_body + (var))) + (ERROR) + (unary_op_expr + (atom))) diff --git a/vendor/tree-sitter-erlang/test/corpus/expr.txt b/vendor/tree-sitter-erlang/test/corpus/expr.txt new file mode 100644 index 000000000..2abd2dcaf --- /dev/null +++ b/vendor/tree-sitter-erlang/test/corpus/expr.txt @@ -0,0 +1,521 @@ +================================================================================ +record index +================================================================================ + +f() -> #record.field. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (record_index_expr + (record_name + (atom)) + (record_field_name + (atom))))))) + +================================================================================ +record field +================================================================================ + +f(X) -> X#record.field. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args + (var)) + (clause_body + (record_field_expr + (var) + (record_name + (atom)) + (record_field_name + (atom))))))) + +================================================================================ +record expr +================================================================================ + +f() -> #record{a = 1}. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (record_expr + (record_name + (atom)) + (record_field + (atom) + (field_expr + (integer)))))))) + +================================================================================ +record update +================================================================================ + +f(X) -> X#record{a = 1}. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args + (var)) + (clause_body + (record_update_expr + (var) + (record_name + (atom)) + (record_field + (atom) + (field_expr + (integer)))))))) + +================================================================================ +try +================================================================================ + +f(X) -> + try 1 of + X -> ok; + Y when Z -> ok + catch + Pattern -> ok; + error:Pattern -> ok; + throw:Pattern:Stack -> ok; + exit:Complex + Pattern:Stack -> ok + after + ok + end, + try _ + catch + end. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args + (var)) + (clause_body + (try_expr + (integer) + (cr_clause + (var) + (clause_body + (atom))) + (cr_clause + (var) + (guard + (guard_clause + (var))) + (clause_body + (atom))) + (catch_clause + (var) + (clause_body + (atom))) + (catch_clause + (try_class + (atom)) + (var) + (clause_body + (atom))) + (catch_clause + (try_class + (atom)) + (var) + (try_stack + (var)) + (clause_body + (atom))) + (catch_clause + (try_class + (atom)) + (binary_op_expr + (var) + (var)) + (try_stack + (var)) + (clause_body + (atom))) + (try_after + (atom))) + (try_expr + (var)))))) + +================================================================================ +funs +================================================================================ + +f() -> [ + fun foo/1, + fun mod:foo/1, + fun () -> ok end +]. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (list + (internal_fun + (atom) + (arity + (integer))) + (external_fun + (module + (atom)) + (atom) + (arity + (integer))) + (anonymous_fun + (fun_clause + (expr_args) + (clause_body + (atom))))))))) + +================================================================================ +list +================================================================================ + +f() -> + [], + [A], + [A, B], + [A | B], + [A + B | B + C], + [A, B | C]. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (list) + (list + (var)) + (list + (var) + (var)) + (list + (pipe + (var) + (var))) + (list + (pipe + (binary_op_expr + (var) + (var)) + (binary_op_expr + (var) + (var)))) + (list + (var) + (pipe + (var) + (var))))))) + +================================================================================ +binary +================================================================================ + +f(<<_>>) -> + <<>>, + <<1>>, + <<1/integer>>, + <<1:32/integer>>, + <<+1:32/integer>>, + <<1:32/integer-unit:8>>. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args + (binary + (bin_element + (var)))) + (clause_body + (binary) + (binary + (bin_element + (integer))) + (binary + (bin_element + (integer) + (bit_type_list + (atom)))) + (binary + (bin_element + (integer) + (bit_size_expr + (integer)) + (bit_type_list + (atom)))) + (binary + (bin_element + (unary_op_expr + (integer)) + (bit_size_expr + (integer)) + (bit_type_list + (atom)))) + (binary + (bin_element + (integer) + (bit_size_expr + (integer)) + (bit_type_list + (atom) + (bit_type_unit + (integer))))))))) + +================================================================================ +catch +================================================================================ + +f() -> + catch 1 + 2. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (catch_expr + (binary_op_expr + (integer) + (integer))))))) + +================================================================================ +receive +================================================================================ + +f() -> + receive + end, + receive + ok -> ok; + error -> error + end, + receive + after 1000 -> ok + end, + receive + ok -> ok + after Timeout -> timeout + end. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (receive_expr) + (receive_expr + (cr_clause + (atom) + (clause_body + (atom))) + (cr_clause + (atom) + (clause_body + (atom)))) + (receive_expr + (receive_after + (integer) + (clause_body + (atom)))) + (receive_expr + (cr_clause + (atom) + (clause_body + (atom))) + (receive_after + (var) + (clause_body + (atom)))))))) + +================================================================================ +case +================================================================================ + +f() -> + case _ of + end, + case Foo of + A when A; B, C -> ok; + _ -> error + end. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (case_expr + (var)) + (case_expr + (var) + (cr_clause + (var) + (guard + (guard_clause + (var)) + (guard_clause + (var) + (var))) + (clause_body + (atom))) + (cr_clause + (var) + (clause_body + (atom)))))))) + +================================================================================ +function call +================================================================================ + +f() -> + foo(), + (foo)(), + mod:foo(), + (mod:foo)(), + (Mod):(Foo)(). + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (call + (atom) + (expr_args)) + (call + (paren_expr + (atom)) + (expr_args)) + (call + (remote + (remote_module + (atom)) + (atom)) + (expr_args)) + (call + (paren_expr + (remote + (remote_module + (atom)) + (atom))) + (expr_args)) + (call + (remote + (remote_module + (paren_expr + (var))) + (paren_expr + (var))) + (expr_args)))))) + +================================================================================ +variable assignment +================================================================================ + +f() -> + A = 3 + B. + +-------------------------------------------------------------------------------- + + (source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (match_expr + (var) + (binary_op_expr + (integer) + (var))))))) + +================================================================================ +fun +================================================================================ + + foo() -> fun(X) -> X end. + +-------------------------------------------------------------------------------- + + (source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (anonymous_fun + (fun_clause + (expr_args + (var)) + (clause_body + (var)))))))) + +================================================================================ +named fun +================================================================================ + + foo() -> fun Named(X) -> X end. + +-------------------------------------------------------------------------------- + + (source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (anonymous_fun + (fun_clause + (var) + (expr_args + (var)) + (clause_body + (var)))))))) diff --git a/vendor/tree-sitter-erlang/test/corpus/fault_tolerance.txt b/vendor/tree-sitter-erlang/test/corpus/fault_tolerance.txt new file mode 100644 index 000000000..756faef53 --- /dev/null +++ b/vendor/tree-sitter-erlang/test/corpus/fault_tolerance.txt @@ -0,0 +1,100 @@ +================================================================================ +incomplete behaviour attribute WIP +================================================================================ + +-behavior(gen + +-------------------------------------------------------------------------------- + + (source_file + (ERROR + (atom))) + + +================================================================================ +missing dot after export attribute (limitation) +================================================================================ + +-export([foo/1]). +-'export'([]) + +-------------------------------------------------------------------------------- + + (source_file + (export_attribute + (fa + (atom) + (arity + (integer)))) + (export_attribute + (MISSING "."))) + +================================================================================ +missing dot after variable (limitation) +================================================================================ + + test(X) -> + +-------------------------------------------------------------------------------- + + (source_file + (ERROR + (atom) + (expr_args + (var)))) + +================================================================================ +function after missing dot (limitation) +================================================================================ + + foo() -> + b + bar() -> ok. % ideally would be in AST + +-------------------------------------------------------------------------------- + + (source_file + (fun_decl + (function_clause + (atom) + (expr_args) + (clause_body + (atom))) + (function_clause + (atom) + (expr_args) + (clause_body + (atom)))) + (comment)) + +================================================================================ +function reference missing dot (limitation) +================================================================================ + + foo() -> + fun sample2:f + +-------------------------------------------------------------------------------- + + (source_file + (ERROR + (atom) + (expr_args) + (module + (atom)) + (atom))) + +================================================================================ +incomplete record index (limitation) +================================================================================ + + foo() -> #r. + +-------------------------------------------------------------------------------- + + (source_file + (ERROR + (atom) + (expr_args) + (record_name + (atom)))) diff --git a/vendor/tree-sitter-erlang/test/corpus/macros.txt b/vendor/tree-sitter-erlang/test/corpus/macros.txt new file mode 100644 index 000000000..d10bc8a03 --- /dev/null +++ b/vendor/tree-sitter-erlang/test/corpus/macros.txt @@ -0,0 +1,405 @@ +================================================================================ +expr +================================================================================ + +-define(X, a). + +-------------------------------------------------------------------------------- + +(source_file + (pp_define + (macro_lhs + (var)) + (atom))) + +================================================================================ +guard and +================================================================================ + +-define(X, a, b, c). + +-------------------------------------------------------------------------------- + +(source_file + (pp_define + (macro_lhs + (var)) + (replacement_guard_and + (atom) + (atom) + (atom)))) + +================================================================================ +guard or +================================================================================ + +-define(X, a; b, c). + +-------------------------------------------------------------------------------- + +(source_file + (pp_define + (macro_lhs + (var)) + (replacement_guard_or + (replacement_guard_and + (atom)) + (replacement_guard_and + (atom) + (atom))))) + +================================================================================ +function clauses +================================================================================ + +-define(X, +foo() -> ok; +foo() -> not_ok +). + +-------------------------------------------------------------------------------- + +(source_file + (pp_define + (macro_lhs + (var)) + (replacement_function_clauses + (function_clause + (atom) + (expr_args) + (clause_body + (atom))) + (function_clause + (atom) + (expr_args) + (clause_body + (atom)))))) + +================================================================================ +statement list +================================================================================ + +-define(IS_STRING(X), is_binary(X); is_list(X); is_atom(X)). + +-------------------------------------------------------------------------------- + +(source_file + (pp_define + (macro_lhs + (var) + (var_args + (var))) + (replacement_guard_or + (replacement_guard_and + (call + (atom) + (expr_args + (var)))) + (replacement_guard_and + (call + (atom) + (expr_args + (var)))) + (replacement_guard_and + (call + (atom) + (expr_args + (var))))))) + +================================================================================ +function clause +================================================================================ + +-define(MATCH(Type, Predicate), + match({type, _, Type, []}, Val) -> + ?CHECK(Predicate(Val), ?FMT("Expected ~p, got ~p", [Type, Val])) +). + +-------------------------------------------------------------------------------- + +(source_file + (pp_define + (macro_lhs + (var) + (var_args + (var) + (var))) + (replacement_function_clauses + (function_clause + (atom) + (expr_args + (tuple + (atom) + (var) + (var) + (list)) + (var)) + (clause_body + (macro_call_expr + (var) + (macro_call_args + (macro_expr + (call + (var) + (expr_args + (var)))) + (macro_expr + (macro_call_expr + (var) + (macro_call_args + (macro_expr + (string)) + (macro_expr + (list + (var) + (var))))))))))))) + +================================================================================ +LOOP macro +================================================================================ + +-define(LOOP(), + [] when Suffix =:= []; length(Prefix) > 3 -> + null; + [] -> + [Digit | Rest] = Suffix, + ?FUNCTION_NAME(Prefix ++ [Digit], Rest) +). + +-------------------------------------------------------------------------------- + +(source_file + (pp_define + (macro_lhs + (var) + (var_args)) + (replacement_cr_clauses + (cr_clause + (list) + (guard + (guard_clause + (binary_op_expr + (var) + (list))) + (guard_clause + (binary_op_expr + (call + (atom) + (expr_args + (var))) + (integer)))) + (clause_body + (atom))) + (cr_clause + (list) + (clause_body + (match_expr + (list + (pipe + (var) + (var))) + (var)) + (macro_call_expr + (var) + (macro_call_args + (macro_expr + (binary_op_expr + (var) + (list + (var)))) + (macro_expr + (var))))))))) + +================================================================================ +Comma separated macro +================================================================================ + +-define(SECURE_REQUEST(SessionID, Env, ImplFun, Args, Flag), + {current_function, {_Mod, CurFunction, _Arity}} = process_info( + self(), + current_function + ), + secure_req(SessionID, Env, CurFunction, ImplFun, Args, Flag) +). + +-------------------------------------------------------------------------------- + +(source_file + (pp_define + (macro_lhs + (var) + (var_args + (var) + (var) + (var) + (var) + (var))) + (replacement_guard_and + (match_expr + (tuple + (atom) + (tuple + (var) + (var) + (var))) + (call + (atom) + (expr_args + (call + (atom) + (expr_args)) + (atom)))) + (call + (atom) + (expr_args + (var) + (var) + (var) + (var) + (var) + (var)))))) + +================================================================================ +Empty macro +================================================================================ + +-define(E2E_SPEC, ). + +-------------------------------------------------------------------------------- + +(source_file + (pp_define + (macro_lhs + (var)))) + +================================================================================ +Calling a macro +================================================================================ + +lookup(Prefix, Suffix) -> + case ets:select(Prefix) of + [CCI] -> + {CCI, Suffix}; + ?LOOP() + end. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args + (var) + (var)) + (clause_body + (case_expr + (call + (remote + (remote_module + (atom)) + (atom)) + (expr_args + (var))) + (cr_clause + (list + (var)) + (clause_body + (tuple + (var) + (var)))) + (macro_call_expr + (var) + (macro_call_args))))))) + +================================================================================ +Macro type +================================================================================ + +-define(TYPE, integer() | atom()). + +-------------------------------------------------------------------------------- + +(source_file + (pp_define + (macro_lhs + (var)) + (pipe + (call + (atom) + (expr_args)) + (call + (atom) + (expr_args))))) + +================================================================================ +Concatables +================================================================================ + +-define(TXT(Str), "abc" Str ??Str). +-define(TXT(Str), Str "abc"). +-define(TXT(Str), ??Str "abc"). +-define(TXT(Str), "abc" "def"). + +-------------------------------------------------------------------------------- + +(source_file + (pp_define + (macro_lhs + (var) + (var_args + (var))) + (concatables + (string) + (var) + (macro_string + (var)))) + (pp_define + (macro_lhs + (var) + (var_args + (var))) + (concatables + (var) + (string))) + (pp_define + (macro_lhs + (var) + (var_args + (var))) + (concatables + (macro_string + (var)) + (string))) + (pp_define + (macro_lhs + (var) + (var_args + (var))) + (concatables + (string) + (string)))) + +================================================================================ +Macro type in call +================================================================================ + +-define(X, ?MACRO(integer() | atom())). + +-------------------------------------------------------------------------------- + +(source_file + (pp_define + (macro_lhs + (var)) + (macro_call_expr + (var) + (macro_call_args + (macro_expr + (pipe + (call + (atom) + (expr_args)) + (call + (atom) + (expr_args)))))))) diff --git a/vendor/tree-sitter-erlang/test/corpus/pat_expr.txt b/vendor/tree-sitter-erlang/test/corpus/pat_expr.txt new file mode 100644 index 000000000..baed3a7a2 --- /dev/null +++ b/vendor/tree-sitter-erlang/test/corpus/pat_expr.txt @@ -0,0 +1,108 @@ +================================================================================ +binary operator +================================================================================ + +f(1 + 1) -> ok; +f([] ++ []) -> ok. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args + (binary_op_expr + (integer) + (integer))) + (clause_body + (atom))) + (function_clause + (atom) + (expr_args + (binary_op_expr + (list) + (list))) + (clause_body + (atom))))) + +================================================================================ +unary operator +================================================================================ + +f(+1) -> ok. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args + (unary_op_expr + (integer))) + (clause_body + (atom))))) + +================================================================================ +match +================================================================================ + +f(A = B) -> ok. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args + (match_expr + (var) + (var))) + (clause_body + (atom))))) + +================================================================================ +record index +================================================================================ + +f(#record.field) -> ok. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args + (record_index_expr + (record_name + (atom)) + (record_field_name + (atom)))) + (clause_body + (atom))))) + +================================================================================ +record pat +================================================================================ + +f(#record{a = 1}) -> ok. + +-------------------------------------------------------------------------------- + +(source_file + (fun_decl + (function_clause + (atom) + (expr_args + (record_expr + (record_name + (atom)) + (record_field + (atom) + (field_expr + (integer))))) + (clause_body + (atom))))) diff --git a/vendor/tree-sitter-erlang/test/corpus/types.txt b/vendor/tree-sitter-erlang/test/corpus/types.txt new file mode 100644 index 000000000..98eb664e4 --- /dev/null +++ b/vendor/tree-sitter-erlang/test/corpus/types.txt @@ -0,0 +1,191 @@ +================================================================================ +binary type +================================================================================ + +-type x() :: {<<>>, <<_:_*8>>, <<_:8, _:_*8>>, <<_:_*1>>, <<_:1, _:_*1>>}. + +-------------------------------------------------------------------------------- + +(source_file + (type_alias + (type_name + (atom) + (var_args)) + (tuple + (binary) + (binary + (bin_element + (var) + (bit_size_expr + (binary_op_expr + (var) + (integer))))) + (binary + (bin_element + (var) + (bit_size_expr + (integer))) + (bin_element + (var) + (bit_size_expr + (binary_op_expr + (var) + (integer))))) + (binary + (bin_element + (var) + (bit_size_expr + (binary_op_expr + (var) + (integer))))) + (binary + (bin_element + (var) + (bit_size_expr + (integer))) + (bin_element + (var) + (bit_size_expr + (binary_op_expr + (var) + (integer)))))))) + +================================================================================ +ann type +================================================================================ + +-type x() :: A :: B :: atom(). + +-------------------------------------------------------------------------------- + +(source_file + (type_alias + (type_name + (atom) + (var_args)) + (ann_type + (ann_var + (var)) + (ann_type + (ann_var + (var)) + (call + (atom) + (expr_args)))))) + +================================================================================ +union type +================================================================================ + +-type x() :: atom() | integer() | float(). + +-------------------------------------------------------------------------------- + +(source_file + (type_alias + (type_name + (atom) + (var_args)) + (pipe + (call + (atom) + (expr_args)) + (pipe + (call + (atom) + (expr_args)) + (call + (atom) + (expr_args)))))) + +================================================================================ +union type in list +================================================================================ + +-type x() :: [atom() | integer() | float()]. + +-------------------------------------------------------------------------------- + +(source_file + (type_alias + (type_name + (atom) + (var_args)) + (list + (pipe + (call + (atom) + (expr_args)) + (pipe + (call + (atom) + (expr_args)) + (call + (atom) + (expr_args))))))) + +================================================================================ +union and ann types mixed +================================================================================ + +-type x() :: A :: B :: atom() | C :: term() | none(). + +-------------------------------------------------------------------------------- + +(source_file + (type_alias + (type_name + (atom) + (var_args)) + (ann_type + (ann_var + (var)) + (ann_type + (ann_var + (var)) + (pipe + (call + (atom) + (expr_args)) + (ann_type + (ann_var + (var)) + (pipe + (call + (atom) + (expr_args)) + (call + (atom) + (expr_args))))))))) + +================================================================================ +fun types +================================================================================ + +-type x() :: {fun(), fun((...) -> atom()), fun((atom()) -> atom())}. + +-------------------------------------------------------------------------------- + +(source_file + (type_alias + (type_name + (atom) + (var_args)) + (tuple + (fun_type) + (fun_type + (fun_type_sig + (expr_args + (dotdotdot)) + (call + (atom) + (expr_args)))) + (fun_type + (fun_type_sig + (expr_args + (call + (atom) + (expr_args))) + (call + (atom) + (expr_args)))))))