diff options
53 files changed, 79 insertions, 25552 deletions
diff --git a/js/baba-yaga/dev/helix/Cargo.toml b/js/baba-yaga/dev/helix/Cargo.toml deleted file mode 100644 index af4cf16..0000000 --- a/js/baba-yaga/dev/helix/Cargo.toml +++ /dev/null @@ -1,26 +0,0 @@ -[package] -name = "tree-sitter-baba-yaga" -description = "baba-yaga grammar for the tree-sitter parsing library" -version = "0.0.1" -keywords = ["incremental", "parsing", "baba-yaga"] -categories = ["parsing", "text-editors"] -repository = "https://github.com/tree-sitter/tree-sitter-baba-yaga" -edition = "2018" -license = "MIT" - -build = "bindings/rust/build.rs" -include = [ - "bindings/rust/*", - "grammar.js", - "queries/*", - "src/*", -] - -[lib] -path = "bindings/rust/lib.rs" - -[dependencies] -tree-sitter = "~0.20.10" - -[build-dependencies] -cc = "1.0" diff --git a/js/baba-yaga/dev/helix/INSTALLATION_STATUS.md b/js/baba-yaga/dev/helix/INSTALLATION_STATUS.md deleted file mode 100644 index 9860f50..0000000 --- a/js/baba-yaga/dev/helix/INSTALLATION_STATUS.md +++ /dev/null @@ -1,87 +0,0 @@ -# Helix Baba Yaga Installation Status - -## โ **Successfully Installed:** - -1. **Language Configuration** (`~/.config/helix/languages.toml`) - - Baba Yaga language definition - - File type association (`.baba`) - - Comment and indentation settings - -2. **Tree-sitter Queries** (`~/.config/helix/runtime/queries/baba-yaga/`) - - `highlights.scm` - Syntax highlighting rules - - `indents.scm` - Indentation behavior - - `locals.scm` - Scope analysis - - `injections.scm` - Markdown code block support - -## โ ๏ธ **Partially Working:** - -3. **Tree-sitter Grammar** - Compilation failed due to missing headers - - Grammar definition created (`grammar.js`) - - Parser generated (`src/parser.c`) - - Compilation failed: `'tree_sitter/parser.h' file not found` - -## ๐ง **Next Steps:** - -### Option 1: Use Basic Syntax Highlighting (Recommended) -The queries are installed and should provide basic syntax highlighting even without the compiled grammar: - -```bash -# Test basic highlighting -hx test.baba -``` - -### Option 2: Fix Grammar Compilation -To get full Tree-sitter support, we need to fix the compilation: - -```bash -# Install tree-sitter development headers -brew install tree-sitter # macOS -# or -sudo apt-get install libtree-sitter-dev # Ubuntu - -# Then recompile -cd dev/helix -gcc -shared -fPIC -I/usr/local/include -o baba-yaga.so src/parser.c -cp baba-yaga.so ~/.config/helix/runtime/grammars/ -``` - -### Option 3: Use Helix's Grammar Management -```bash -# Add to languages.toml and let Helix handle it -hx --grammar fetch -hx --grammar build -``` - -## ๐งช **Testing:** - -1. **Basic Syntax Highlighting:** - ```bash - echo 'add : (Int, Int) -> Int;' > test.baba - hx test.baba - ``` - -2. **Markdown Code Blocks:** - ```bash - echo '```baba\nadd a b -> a + b;\n```' > test.md - hx test.md - ``` - -## ๐ **Current Features:** - -โ **Basic syntax highlighting** (keywords, strings, numbers, comments) -โ **Indentation support** -โ **Markdown code block injection** -โ **File type detection** (`.baba` files) -โ ๏ธ **Tree-sitter parsing** (grammar needs compilation) -โ ๏ธ **Advanced features** (go-to-definition, etc. - need grammar) - -## ๐ฏ **Recommendation:** - -For immediate use, the basic syntax highlighting should work well. The Tree-sitter grammar can be added later for advanced features like: -- Go to definition -- Find references -- Syntax error detection -- Advanced indentation - -The current setup provides a solid foundation for Baba Yaga development in Helix! - diff --git a/js/baba-yaga/dev/helix/INSTALL_STATUS.md b/js/baba-yaga/dev/helix/INSTALL_STATUS.md deleted file mode 100644 index 80d9d8e..0000000 --- a/js/baba-yaga/dev/helix/INSTALL_STATUS.md +++ /dev/null @@ -1,47 +0,0 @@ -# Helix Baba Yaga Installation Status - -## โ Successfully Installed (COMPLETE!) - -### Language Configuration -- `languages.toml` โ `~/.config/helix/languages.toml` - -### Tree-sitter Grammar (COMPILED!) -- `baba-yaga.so` โ `~/.config/helix/runtime/grammars/baba-yaga.so` (83,728 bytes) - -### Tree-sitter Queries -- `highlights.scm` โ `~/.config/helix/runtime/queries/baba-yaga/highlights.scm` -- `indents.scm` โ `~/.config/helix/runtime/queries/baba-yaga/indents.scm` -- `locals.scm` โ `~/.config/helix/runtime/queries/baba-yaga/locals.scm` -- `injections.scm` โ `~/.config/helix/runtime/queries/baba-yaga/injections.scm` - -## โ All Features Working -- **Tree-sitter syntax highlighting**: โ Working -- **Advanced Tree-sitter features**: โ Working (indentation, folding, etc.) -- **Language recognition**: โ Working (`.baba` files detected) -- **Markdown injection**: โ Working (````baba` code blocks) - -## ๐ง How We Fixed It - -### 1. Tree-sitter Version Compatibility -- **Problem**: System had tree-sitter 0.25.8, but npx used 0.20.8 -- **Solution**: Used system tree-sitter (`/opt/homebrew/bin/tree-sitter generate`) - -### 2. Header File Location -- **Problem**: Generated code looked for `parser.h` but tree-sitter 0.25+ uses `api.h` -- **Solution**: Created symlink: `parser.h` โ `api.h` -- **Command**: `sudo ln -sf /opt/homebrew/opt/tree-sitter/include/tree_sitter/api.h /opt/homebrew/opt/tree-sitter/include/tree_sitter/parser.h` - -### 3. Compilation -- **Working Command**: `gcc -shared -fPIC -I/opt/homebrew/opt/tree-sitter/include -o baba-yaga.so src/parser.c` - -## ๐ฏ Testing -Test with the provided `test.baba` file: -```bash -hx test.baba -``` - -You should see: -- Proper syntax highlighting for keywords, strings, numbers, comments -- Correct indentation -- Function and variable highlighting -- Pattern matching syntax highlighting diff --git a/js/baba-yaga/dev/helix/README.md b/js/baba-yaga/dev/helix/README.md deleted file mode 100644 index 0237afb..0000000 --- a/js/baba-yaga/dev/helix/README.md +++ /dev/null @@ -1,253 +0,0 @@ -# Baba Yaga Language Support for Helix - -This directory contains the complete Tree-sitter grammar and language configuration for Baba Yaga in Helix editor. - -## Features - -โ **Tree-sitter Grammar**: Complete parsing of Baba Yaga syntax -โ **Syntax Highlighting**: Rich highlighting for all language constructs -โ **Indentation**: Smart indentation for nested structures -โ **Scope Analysis**: Function and variable definitions/references -โ **Markdown Support**: Syntax highlighting in ` ```baba ` code blocks -โ **Error Detection**: Real-time syntax error highlighting - -## Installation - -### Option 1: Local Development Setup - -1. **Clone the grammar repository** (when available): - ```bash - git clone https://github.com/baba-yaga/tree-sitter-baba-yaga - cd tree-sitter-baba-yaga - ``` - -2. **Build the grammar**: - ```bash - npm install - npx tree-sitter generate - npx tree-sitter test - ``` - -3. **Install in Helix**: - ```bash - # Copy the language configuration - cp ../../dev/helix/languages.toml ~/.config/helix/languages.toml - - # Copy the queries - cp -r ../../dev/helix/runtime/queries/baba-yaga ~/.config/helix/runtime/queries/ - - # Copy the compiled grammar - cp src/parser.c ~/.config/helix/runtime/grammars/baba-yaga.so - ``` - -### Option 2: Using Helix's Grammar Management - -1. **Add to your Helix config** (`~/.config/helix/languages.toml`): - ```toml - [[language]] - name = "baba-yaga" - scope = "source.baba-yaga" - injection-regex = "baba-yaga" - file-types = ["baba"] - roots = [] - auto-format = false - comment-token = "//" - indent = { tab-width = 2, unit = " " } - - [[grammar]] - name = "baba-yaga" - source = { git = "https://github.com/baba-yaga/tree-sitter-baba-yaga", rev = "main" } - ``` - -2. **Fetch and build grammars**: - ```bash - hx --grammar fetch - hx --grammar build - ``` - -3. **Copy the queries**: - ```bash - cp -r dev/helix/runtime/queries/baba-yaga ~/.config/helix/runtime/queries/ - ``` - -## Configuration - -### Language Settings - -The language configuration includes: - -- **File Types**: `.baba` files -- **Comments**: `//` for single-line comments -- **Indentation**: 2 spaces -- **Auto-format**: Disabled (can be enabled when formatter is available) - -### Tree-sitter Grammar Features - -The grammar supports all Baba Yaga language constructs: - -- **Function Definitions**: `name : params -> return_type;` -- **When Expressions**: Pattern matching with `when`, `is`, `then` -- **Built-in Functions**: `io.*`, `str.*`, `math.*` namespaces -- **Data Structures**: Lists `[1, 2, 3]`, Tables `{key: value}` -- **Result Types**: `Ok value`, `Err message` -- **Operators**: Arithmetic, comparison, logical, string concatenation -- **Types**: Primitive types, list types, table types, function types - -### Query Files - -- **`highlights.scm`**: Syntax highlighting rules -- **`indents.scm`**: Indentation behavior -- **`locals.scm`**: Scope analysis for definitions/references -- **`injections.scm`**: Markdown code block support - -## Usage - -### Basic Syntax Highlighting - -Open a `.baba` file in Helix: -```baba -// This is a comment -add : (Int, Int) -> Int; -add a b -> a + b; - -result : when 5 is - 0 then "zero" - _ then "other"; -``` - -### Markdown Code Blocks - -Baba Yaga code in Markdown files will be highlighted: -```markdown -# Example - -```baba -map : ((T) -> U, [T]) -> [U]; -map f list -> when list is - [] then [] - [head, ...tail] then [f head, ...map f tail]; -``` -``` - -### Tree-sitter Commands - -Use Helix's Tree-sitter features: - -- **`g` + `d`**: Go to definition -- **`g` + `r`**: Go to references -- **`g` + `h`**: Show syntax tree -- **`g` + `s`**: Select syntax node - -## Troubleshooting - -### Grammar Not Loading - -1. **Check grammar compilation**: - ```bash - hx --grammar build - ``` - -2. **Verify grammar file exists**: - ```bash - ls ~/.config/helix/runtime/grammars/baba-yaga.so - ``` - -3. **Check Helix logs**: - ```bash - hx --log - ``` - -### Queries Not Working - -1. **Verify query directory structure**: - ```bash - ls ~/.config/helix/runtime/queries/baba-yaga/ - # Should show: highlights.scm, indents.scm, locals.scm, injections.scm - ``` - -2. **Check query syntax**: - ```bash - # Test query syntax (if tree-sitter-cli is installed) - tree-sitter query dev/helix/runtime/queries/baba-yaga/highlights.scm example.baba - ``` - -### Markdown Injection Not Working - -1. **Ensure Markdown grammar is installed**: - ```bash - hx --grammar fetch - hx --grammar build - ``` - -2. **Check injection query**: - The `injections.scm` file should be present in the queries directory. - -### Performance Issues - -1. **Clear grammar cache**: - ```bash - rm -rf ~/.config/helix/runtime/grammars/*.so - hx --grammar build - ``` - -2. **Check for large files**: - Tree-sitter performance may degrade with very large files (>10MB). - -## Development - -### Building the Grammar - -1. **Install dependencies**: - ```bash - npm install tree-sitter-cli - ``` - -2. **Generate parser**: - ```bash - npx tree-sitter generate - ``` - -3. **Test grammar**: - ```bash - npx tree-sitter test - ``` - -### Adding New Language Features - -1. **Update grammar** (`grammar.js`) -2. **Update queries** (highlight, indent, locals) -3. **Test with sample code** -4. **Rebuild and reinstall** - -### Debugging - -1. **View syntax tree**: - ```bash - npx tree-sitter parse example.baba - ``` - -2. **Test queries**: - ```bash - npx tree-sitter query queries/highlights.scm example.baba - ``` - -3. **Check Helix debug info**: - ```bash - hx --log debug - ``` - -## Contributing - -When contributing to the Helix support: - -1. **Test grammar changes** with various Baba Yaga code samples -2. **Update queries** to match grammar changes -3. **Test in both `.baba` files and Markdown code blocks** -4. **Verify indentation behavior** -5. **Check scope analysis accuracy** - -## References - -- [Helix Language Guide](https://docs.helix-editor.com/guides/adding_languages.html) -- [Tree-sitter Documentation](https://tree-sitter.github.io/tree-sitter/) -- [Baba Yaga Language Reference](../ref.txt) diff --git a/js/baba-yaga/dev/helix/binding.gyp b/js/baba-yaga/dev/helix/binding.gyp deleted file mode 100644 index 7f58e2f..0000000 --- a/js/baba-yaga/dev/helix/binding.gyp +++ /dev/null @@ -1,19 +0,0 @@ -{ - "targets": [ - { - "target_name": "tree_sitter_baba_yaga_binding", - "include_dirs": [ - "<!(node -e \"require('nan')\")", - "src" - ], - "sources": [ - "bindings/node/binding.cc", - "src/parser.c", - # If your language uses an external scanner, add it here. - ], - "cflags_c": [ - "-std=c99", - ] - } - ] -} diff --git a/js/baba-yaga/dev/helix/bindings/node/binding.cc b/js/baba-yaga/dev/helix/bindings/node/binding.cc deleted file mode 100644 index 0f9c091..0000000 --- a/js/baba-yaga/dev/helix/bindings/node/binding.cc +++ /dev/null @@ -1,28 +0,0 @@ -#include "tree_sitter/parser.h" -#include <node.h> -#include "nan.h" - -using namespace v8; - -extern "C" TSLanguage * tree_sitter_baba_yaga(); - -namespace { - -NAN_METHOD(New) {} - -void Init(Local<Object> exports, Local<Object> module) { - Local<FunctionTemplate> tpl = Nan::New<FunctionTemplate>(New); - tpl->SetClassName(Nan::New("Language").ToLocalChecked()); - tpl->InstanceTemplate()->SetInternalFieldCount(1); - - Local<Function> constructor = Nan::GetFunction(tpl).ToLocalChecked(); - Local<Object> instance = constructor->NewInstance(Nan::GetCurrentContext()).ToLocalChecked(); - Nan::SetInternalFieldPointer(instance, 0, tree_sitter_baba_yaga()); - - Nan::Set(instance, Nan::New("name").ToLocalChecked(), Nan::New("baba_yaga").ToLocalChecked()); - Nan::Set(module, Nan::New("exports").ToLocalChecked(), instance); -} - -NODE_MODULE(tree_sitter_baba_yaga_binding, Init) - -} // namespace diff --git a/js/baba-yaga/dev/helix/bindings/node/index.js b/js/baba-yaga/dev/helix/bindings/node/index.js deleted file mode 100644 index c0834d2..0000000 --- a/js/baba-yaga/dev/helix/bindings/node/index.js +++ /dev/null @@ -1,19 +0,0 @@ -try { - module.exports = require("../../build/Release/tree_sitter_baba_yaga_binding"); -} catch (error1) { - if (error1.code !== 'MODULE_NOT_FOUND') { - throw error1; - } - try { - module.exports = require("../../build/Debug/tree_sitter_baba_yaga_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/js/baba-yaga/dev/helix/bindings/rust/build.rs b/js/baba-yaga/dev/helix/bindings/rust/build.rs deleted file mode 100644 index c6061f0..0000000 --- a/js/baba-yaga/dev/helix/bindings/rust/build.rs +++ /dev/null @@ -1,40 +0,0 @@ -fn main() { - let src_dir = std::path::Path::new("src"); - - let mut c_config = cc::Build::new(); - c_config.include(&src_dir); - c_config - .flag_if_supported("-Wno-unused-parameter") - .flag_if_supported("-Wno-unused-but-set-variable") - .flag_if_supported("-Wno-trigraphs"); - 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/js/baba-yaga/dev/helix/bindings/rust/lib.rs b/js/baba-yaga/dev/helix/bindings/rust/lib.rs deleted file mode 100644 index ee044e3..0000000 --- a/js/baba-yaga/dev/helix/bindings/rust/lib.rs +++ /dev/null @@ -1,52 +0,0 @@ -//! This crate provides baba_yaga 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_baba_yaga::language()).expect("Error loading baba_yaga 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_baba_yaga() -> 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_baba_yaga() } -} - -/// 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 baba_yaga language"); - } -} diff --git a/js/baba-yaga/dev/helix/grammar.js b/js/baba-yaga/dev/helix/grammar.js deleted file mode 100644 index 080f27b..0000000 --- a/js/baba-yaga/dev/helix/grammar.js +++ /dev/null @@ -1,352 +0,0 @@ -const PREC = { - COMMENT: 1, - STRING: 2, - NUMBER: 3, - IDENTIFIER: 4, - FUNCTION_CALL: 5, - MEMBER_ACCESS: 6, - UNARY: 7, - MULTIPLICATIVE: 8, - ADDITIVE: 9, - COMPARISON: 10, - EQUALITY: 11, - LOGICAL_AND: 12, - LOGICAL_OR: 13, - LOGICAL_XOR: 14, - FUNCTION: 15, - WHEN: 16, - ASSIGNMENT: 17, - SEQUENCE: 18, -}; - -module.exports = grammar({ - name: 'baba_yaga', - - extras: $ => [ - /\s/, - $.comment - ], - - conflicts: $ => [ - [$.function_definition, $.function_call] - ], - - rules: { - // Main program structure - program: $ => repeat($._statement), - - // Statements - _statement: $ => choice( - $.function_definition, - $.function_implementation, - $.when_expression, - $.expression_statement, - $.comment - ), - - // Function definitions - function_definition: $ => seq( - field('name', $.identifier), - ':', - field('parameters', $.parameter_list), - '->', - field('return_type', $._type), - ';' - ), - - // Function implementations - function_implementation: $ => seq( - field('name', $.identifier), - field('parameters', repeat1($.identifier)), - '->', - field('body', $._expression), - ';' - ), - - parameter_list: $ => choice( - seq('(', ')'), - seq('(', commaSep($._parameter), ')'), - $._parameter - ), - - _parameter: $ => choice( - $.identifier, - $.typed_parameter - ), - - typed_parameter: $ => seq( - field('name', $.identifier), - ':', - field('type', $._type) - ), - - // When expressions (pattern matching) - when_expression: $ => seq( - 'when', - field('subject', $._expression), - 'is', - field('patterns', repeat1($.when_pattern)), - ';' - ), - - when_pattern: $ => seq( - field('pattern', $._pattern), - 'then', - field('result', $._expression) - ), - - _pattern: $ => choice( - $.string, - $.number, - $.boolean, - $.result_pattern, - $.wildcard_pattern, - $.list_pattern, - $.table_pattern, - $.identifier - ), - - result_pattern: $ => choice( - seq('Ok', $._pattern), - seq('Err', $._pattern) - ), - - wildcard_pattern: $ => '_', - - list_pattern: $ => seq( - '[', - commaSep($._pattern), - ']' - ), - - table_pattern: $ => seq( - '{', - commaSep($.table_field_pattern), - '}' - ), - - table_field_pattern: $ => seq( - field('key', $.identifier), - ':', - field('value', $._pattern) - ), - - // Expressions - _expression: $ => choice( - $.function_call, - $.member_access, - $.binary_expression, - $.unary_expression, - $.parenthesized_expression, - $.list_expression, - $.table_expression, - $.identifier, - $.literal - ), - - // Function calls - function_call: $ => seq( - field('function', choice($.identifier, $.member_access)), - '(', - commaSep($._expression), - ')' - ), - - // Member access (e.g., str.concat, math.abs) - member_access: $ => seq( - field('object', $.identifier), - '.', - field('member', $.identifier) - ), - - // Binary expressions - binary_expression: $ => choice( - // Arithmetic - prec.left(PREC.ADDITIVE, seq( - field('left', $._expression), - choice('+', '-'), - field('right', $._expression) - )), - prec.left(PREC.MULTIPLICATIVE, seq( - field('left', $._expression), - choice('*', '/', '%'), - field('right', $._expression) - )), - // Comparison - prec.left(PREC.COMPARISON, seq( - field('left', $._expression), - choice('>', '<', '>=', '<='), - field('right', $._expression) - )), - // Equality - prec.left(PREC.EQUALITY, seq( - field('left', $._expression), - choice('=', '!='), - field('right', $._expression) - )), - // Logical - prec.left(PREC.LOGICAL_AND, seq( - field('left', $._expression), - 'and', - field('right', $._expression) - )), - prec.left(PREC.LOGICAL_OR, seq( - field('left', $._expression), - 'or', - field('right', $._expression) - )), - prec.left(PREC.LOGICAL_XOR, seq( - field('left', $._expression), - 'xor', - field('right', $._expression) - )), - // String concatenation - prec.left(PREC.ADDITIVE, seq( - field('left', $._expression), - '..', - field('right', $._expression) - )) - ), - - // Unary expressions - unary_expression: $ => prec(PREC.UNARY, seq( - choice('+', '-'), - field('operand', $._expression) - )), - - // Parenthesized expressions - parenthesized_expression: $ => seq( - '(', - $._expression, - ')' - ), - - // List expressions - list_expression: $ => seq( - '[', - commaSep($._expression), - ']' - ), - - // Table expressions - table_expression: $ => seq( - '{', - commaSep($.table_field), - '}' - ), - - table_field: $ => seq( - field('key', $.identifier), - ':', - field('value', $._expression) - ), - - // Expression statements - expression_statement: $ => seq( - $._expression, - ';' - ), - - // Types - _type: $ => choice( - $.primitive_type, - $.list_type, - $.table_type, - $.result_type, - $.function_type, - $.identifier - ), - - primitive_type: $ => choice( - 'Bool', - 'Int', - 'Float', - 'String', - 'Number' - ), - - list_type: $ => seq( - '[', - $._type, - ']' - ), - - table_type: $ => seq( - '{', - commaSep($.table_type_field), - '}' - ), - - table_type_field: $ => seq( - field('key', $.identifier), - ':', - field('value', $._type) - ), - - result_type: $ => seq( - 'Result', - '<', - $._type, - '>' - ), - - function_type: $ => seq( - '(', - commaSep($._type), - ')', - '->', - $._type - ), - - // Literals - literal: $ => choice( - $.string, - $.number, - $.boolean, - $.constant - ), - - string: $ => seq( - '"', - repeat(choice( - /[^"\\]/, - $.escape_sequence - )), - '"' - ), - - escape_sequence: $ => seq( - '\\', - choice( - /[\\"nrt]/, - /u[0-9a-fA-F]{4}/ - ) - ), - - number: $ => choice( - /[0-9]+/, - /[0-9]+\.[0-9]+/ - ), - - boolean: $ => choice('true', 'false'), - - constant: $ => choice('PI', 'INFINITY'), - - // Identifiers - identifier: $ => /[a-zA-Z_][a-zA-Z0-9_]*/, - - // Comments - comment: $ => seq( - '//', - /.*/ - ) - } -}); - -function commaSep(rule) { - return optional(commaSep1(rule)); -} - -function commaSep1(rule) { - return seq(rule, repeat(seq(',', rule))); -} diff --git a/js/baba-yaga/dev/helix/install.sh b/js/baba-yaga/dev/helix/install.sh deleted file mode 100755 index f7a0800..0000000 --- a/js/baba-yaga/dev/helix/install.sh +++ /dev/null @@ -1,95 +0,0 @@ -#!/bin/bash - -# Baba Yaga Helix Installation Script - -echo "๐ Installing Baba Yaga language support for Helix..." - -# Check if Helix is installed -if ! command -v hx &> /dev/null; then - echo "โ Helix is not installed. Please install Helix first:" - echo " https://docs.helix-editor.com/install.html" - exit 1 -fi - -# Create Helix config directory if it doesn't exist -HELIX_CONFIG="$HOME/.config/helix" -mkdir -p "$HELIX_CONFIG" -mkdir -p "$HELIX_CONFIG/runtime/queries" -mkdir -p "$HELIX_CONFIG/runtime/grammars" - -echo "๐ Helix config directory: $HELIX_CONFIG" - -# Copy language configuration -echo "๐ Installing language configuration..." -if [ -f "languages.toml" ]; then - cp languages.toml "$HELIX_CONFIG/" - echo "โ Language configuration installed" -else - echo "โ languages.toml not found" - exit 1 -fi - -# Copy queries -echo "๐ Installing Tree-sitter queries..." -if [ -d "runtime/queries/baba-yaga" ]; then - cp -r runtime/queries/baba-yaga "$HELIX_CONFIG/runtime/queries/" - echo "โ Queries installed" -else - echo "โ Queries directory not found" - exit 1 -fi - -# Check if we have a compiled grammar -if [ -f "baba-yaga.so" ]; then - echo "๐ง Installing compiled grammar..." - cp baba-yaga.so "$HELIX_CONFIG/runtime/grammars/" - echo "โ Grammar installed" -elif [ -f "src/parser.c" ]; then - echo "๐ง Compiling grammar..." - if command -v gcc &> /dev/null; then - gcc -shared -fPIC -o "$HELIX_CONFIG/runtime/grammars/baba-yaga.so" src/parser.c - echo "โ Grammar compiled and installed" - else - echo "โ ๏ธ GCC not found, skipping grammar compilation" - echo " You can compile it later with: gcc -shared -fPIC -o baba-yaga.so src/parser.c" - fi -else - echo "โ ๏ธ No grammar found. You'll need to build it separately:" - echo " 1. Clone the tree-sitter-baba-yaga repository" - echo " 2. Run: npm install && npx tree-sitter generate" - echo " 3. Copy the compiled .so file to $HELIX_CONFIG/runtime/grammars/" -fi - -# Test the installation -echo "๐งช Testing installation..." -if hx --grammar list | grep -q "baba-yaga"; then - echo "โ Baba Yaga grammar detected by Helix" -else - echo "โ ๏ธ Grammar not detected. You may need to:" - echo " 1. Restart Helix" - echo " 2. Run:" -fi - -echo "" -echo "๐ Installation complete!" -echo "" -echo "๐ Next steps:" -echo "1. Restart Helix" -echo "2. Open a .baba file to test syntax highlighting" -echo "3. Try opening a Markdown file with \`\`\`baba code blocks" -echo "" -echo "๐ง If you need to build the grammar:" -echo " git clone https://github.com/baba-yaga/tree-sitter-baba-yaga" -echo " cd tree-sitter-baba-yaga" -echo " npm install && npx tree-sitter generate" -echo " cp src/parser.c $HELIX_CONFIG/runtime/grammars/baba-yaga.so" -echo "" -echo "๐ For more information, see README.md" -echo "" -echo "๐ SUCCESS! Helix Baba Yaga support is now fully installed!" -echo "โ Grammar compiled and installed" -echo "โ All Tree-sitter features working" -echo "โ Test with: hx test.baba" - - - diff --git a/js/baba-yaga/dev/helix/languages-simple.toml b/js/baba-yaga/dev/helix/languages-simple.toml deleted file mode 100644 index 31edaaf..0000000 --- a/js/baba-yaga/dev/helix/languages-simple.toml +++ /dev/null @@ -1,5 +0,0 @@ -# Simple Helix language configuration for Baba Yaga -[[language]] -name = "baba" -scope = "source.baba" -file-types = ["baba"] diff --git a/js/baba-yaga/dev/helix/languages.toml b/js/baba-yaga/dev/helix/languages.toml deleted file mode 100644 index f4fca0d..0000000 --- a/js/baba-yaga/dev/helix/languages.toml +++ /dev/null @@ -1,27 +0,0 @@ -# Baba Yaga language configuration for Helix -[[language]] -name = "baba-yaga" -scope = "source.baba-yaga" -injection-regex = "baba-yaga" -file-types = ["baba"] -roots = [] -auto-format = false -comment-token = "//" -indent = { tab-width = 2, unit = " " } - -# Tree-sitter grammar configuration -[[grammar]] -name = "baba-yaga" -source = { git = "https://github.com/baba-yaga/tree-sitter-baba-yaga", rev = "main" } -# For local development, use: source = { path = "/path/to/tree-sitter-baba-yaga" } - -# Language server configuration (optional - for future LSP support) -# [[language-server]] -# name = "baba-yaga-lsp" -# command = "baba-yaga-lsp" -# args = [] -# config = {} -# environment = {} -# timeout = 100 -# transport = "stdio" -# language-id = "baba-yaga" diff --git a/js/baba-yaga/dev/helix/package-lock.json b/js/baba-yaga/dev/helix/package-lock.json deleted file mode 100644 index bf12190..0000000 --- a/js/baba-yaga/dev/helix/package-lock.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "tree-sitter-baba-yaga", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "tree-sitter-baba-yaga", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "tree-sitter": "^0.25.0" - }, - "devDependencies": { - "tree-sitter-cli": "^0.20.8" - } - }, - "node_modules/node-addon-api": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.5.0.tgz", - "integrity": "sha512-/bRZty2mXUIFY/xU5HLvveNHlswNJej+RnxBjOMkidWfwZzgTbPG1E3K5TOxRLOR+5hX7bSofy8yf1hZevMS8A==", - "engines": { - "node": "^18 || ^20 || >= 21" - } - }, - "node_modules/node-gyp-build": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", - "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/tree-sitter": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.25.0.tgz", - "integrity": "sha512-PGZZzFW63eElZJDe/b/R/LbsjDDYJa5UEjLZJB59RQsMX+fo0j54fqBPn1MGKav/QNa0JR0zBiVaikYDWCj5KQ==", - "hasInstallScript": true, - "dependencies": { - "node-addon-api": "^8.3.0", - "node-gyp-build": "^4.8.4" - } - }, - "node_modules/tree-sitter-cli": { - "version": "0.20.8", - "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.20.8.tgz", - "integrity": "sha512-XjTcS3wdTy/2cc/ptMLc/WRyOLECRYcMTrSWyhZnj1oGSOWbHLTklgsgRICU3cPfb0vy+oZCC33M43u6R1HSCA==", - "dev": true, - "hasInstallScript": true, - "bin": { - "tree-sitter": "cli.js" - } - } - } -} diff --git a/js/baba-yaga/dev/helix/package.json b/js/baba-yaga/dev/helix/package.json deleted file mode 100644 index 8834e9e..0000000 --- a/js/baba-yaga/dev/helix/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "tree-sitter-baba-yaga", - "version": "1.0.0", - "description": "Tree-sitter grammar for Baba Yaga programming language", - "main": "grammar.js", - "scripts": { - "generate": "tree-sitter generate", - "test": "tree-sitter test", - "parse": "tree-sitter parse", - "build": "npm run generate && npm run test" - }, - "devDependencies": { - "tree-sitter-cli": "^0.20.8" - }, - "repository": { - "type": "git", - "url": "https://github.com/baba-yaga/tree-sitter-baba-yaga.git" - }, - "keywords": [ - "tree-sitter", - "baba-yaga", - "grammar", - "parser" - ], - "author": "Baba Yaga Language Team", - "license": "MIT", - "dependencies": { - "tree-sitter": "^0.25.0" - } -} diff --git a/js/baba-yaga/dev/helix/runtime/queries/baba-yaga/highlights.scm b/js/baba-yaga/dev/helix/runtime/queries/baba-yaga/highlights.scm deleted file mode 100644 index ead151e..0000000 --- a/js/baba-yaga/dev/helix/runtime/queries/baba-yaga/highlights.scm +++ /dev/null @@ -1,93 +0,0 @@ -; Baba Yaga Tree-sitter highlight queries - -; Comments -(comment) @comment - -; Strings -(string) @string -(escape_sequence) @string.escape - -; Numbers -(number) @number - -; Booleans -(boolean) @boolean - -; Constants -(constant) @constant - -; Keywords -(when_expression) @keyword.control -(when_pattern) @keyword.control -"when" @keyword.control -"then" @keyword.control -"is" @keyword.control -"and" @keyword.operator -"or" @keyword.operator -"xor" @keyword.operator - -; Result constructors -(result_pattern) @constructor -"Ok" @constructor -"Err" @constructor - -; Function definitions -(function_definition) @function -(function_definition name: (identifier) @function) - -; Function calls -(function_call) @function.call -(function_call function: (identifier) @function) -(function_call function: (member_access object: (identifier) @namespace member: (identifier) @function)) - -; Member access (namespace.function) -(member_access) @property -(member_access object: (identifier) @namespace) -(member_access member: (identifier) @function) - -; Built-in functions and namespaces -(identifier) @variable -((identifier) @function.builtin (#match? @function.builtin "^(io|map|filter|reduce|append|set|merge|shape)$")) -((identifier) @namespace (#match? @namespace "^(str|math)$")) - -; Types -(primitive_type) @type -(list_type) @type -(table_type) @type -(result_type) @type -(function_type) @type -(typed_parameter type: (_type) @type) - -; Operators -(binary_expression) @operator -(unary_expression) @operator - -; Delimiters -"(" @punctuation.bracket -")" @punctuation.bracket -"[" @punctuation.bracket -"]" @punctuation.bracket -"{" @punctuation.bracket -"}" @punctuation.bracket -":" @punctuation.delimiter -"," @punctuation.delimiter -";" @punctuation.delimiter -"->" @punctuation.delimiter -".." @punctuation.delimiter -"." @punctuation.delimiter - -; Patterns -(wildcard_pattern) @variable.special -(literal_pattern) @constant -(type_pattern) @type - -; Lists and tables -(list_expression) @constructor -(table_expression) @constructor -(table_field key: (identifier) @property) - -; Parenthesized expressions -(parenthesized_expression) @punctuation.bracket - - - diff --git a/js/baba-yaga/dev/helix/runtime/queries/baba-yaga/indents.scm b/js/baba-yaga/dev/helix/runtime/queries/baba-yaga/indents.scm deleted file mode 100644 index 120104d..0000000 --- a/js/baba-yaga/dev/helix/runtime/queries/baba-yaga/indents.scm +++ /dev/null @@ -1,27 +0,0 @@ -; Baba Yaga Tree-sitter indent queries - -; Function definitions -(function_definition) @indent - -; When expressions -(when_expression) @indent -(when_pattern) @indent - -; Lists and tables -(list_expression) @indent -(table_expression) @indent - -; Parenthesized expressions -(parenthesized_expression) @indent - -; Function calls with multiple arguments -(function_call) @indent - -; Binary expressions (for long chains) -(binary_expression) @indent - -; Comments -(comment) @indent - - - diff --git a/js/baba-yaga/dev/helix/runtime/queries/baba-yaga/injections.scm b/js/baba-yaga/dev/helix/runtime/queries/baba-yaga/injections.scm deleted file mode 100644 index ed907f8..0000000 --- a/js/baba-yaga/dev/helix/runtime/queries/baba-yaga/injections.scm +++ /dev/null @@ -1,10 +0,0 @@ -; Baba Yaga Tree-sitter injection queries for Markdown - -; Inject Baba Yaga syntax into Markdown code blocks -(fenced_code_block - (info_string) @_info - (code_fence_content) @baba-yaga - (#eq? @_info "baba")) - - - diff --git a/js/baba-yaga/dev/helix/runtime/queries/baba-yaga/locals.scm b/js/baba-yaga/dev/helix/runtime/queries/baba-yaga/locals.scm deleted file mode 100644 index 7c55a42..0000000 --- a/js/baba-yaga/dev/helix/runtime/queries/baba-yaga/locals.scm +++ /dev/null @@ -1,22 +0,0 @@ -; Baba Yaga Tree-sitter locals queries - -; Function definitions -(function_definition - name: (identifier) @definition.function) - -; Parameters -(typed_parameter - name: (identifier) @definition.parameter) - -(identifier) @definition.parameter - -; Variables in patterns -(when_pattern - pattern: (identifier) @definition.parameter) - -; Local variables (identifiers that aren't built-ins) -(identifier) @reference -((identifier) @definition.parameter (#not-match? @definition.parameter "^(io|map|filter|reduce|append|set|merge|shape|str|math|when|then|is|Ok|Err|true|false|PI|INFINITY|and|or|xor|Bool|Int|Float|String|List|Table|Result|Number)$")) - - - diff --git a/js/baba-yaga/dev/helix/src/grammar.json b/js/baba-yaga/dev/helix/src/grammar.json deleted file mode 100644 index 4ce3cb2..0000000 --- a/js/baba-yaga/dev/helix/src/grammar.json +++ /dev/null @@ -1,1431 +0,0 @@ -{ - "name": "baba_yaga", - "rules": { - "program": { - "type": "REPEAT", - "content": { - "type": "SYMBOL", - "name": "_statement" - } - }, - "_statement": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "function_definition" - }, - { - "type": "SYMBOL", - "name": "function_implementation" - }, - { - "type": "SYMBOL", - "name": "when_expression" - }, - { - "type": "SYMBOL", - "name": "expression_statement" - }, - { - "type": "SYMBOL", - "name": "comment" - } - ] - }, - "function_definition": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "name", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "STRING", - "value": ":" - }, - { - "type": "FIELD", - "name": "parameters", - "content": { - "type": "SYMBOL", - "name": "parameter_list" - } - }, - { - "type": "STRING", - "value": "->" - }, - { - "type": "FIELD", - "name": "return_type", - "content": { - "type": "SYMBOL", - "name": "_type" - } - }, - { - "type": "STRING", - "value": ";" - } - ] - }, - "function_implementation": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "name", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "FIELD", - "name": "parameters", - "content": { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - } - }, - { - "type": "STRING", - "value": "->" - }, - { - "type": "FIELD", - "name": "body", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "STRING", - "value": ";" - } - ] - }, - "parameter_list": { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "(" - }, - { - "type": "STRING", - "value": ")" - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "(" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_parameter" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "_parameter" - } - ] - } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": ")" - } - ] - }, - { - "type": "SYMBOL", - "name": "_parameter" - } - ] - }, - "_parameter": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "identifier" - }, - { - "type": "SYMBOL", - "name": "typed_parameter" - } - ] - }, - "typed_parameter": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "name", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "STRING", - "value": ":" - }, - { - "type": "FIELD", - "name": "type", - "content": { - "type": "SYMBOL", - "name": "_type" - } - } - ] - }, - "when_expression": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "when" - }, - { - "type": "FIELD", - "name": "subject", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "STRING", - "value": "is" - }, - { - "type": "FIELD", - "name": "patterns", - "content": { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "when_pattern" - } - } - }, - { - "type": "STRING", - "value": ";" - } - ] - }, - "when_pattern": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "pattern", - "content": { - "type": "SYMBOL", - "name": "_pattern" - } - }, - { - "type": "STRING", - "value": "then" - }, - { - "type": "FIELD", - "name": "result", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - }, - "_pattern": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "string" - }, - { - "type": "SYMBOL", - "name": "number" - }, - { - "type": "SYMBOL", - "name": "boolean" - }, - { - "type": "SYMBOL", - "name": "result_pattern" - }, - { - "type": "SYMBOL", - "name": "wildcard_pattern" - }, - { - "type": "SYMBOL", - "name": "list_pattern" - }, - { - "type": "SYMBOL", - "name": "table_pattern" - }, - { - "type": "SYMBOL", - "name": "identifier" - } - ] - }, - "result_pattern": { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "Ok" - }, - { - "type": "SYMBOL", - "name": "_pattern" - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "Err" - }, - { - "type": "SYMBOL", - "name": "_pattern" - } - ] - } - ] - }, - "wildcard_pattern": { - "type": "STRING", - "value": "_" - }, - "list_pattern": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "[" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_pattern" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "_pattern" - } - ] - } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": "]" - } - ] - }, - "table_pattern": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "{" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "table_field_pattern" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "table_field_pattern" - } - ] - } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": "}" - } - ] - }, - "table_field_pattern": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "key", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "STRING", - "value": ":" - }, - { - "type": "FIELD", - "name": "value", - "content": { - "type": "SYMBOL", - "name": "_pattern" - } - } - ] - }, - "_expression": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "function_call" - }, - { - "type": "SYMBOL", - "name": "member_access" - }, - { - "type": "SYMBOL", - "name": "binary_expression" - }, - { - "type": "SYMBOL", - "name": "unary_expression" - }, - { - "type": "SYMBOL", - "name": "parenthesized_expression" - }, - { - "type": "SYMBOL", - "name": "list_expression" - }, - { - "type": "SYMBOL", - "name": "table_expression" - }, - { - "type": "SYMBOL", - "name": "identifier" - }, - { - "type": "SYMBOL", - "name": "literal" - } - ] - }, - "function_call": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "function", - "content": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "identifier" - }, - { - "type": "SYMBOL", - "name": "member_access" - } - ] - } - }, - { - "type": "STRING", - "value": "(" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_expression" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "_expression" - } - ] - } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": ")" - } - ] - }, - "member_access": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "object", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "STRING", - "value": "." - }, - { - "type": "FIELD", - "name": "member", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - } - ] - }, - "binary_expression": { - "type": "CHOICE", - "members": [ - { - "type": "PREC_LEFT", - "value": 9, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "+" - }, - { - "type": "STRING", - "value": "-" - } - ] - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 8, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "*" - }, - { - "type": "STRING", - "value": "/" - }, - { - "type": "STRING", - "value": "%" - } - ] - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 10, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": ">" - }, - { - "type": "STRING", - "value": "<" - }, - { - "type": "STRING", - "value": ">=" - }, - { - "type": "STRING", - "value": "<=" - } - ] - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 11, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "=" - }, - { - "type": "STRING", - "value": "!=" - } - ] - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 12, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "STRING", - "value": "and" - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 13, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "STRING", - "value": "or" - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 14, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "STRING", - "value": "xor" - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 9, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "STRING", - "value": ".." - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - } - ] - }, - "unary_expression": { - "type": "PREC", - "value": 7, - "content": { - "type": "SEQ", - "members": [ - { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "+" - }, - { - "type": "STRING", - "value": "-" - } - ] - }, - { - "type": "FIELD", - "name": "operand", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - }, - "parenthesized_expression": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "(" - }, - { - "type": "SYMBOL", - "name": "_expression" - }, - { - "type": "STRING", - "value": ")" - } - ] - }, - "list_expression": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "[" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_expression" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "_expression" - } - ] - } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": "]" - } - ] - }, - "table_expression": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "{" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "table_field" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "table_field" - } - ] - } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": "}" - } - ] - }, - "table_field": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "key", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "STRING", - "value": ":" - }, - { - "type": "FIELD", - "name": "value", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - }, - "expression_statement": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_expression" - }, - { - "type": "STRING", - "value": ";" - } - ] - }, - "_type": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "primitive_type" - }, - { - "type": "SYMBOL", - "name": "list_type" - }, - { - "type": "SYMBOL", - "name": "table_type" - }, - { - "type": "SYMBOL", - "name": "result_type" - }, - { - "type": "SYMBOL", - "name": "function_type" - }, - { - "type": "SYMBOL", - "name": "identifier" - } - ] - }, - "primitive_type": { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "Bool" - }, - { - "type": "STRING", - "value": "Int" - }, - { - "type": "STRING", - "value": "Float" - }, - { - "type": "STRING", - "value": "String" - }, - { - "type": "STRING", - "value": "Number" - } - ] - }, - "list_type": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "[" - }, - { - "type": "SYMBOL", - "name": "_type" - }, - { - "type": "STRING", - "value": "]" - } - ] - }, - "table_type": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "{" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "table_type_field" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "table_type_field" - } - ] - } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": "}" - } - ] - }, - "table_type_field": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "key", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "STRING", - "value": ":" - }, - { - "type": "FIELD", - "name": "value", - "content": { - "type": "SYMBOL", - "name": "_type" - } - } - ] - }, - "result_type": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "Result" - }, - { - "type": "STRING", - "value": "<" - }, - { - "type": "SYMBOL", - "name": "_type" - }, - { - "type": "STRING", - "value": ">" - } - ] - }, - "function_type": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "(" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_type" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "_type" - } - ] - } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": ")" - }, - { - "type": "STRING", - "value": "->" - }, - { - "type": "SYMBOL", - "name": "_type" - } - ] - }, - "literal": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "string" - }, - { - "type": "SYMBOL", - "name": "number" - }, - { - "type": "SYMBOL", - "name": "boolean" - }, - { - "type": "SYMBOL", - "name": "constant" - } - ] - }, - "string": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "\"" - }, - { - "type": "REPEAT", - "content": { - "type": "CHOICE", - "members": [ - { - "type": "PATTERN", - "value": "[^\"\\\\]" - }, - { - "type": "SYMBOL", - "name": "escape_sequence" - } - ] - } - }, - { - "type": "STRING", - "value": "\"" - } - ] - }, - "escape_sequence": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "\\" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "PATTERN", - "value": "[\\\\\"nrt]" - }, - { - "type": "PATTERN", - "value": "u[0-9a-fA-F]{4}" - } - ] - } - ] - }, - "number": { - "type": "CHOICE", - "members": [ - { - "type": "PATTERN", - "value": "[0-9]+" - }, - { - "type": "PATTERN", - "value": "[0-9]+\\.[0-9]+" - } - ] - }, - "boolean": { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "true" - }, - { - "type": "STRING", - "value": "false" - } - ] - }, - "constant": { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "PI" - }, - { - "type": "STRING", - "value": "INFINITY" - } - ] - }, - "identifier": { - "type": "PATTERN", - "value": "[a-zA-Z_][a-zA-Z0-9_]*" - }, - "comment": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "//" - }, - { - "type": "PATTERN", - "value": ".*" - } - ] - } - }, - "extras": [ - { - "type": "PATTERN", - "value": "\\s" - }, - { - "type": "SYMBOL", - "name": "comment" - } - ], - "conflicts": [ - [ - "function_definition", - "function_call" - ] - ], - "precedences": [], - "externals": [], - "inline": [], - "supertypes": [] -} - diff --git a/js/baba-yaga/dev/helix/src/node-types.json b/js/baba-yaga/dev/helix/src/node-types.json deleted file mode 100644 index d360a9b..0000000 --- a/js/baba-yaga/dev/helix/src/node-types.json +++ /dev/null @@ -1,1383 +0,0 @@ -[ - { - "type": "binary_expression", - "named": true, - "fields": { - "left": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - }, - "right": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - } - } - }, - { - "type": "boolean", - "named": true, - "fields": {} - }, - { - "type": "comment", - "named": true, - "fields": {} - }, - { - "type": "constant", - "named": true, - "fields": {} - }, - { - "type": "escape_sequence", - "named": true, - "fields": {} - }, - { - "type": "expression_statement", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - } - }, - { - "type": "function_call", - "named": true, - "fields": { - "function": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - }, - { - "type": "member_access", - "named": true - } - ] - } - }, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - } - }, - { - "type": "function_definition", - "named": true, - "fields": { - "name": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, - "parameters": { - "multiple": false, - "required": true, - "types": [ - { - "type": "parameter_list", - "named": true - } - ] - }, - "return_type": { - "multiple": false, - "required": true, - "types": [ - { - "type": "function_type", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_type", - "named": true - }, - { - "type": "primitive_type", - "named": true - }, - { - "type": "result_type", - "named": true - }, - { - "type": "table_type", - "named": true - } - ] - } - } - }, - { - "type": "function_implementation", - "named": true, - "fields": { - "body": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - }, - "name": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, - "parameters": { - "multiple": true, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - } - } - }, - { - "type": "function_type", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ - { - "type": "function_type", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_type", - "named": true - }, - { - "type": "primitive_type", - "named": true - }, - { - "type": "result_type", - "named": true - }, - { - "type": "table_type", - "named": true - } - ] - } - }, - { - "type": "list_expression", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - } - }, - { - "type": "list_pattern", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "boolean", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_pattern", - "named": true - }, - { - "type": "number", - "named": true - }, - { - "type": "result_pattern", - "named": true - }, - { - "type": "string", - "named": true - }, - { - "type": "table_pattern", - "named": true - }, - { - "type": "wildcard_pattern", - "named": true - } - ] - } - }, - { - "type": "list_type", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ - { - "type": "function_type", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_type", - "named": true - }, - { - "type": "primitive_type", - "named": true - }, - { - "type": "result_type", - "named": true - }, - { - "type": "table_type", - "named": true - } - ] - } - }, - { - "type": "literal", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ - { - "type": "boolean", - "named": true - }, - { - "type": "constant", - "named": true - }, - { - "type": "number", - "named": true - }, - { - "type": "string", - "named": true - } - ] - } - }, - { - "type": "member_access", - "named": true, - "fields": { - "member": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, - "object": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - } - } - }, - { - "type": "number", - "named": true, - "fields": {} - }, - { - "type": "parameter_list", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "identifier", - "named": true - }, - { - "type": "typed_parameter", - "named": true - } - ] - } - }, - { - "type": "parenthesized_expression", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - } - }, - { - "type": "primitive_type", - "named": true, - "fields": {} - }, - { - "type": "program", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "comment", - "named": true - }, - { - "type": "expression_statement", - "named": true - }, - { - "type": "function_definition", - "named": true - }, - { - "type": "function_implementation", - "named": true - }, - { - "type": "when_expression", - "named": true - } - ] - } - }, - { - "type": "result_pattern", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ - { - "type": "boolean", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_pattern", - "named": true - }, - { - "type": "number", - "named": true - }, - { - "type": "result_pattern", - "named": true - }, - { - "type": "string", - "named": true - }, - { - "type": "table_pattern", - "named": true - }, - { - "type": "wildcard_pattern", - "named": true - } - ] - } - }, - { - "type": "result_type", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ - { - "type": "function_type", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_type", - "named": true - }, - { - "type": "primitive_type", - "named": true - }, - { - "type": "result_type", - "named": true - }, - { - "type": "table_type", - "named": true - } - ] - } - }, - { - "type": "string", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "escape_sequence", - "named": true - } - ] - } - }, - { - "type": "table_expression", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "table_field", - "named": true - } - ] - } - }, - { - "type": "table_field", - "named": true, - "fields": { - "key": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, - "value": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - } - } - }, - { - "type": "table_field_pattern", - "named": true, - "fields": { - "key": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, - "value": { - "multiple": false, - "required": true, - "types": [ - { - "type": "boolean", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_pattern", - "named": true - }, - { - "type": "number", - "named": true - }, - { - "type": "result_pattern", - "named": true - }, - { - "type": "string", - "named": true - }, - { - "type": "table_pattern", - "named": true - }, - { - "type": "wildcard_pattern", - "named": true - } - ] - } - } - }, - { - "type": "table_pattern", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "table_field_pattern", - "named": true - } - ] - } - }, - { - "type": "table_type", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "table_type_field", - "named": true - } - ] - } - }, - { - "type": "table_type_field", - "named": true, - "fields": { - "key": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, - "value": { - "multiple": false, - "required": true, - "types": [ - { - "type": "function_type", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_type", - "named": true - }, - { - "type": "primitive_type", - "named": true - }, - { - "type": "result_type", - "named": true - }, - { - "type": "table_type", - "named": true - } - ] - } - } - }, - { - "type": "typed_parameter", - "named": true, - "fields": { - "name": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, - "type": { - "multiple": false, - "required": true, - "types": [ - { - "type": "function_type", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_type", - "named": true - }, - { - "type": "primitive_type", - "named": true - }, - { - "type": "result_type", - "named": true - }, - { - "type": "table_type", - "named": true - } - ] - } - } - }, - { - "type": "unary_expression", - "named": true, - "fields": { - "operand": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - } - } - }, - { - "type": "when_expression", - "named": true, - "fields": { - "patterns": { - "multiple": true, - "required": true, - "types": [ - { - "type": "when_pattern", - "named": true - } - ] - }, - "subject": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - } - } - }, - { - "type": "when_pattern", - "named": true, - "fields": { - "pattern": { - "multiple": false, - "required": true, - "types": [ - { - "type": "boolean", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_pattern", - "named": true - }, - { - "type": "number", - "named": true - }, - { - "type": "result_pattern", - "named": true - }, - { - "type": "string", - "named": true - }, - { - "type": "table_pattern", - "named": true - }, - { - "type": "wildcard_pattern", - "named": true - } - ] - }, - "result": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "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": "Bool", - "named": false - }, - { - "type": "Err", - "named": false - }, - { - "type": "Float", - "named": false - }, - { - "type": "INFINITY", - "named": false - }, - { - "type": "Int", - "named": false - }, - { - "type": "Number", - "named": false - }, - { - "type": "Ok", - "named": false - }, - { - "type": "PI", - "named": false - }, - { - "type": "Result", - "named": false - }, - { - "type": "String", - "named": false - }, - { - "type": "[", - "named": false - }, - { - "type": "\\", - "named": false - }, - { - "type": "]", - "named": false - }, - { - "type": "and", - "named": false - }, - { - "type": "false", - "named": false - }, - { - "type": "identifier", - "named": true - }, - { - "type": "is", - "named": false - }, - { - "type": "or", - "named": false - }, - { - "type": "then", - "named": false - }, - { - "type": "true", - "named": false - }, - { - "type": "when", - "named": false - }, - { - "type": "wildcard_pattern", - "named": true - }, - { - "type": "xor", - "named": false - }, - { - "type": "{", - "named": false - }, - { - "type": "}", - "named": false - } -] \ No newline at end of file diff --git a/js/baba-yaga/dev/helix/src/parser.c b/js/baba-yaga/dev/helix/src/parser.c deleted file mode 100644 index b48d802..0000000 --- a/js/baba-yaga/dev/helix/src/parser.c +++ /dev/null @@ -1,8306 +0,0 @@ -#include <tree_sitter/parser.h> - -#if defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wmissing-field-initializers" -#endif - -#define LANGUAGE_VERSION 14 -#define STATE_COUNT 220 -#define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 102 -#define ALIAS_COUNT 0 -#define TOKEN_COUNT 53 -#define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 17 -#define MAX_ALIAS_SEQUENCE_LENGTH 6 -#define PRODUCTION_ID_COUNT 11 - -enum { - anon_sym_COLON = 1, - anon_sym_DASH_GT = 2, - anon_sym_SEMI = 3, - anon_sym_LPAREN = 4, - anon_sym_RPAREN = 5, - anon_sym_COMMA = 6, - anon_sym_when = 7, - anon_sym_is = 8, - anon_sym_then = 9, - anon_sym_Ok = 10, - anon_sym_Err = 11, - sym_wildcard_pattern = 12, - anon_sym_LBRACK = 13, - anon_sym_RBRACK = 14, - anon_sym_LBRACE = 15, - anon_sym_RBRACE = 16, - anon_sym_DOT = 17, - anon_sym_PLUS = 18, - anon_sym_DASH = 19, - anon_sym_STAR = 20, - anon_sym_SLASH = 21, - anon_sym_PERCENT = 22, - anon_sym_GT = 23, - anon_sym_LT = 24, - anon_sym_GT_EQ = 25, - anon_sym_LT_EQ = 26, - anon_sym_EQ = 27, - anon_sym_BANG_EQ = 28, - anon_sym_and = 29, - anon_sym_or = 30, - anon_sym_xor = 31, - anon_sym_DOT_DOT = 32, - anon_sym_Bool = 33, - anon_sym_Int = 34, - anon_sym_Float = 35, - anon_sym_String = 36, - anon_sym_Number = 37, - anon_sym_Result = 38, - anon_sym_DQUOTE = 39, - aux_sym_string_token1 = 40, - anon_sym_BSLASH = 41, - aux_sym_escape_sequence_token1 = 42, - aux_sym_escape_sequence_token2 = 43, - aux_sym_number_token1 = 44, - aux_sym_number_token2 = 45, - anon_sym_true = 46, - anon_sym_false = 47, - anon_sym_PI = 48, - anon_sym_INFINITY = 49, - sym_identifier = 50, - anon_sym_SLASH_SLASH = 51, - aux_sym_comment_token1 = 52, - sym_program = 53, - sym__statement = 54, - sym_function_definition = 55, - sym_function_implementation = 56, - sym_parameter_list = 57, - sym__parameter = 58, - sym_typed_parameter = 59, - sym_when_expression = 60, - sym_when_pattern = 61, - sym__pattern = 62, - sym_result_pattern = 63, - sym_list_pattern = 64, - sym_table_pattern = 65, - sym_table_field_pattern = 66, - sym__expression = 67, - sym_function_call = 68, - sym_member_access = 69, - sym_binary_expression = 70, - sym_unary_expression = 71, - sym_parenthesized_expression = 72, - sym_list_expression = 73, - sym_table_expression = 74, - sym_table_field = 75, - sym_expression_statement = 76, - sym__type = 77, - sym_primitive_type = 78, - sym_list_type = 79, - sym_table_type = 80, - sym_table_type_field = 81, - sym_result_type = 82, - sym_function_type = 83, - sym_literal = 84, - sym_string = 85, - sym_escape_sequence = 86, - sym_number = 87, - sym_boolean = 88, - sym_constant = 89, - sym_comment = 90, - aux_sym_program_repeat1 = 91, - aux_sym_function_implementation_repeat1 = 92, - aux_sym_parameter_list_repeat1 = 93, - aux_sym_when_expression_repeat1 = 94, - aux_sym_list_pattern_repeat1 = 95, - aux_sym_table_pattern_repeat1 = 96, - aux_sym_function_call_repeat1 = 97, - aux_sym_table_expression_repeat1 = 98, - aux_sym_table_type_repeat1 = 99, - aux_sym_function_type_repeat1 = 100, - aux_sym_string_repeat1 = 101, -}; - -static const char * const ts_symbol_names[] = { - [ts_builtin_sym_end] = "end", - [anon_sym_COLON] = ":", - [anon_sym_DASH_GT] = "->", - [anon_sym_SEMI] = ";", - [anon_sym_LPAREN] = "(", - [anon_sym_RPAREN] = ")", - [anon_sym_COMMA] = ",", - [anon_sym_when] = "when", - [anon_sym_is] = "is", - [anon_sym_then] = "then", - [anon_sym_Ok] = "Ok", - [anon_sym_Err] = "Err", - [sym_wildcard_pattern] = "wildcard_pattern", - [anon_sym_LBRACK] = "[", - [anon_sym_RBRACK] = "]", - [anon_sym_LBRACE] = "{", - [anon_sym_RBRACE] = "}", - [anon_sym_DOT] = ".", - [anon_sym_PLUS] = "+", - [anon_sym_DASH] = "-", - [anon_sym_STAR] = "*", - [anon_sym_SLASH] = "/", - [anon_sym_PERCENT] = "%", - [anon_sym_GT] = ">", - [anon_sym_LT] = "<", - [anon_sym_GT_EQ] = ">=", - [anon_sym_LT_EQ] = "<=", - [anon_sym_EQ] = "=", - [anon_sym_BANG_EQ] = "!=", - [anon_sym_and] = "and", - [anon_sym_or] = "or", - [anon_sym_xor] = "xor", - [anon_sym_DOT_DOT] = "..", - [anon_sym_Bool] = "Bool", - [anon_sym_Int] = "Int", - [anon_sym_Float] = "Float", - [anon_sym_String] = "String", - [anon_sym_Number] = "Number", - [anon_sym_Result] = "Result", - [anon_sym_DQUOTE] = "\"", - [aux_sym_string_token1] = "string_token1", - [anon_sym_BSLASH] = "\\", - [aux_sym_escape_sequence_token1] = "escape_sequence_token1", - [aux_sym_escape_sequence_token2] = "escape_sequence_token2", - [aux_sym_number_token1] = "number_token1", - [aux_sym_number_token2] = "number_token2", - [anon_sym_true] = "true", - [anon_sym_false] = "false", - [anon_sym_PI] = "PI", - [anon_sym_INFINITY] = "INFINITY", - [sym_identifier] = "identifier", - [anon_sym_SLASH_SLASH] = "//", - [aux_sym_comment_token1] = "comment_token1", - [sym_program] = "program", - [sym__statement] = "_statement", - [sym_function_definition] = "function_definition", - [sym_function_implementation] = "function_implementation", - [sym_parameter_list] = "parameter_list", - [sym__parameter] = "_parameter", - [sym_typed_parameter] = "typed_parameter", - [sym_when_expression] = "when_expression", - [sym_when_pattern] = "when_pattern", - [sym__pattern] = "_pattern", - [sym_result_pattern] = "result_pattern", - [sym_list_pattern] = "list_pattern", - [sym_table_pattern] = "table_pattern", - [sym_table_field_pattern] = "table_field_pattern", - [sym__expression] = "_expression", - [sym_function_call] = "function_call", - [sym_member_access] = "member_access", - [sym_binary_expression] = "binary_expression", - [sym_unary_expression] = "unary_expression", - [sym_parenthesized_expression] = "parenthesized_expression", - [sym_list_expression] = "list_expression", - [sym_table_expression] = "table_expression", - [sym_table_field] = "table_field", - [sym_expression_statement] = "expression_statement", - [sym__type] = "_type", - [sym_primitive_type] = "primitive_type", - [sym_list_type] = "list_type", - [sym_table_type] = "table_type", - [sym_table_type_field] = "table_type_field", - [sym_result_type] = "result_type", - [sym_function_type] = "function_type", - [sym_literal] = "literal", - [sym_string] = "string", - [sym_escape_sequence] = "escape_sequence", - [sym_number] = "number", - [sym_boolean] = "boolean", - [sym_constant] = "constant", - [sym_comment] = "comment", - [aux_sym_program_repeat1] = "program_repeat1", - [aux_sym_function_implementation_repeat1] = "function_implementation_repeat1", - [aux_sym_parameter_list_repeat1] = "parameter_list_repeat1", - [aux_sym_when_expression_repeat1] = "when_expression_repeat1", - [aux_sym_list_pattern_repeat1] = "list_pattern_repeat1", - [aux_sym_table_pattern_repeat1] = "table_pattern_repeat1", - [aux_sym_function_call_repeat1] = "function_call_repeat1", - [aux_sym_table_expression_repeat1] = "table_expression_repeat1", - [aux_sym_table_type_repeat1] = "table_type_repeat1", - [aux_sym_function_type_repeat1] = "function_type_repeat1", - [aux_sym_string_repeat1] = "string_repeat1", -}; - -static const TSSymbol ts_symbol_map[] = { - [ts_builtin_sym_end] = ts_builtin_sym_end, - [anon_sym_COLON] = anon_sym_COLON, - [anon_sym_DASH_GT] = anon_sym_DASH_GT, - [anon_sym_SEMI] = anon_sym_SEMI, - [anon_sym_LPAREN] = anon_sym_LPAREN, - [anon_sym_RPAREN] = anon_sym_RPAREN, - [anon_sym_COMMA] = anon_sym_COMMA, - [anon_sym_when] = anon_sym_when, - [anon_sym_is] = anon_sym_is, - [anon_sym_then] = anon_sym_then, - [anon_sym_Ok] = anon_sym_Ok, - [anon_sym_Err] = anon_sym_Err, - [sym_wildcard_pattern] = sym_wildcard_pattern, - [anon_sym_LBRACK] = anon_sym_LBRACK, - [anon_sym_RBRACK] = anon_sym_RBRACK, - [anon_sym_LBRACE] = anon_sym_LBRACE, - [anon_sym_RBRACE] = anon_sym_RBRACE, - [anon_sym_DOT] = anon_sym_DOT, - [anon_sym_PLUS] = anon_sym_PLUS, - [anon_sym_DASH] = anon_sym_DASH, - [anon_sym_STAR] = anon_sym_STAR, - [anon_sym_SLASH] = anon_sym_SLASH, - [anon_sym_PERCENT] = anon_sym_PERCENT, - [anon_sym_GT] = anon_sym_GT, - [anon_sym_LT] = anon_sym_LT, - [anon_sym_GT_EQ] = anon_sym_GT_EQ, - [anon_sym_LT_EQ] = anon_sym_LT_EQ, - [anon_sym_EQ] = anon_sym_EQ, - [anon_sym_BANG_EQ] = anon_sym_BANG_EQ, - [anon_sym_and] = anon_sym_and, - [anon_sym_or] = anon_sym_or, - [anon_sym_xor] = anon_sym_xor, - [anon_sym_DOT_DOT] = anon_sym_DOT_DOT, - [anon_sym_Bool] = anon_sym_Bool, - [anon_sym_Int] = anon_sym_Int, - [anon_sym_Float] = anon_sym_Float, - [anon_sym_String] = anon_sym_String, - [anon_sym_Number] = anon_sym_Number, - [anon_sym_Result] = anon_sym_Result, - [anon_sym_DQUOTE] = anon_sym_DQUOTE, - [aux_sym_string_token1] = aux_sym_string_token1, - [anon_sym_BSLASH] = anon_sym_BSLASH, - [aux_sym_escape_sequence_token1] = aux_sym_escape_sequence_token1, - [aux_sym_escape_sequence_token2] = aux_sym_escape_sequence_token2, - [aux_sym_number_token1] = aux_sym_number_token1, - [aux_sym_number_token2] = aux_sym_number_token2, - [anon_sym_true] = anon_sym_true, - [anon_sym_false] = anon_sym_false, - [anon_sym_PI] = anon_sym_PI, - [anon_sym_INFINITY] = anon_sym_INFINITY, - [sym_identifier] = sym_identifier, - [anon_sym_SLASH_SLASH] = anon_sym_SLASH_SLASH, - [aux_sym_comment_token1] = aux_sym_comment_token1, - [sym_program] = sym_program, - [sym__statement] = sym__statement, - [sym_function_definition] = sym_function_definition, - [sym_function_implementation] = sym_function_implementation, - [sym_parameter_list] = sym_parameter_list, - [sym__parameter] = sym__parameter, - [sym_typed_parameter] = sym_typed_parameter, - [sym_when_expression] = sym_when_expression, - [sym_when_pattern] = sym_when_pattern, - [sym__pattern] = sym__pattern, - [sym_result_pattern] = sym_result_pattern, - [sym_list_pattern] = sym_list_pattern, - [sym_table_pattern] = sym_table_pattern, - [sym_table_field_pattern] = sym_table_field_pattern, - [sym__expression] = sym__expression, - [sym_function_call] = sym_function_call, - [sym_member_access] = sym_member_access, - [sym_binary_expression] = sym_binary_expression, - [sym_unary_expression] = sym_unary_expression, - [sym_parenthesized_expression] = sym_parenthesized_expression, - [sym_list_expression] = sym_list_expression, - [sym_table_expression] = sym_table_expression, - [sym_table_field] = sym_table_field, - [sym_expression_statement] = sym_expression_statement, - [sym__type] = sym__type, - [sym_primitive_type] = sym_primitive_type, - [sym_list_type] = sym_list_type, - [sym_table_type] = sym_table_type, - [sym_table_type_field] = sym_table_type_field, - [sym_result_type] = sym_result_type, - [sym_function_type] = sym_function_type, - [sym_literal] = sym_literal, - [sym_string] = sym_string, - [sym_escape_sequence] = sym_escape_sequence, - [sym_number] = sym_number, - [sym_boolean] = sym_boolean, - [sym_constant] = sym_constant, - [sym_comment] = sym_comment, - [aux_sym_program_repeat1] = aux_sym_program_repeat1, - [aux_sym_function_implementation_repeat1] = aux_sym_function_implementation_repeat1, - [aux_sym_parameter_list_repeat1] = aux_sym_parameter_list_repeat1, - [aux_sym_when_expression_repeat1] = aux_sym_when_expression_repeat1, - [aux_sym_list_pattern_repeat1] = aux_sym_list_pattern_repeat1, - [aux_sym_table_pattern_repeat1] = aux_sym_table_pattern_repeat1, - [aux_sym_function_call_repeat1] = aux_sym_function_call_repeat1, - [aux_sym_table_expression_repeat1] = aux_sym_table_expression_repeat1, - [aux_sym_table_type_repeat1] = aux_sym_table_type_repeat1, - [aux_sym_function_type_repeat1] = aux_sym_function_type_repeat1, - [aux_sym_string_repeat1] = aux_sym_string_repeat1, -}; - -static const TSSymbolMetadata ts_symbol_metadata[] = { - [ts_builtin_sym_end] = { - .visible = false, - .named = true, - }, - [anon_sym_COLON] = { - .visible = true, - .named = false, - }, - [anon_sym_DASH_GT] = { - .visible = true, - .named = false, - }, - [anon_sym_SEMI] = { - .visible = true, - .named = false, - }, - [anon_sym_LPAREN] = { - .visible = true, - .named = false, - }, - [anon_sym_RPAREN] = { - .visible = true, - .named = false, - }, - [anon_sym_COMMA] = { - .visible = true, - .named = false, - }, - [anon_sym_when] = { - .visible = true, - .named = false, - }, - [anon_sym_is] = { - .visible = true, - .named = false, - }, - [anon_sym_then] = { - .visible = true, - .named = false, - }, - [anon_sym_Ok] = { - .visible = true, - .named = false, - }, - [anon_sym_Err] = { - .visible = true, - .named = false, - }, - [sym_wildcard_pattern] = { - .visible = true, - .named = true, - }, - [anon_sym_LBRACK] = { - .visible = true, - .named = false, - }, - [anon_sym_RBRACK] = { - .visible = true, - .named = false, - }, - [anon_sym_LBRACE] = { - .visible = true, - .named = false, - }, - [anon_sym_RBRACE] = { - .visible = true, - .named = false, - }, - [anon_sym_DOT] = { - .visible = true, - .named = false, - }, - [anon_sym_PLUS] = { - .visible = true, - .named = false, - }, - [anon_sym_DASH] = { - .visible = true, - .named = false, - }, - [anon_sym_STAR] = { - .visible = true, - .named = false, - }, - [anon_sym_SLASH] = { - .visible = true, - .named = false, - }, - [anon_sym_PERCENT] = { - .visible = true, - .named = false, - }, - [anon_sym_GT] = { - .visible = true, - .named = false, - }, - [anon_sym_LT] = { - .visible = true, - .named = false, - }, - [anon_sym_GT_EQ] = { - .visible = true, - .named = false, - }, - [anon_sym_LT_EQ] = { - .visible = true, - .named = false, - }, - [anon_sym_EQ] = { - .visible = true, - .named = false, - }, - [anon_sym_BANG_EQ] = { - .visible = true, - .named = false, - }, - [anon_sym_and] = { - .visible = true, - .named = false, - }, - [anon_sym_or] = { - .visible = true, - .named = false, - }, - [anon_sym_xor] = { - .visible = true, - .named = false, - }, - [anon_sym_DOT_DOT] = { - .visible = true, - .named = false, - }, - [anon_sym_Bool] = { - .visible = true, - .named = false, - }, - [anon_sym_Int] = { - .visible = true, - .named = false, - }, - [anon_sym_Float] = { - .visible = true, - .named = false, - }, - [anon_sym_String] = { - .visible = true, - .named = false, - }, - [anon_sym_Number] = { - .visible = true, - .named = false, - }, - [anon_sym_Result] = { - .visible = true, - .named = false, - }, - [anon_sym_DQUOTE] = { - .visible = true, - .named = false, - }, - [aux_sym_string_token1] = { - .visible = false, - .named = false, - }, - [anon_sym_BSLASH] = { - .visible = true, - .named = false, - }, - [aux_sym_escape_sequence_token1] = { - .visible = false, - .named = false, - }, - [aux_sym_escape_sequence_token2] = { - .visible = false, - .named = false, - }, - [aux_sym_number_token1] = { - .visible = false, - .named = false, - }, - [aux_sym_number_token2] = { - .visible = false, - .named = false, - }, - [anon_sym_true] = { - .visible = true, - .named = false, - }, - [anon_sym_false] = { - .visible = true, - .named = false, - }, - [anon_sym_PI] = { - .visible = true, - .named = false, - }, - [anon_sym_INFINITY] = { - .visible = true, - .named = false, - }, - [sym_identifier] = { - .visible = true, - .named = true, - }, - [anon_sym_SLASH_SLASH] = { - .visible = true, - .named = false, - }, - [aux_sym_comment_token1] = { - .visible = false, - .named = false, - }, - [sym_program] = { - .visible = true, - .named = true, - }, - [sym__statement] = { - .visible = false, - .named = true, - }, - [sym_function_definition] = { - .visible = true, - .named = true, - }, - [sym_function_implementation] = { - .visible = true, - .named = true, - }, - [sym_parameter_list] = { - .visible = true, - .named = true, - }, - [sym__parameter] = { - .visible = false, - .named = true, - }, - [sym_typed_parameter] = { - .visible = true, - .named = true, - }, - [sym_when_expression] = { - .visible = true, - .named = true, - }, - [sym_when_pattern] = { - .visible = true, - .named = true, - }, - [sym__pattern] = { - .visible = false, - .named = true, - }, - [sym_result_pattern] = { - .visible = true, - .named = true, - }, - [sym_list_pattern] = { - .visible = true, - .named = true, - }, - [sym_table_pattern] = { - .visible = true, - .named = true, - }, - [sym_table_field_pattern] = { - .visible = true, - .named = true, - }, - [sym__expression] = { - .visible = false, - .named = true, - }, - [sym_function_call] = { - .visible = true, - .named = true, - }, - [sym_member_access] = { - .visible = true, - .named = true, - }, - [sym_binary_expression] = { - .visible = true, - .named = true, - }, - [sym_unary_expression] = { - .visible = true, - .named = true, - }, - [sym_parenthesized_expression] = { - .visible = true, - .named = true, - }, - [sym_list_expression] = { - .visible = true, - .named = true, - }, - [sym_table_expression] = { - .visible = true, - .named = true, - }, - [sym_table_field] = { - .visible = true, - .named = true, - }, - [sym_expression_statement] = { - .visible = true, - .named = true, - }, - [sym__type] = { - .visible = false, - .named = true, - }, - [sym_primitive_type] = { - .visible = true, - .named = true, - }, - [sym_list_type] = { - .visible = true, - .named = true, - }, - [sym_table_type] = { - .visible = true, - .named = true, - }, - [sym_table_type_field] = { - .visible = true, - .named = true, - }, - [sym_result_type] = { - .visible = true, - .named = true, - }, - [sym_function_type] = { - .visible = true, - .named = true, - }, - [sym_literal] = { - .visible = true, - .named = true, - }, - [sym_string] = { - .visible = true, - .named = true, - }, - [sym_escape_sequence] = { - .visible = true, - .named = true, - }, - [sym_number] = { - .visible = true, - .named = true, - }, - [sym_boolean] = { - .visible = true, - .named = true, - }, - [sym_constant] = { - .visible = true, - .named = true, - }, - [sym_comment] = { - .visible = true, - .named = true, - }, - [aux_sym_program_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_function_implementation_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_parameter_list_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_when_expression_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_list_pattern_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_table_pattern_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_function_call_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_table_expression_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_table_type_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_function_type_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_string_repeat1] = { - .visible = false, - .named = false, - }, -}; - -enum { - field_body = 1, - field_function = 2, - field_key = 3, - field_left = 4, - field_member = 5, - field_name = 6, - field_object = 7, - field_operand = 8, - field_parameters = 9, - field_pattern = 10, - field_patterns = 11, - field_result = 12, - field_return_type = 13, - field_right = 14, - field_subject = 15, - field_type = 16, - field_value = 17, -}; - -static const char * const ts_field_names[] = { - [0] = NULL, - [field_body] = "body", - [field_function] = "function", - [field_key] = "key", - [field_left] = "left", - [field_member] = "member", - [field_name] = "name", - [field_object] = "object", - [field_operand] = "operand", - [field_parameters] = "parameters", - [field_pattern] = "pattern", - [field_patterns] = "patterns", - [field_result] = "result", - [field_return_type] = "return_type", - [field_right] = "right", - [field_subject] = "subject", - [field_type] = "type", - [field_value] = "value", -}; - -static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { - [1] = {.index = 0, .length = 1}, - [2] = {.index = 1, .length = 1}, - [3] = {.index = 2, .length = 2}, - [4] = {.index = 4, .length = 2}, - [5] = {.index = 6, .length = 2}, - [6] = {.index = 8, .length = 2}, - [7] = {.index = 10, .length = 2}, - [8] = {.index = 12, .length = 3}, - [9] = {.index = 15, .length = 2}, - [10] = {.index = 17, .length = 3}, -}; - -static const TSFieldMapEntry ts_field_map_entries[] = { - [0] = - {field_operand, 1}, - [1] = - {field_function, 0}, - [2] = - {field_member, 2}, - {field_object, 0}, - [4] = - {field_left, 0}, - {field_right, 2}, - [6] = - {field_key, 0}, - {field_value, 2}, - [8] = - {field_patterns, 3}, - {field_subject, 1}, - [10] = - {field_name, 0}, - {field_type, 2}, - [12] = - {field_body, 3}, - {field_name, 0}, - {field_parameters, 1}, - [15] = - {field_pattern, 0}, - {field_result, 2}, - [17] = - {field_name, 0}, - {field_parameters, 2}, - {field_return_type, 4}, -}; - -static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { - [0] = {0}, -}; - -static const uint16_t ts_non_terminal_alias_map[] = { - 0, -}; - -static const TSStateId ts_primary_state_ids[STATE_COUNT] = { - [0] = 0, - [1] = 1, - [2] = 2, - [3] = 3, - [4] = 4, - [5] = 5, - [6] = 6, - [7] = 7, - [8] = 8, - [9] = 9, - [10] = 10, - [11] = 11, - [12] = 12, - [13] = 13, - [14] = 14, - [15] = 15, - [16] = 16, - [17] = 17, - [18] = 18, - [19] = 19, - [20] = 20, - [21] = 21, - [22] = 22, - [23] = 23, - [24] = 24, - [25] = 25, - [26] = 26, - [27] = 27, - [28] = 28, - [29] = 10, - [30] = 30, - [31] = 31, - [32] = 32, - [33] = 33, - [34] = 34, - [35] = 35, - [36] = 11, - [37] = 37, - [38] = 38, - [39] = 39, - [40] = 40, - [41] = 41, - [42] = 42, - [43] = 43, - [44] = 39, - [45] = 40, - [46] = 38, - [47] = 47, - [48] = 37, - [49] = 47, - [50] = 50, - [51] = 43, - [52] = 52, - [53] = 53, - [54] = 42, - [55] = 41, - [56] = 56, - [57] = 57, - [58] = 58, - [59] = 52, - [60] = 4, - [61] = 5, - [62] = 25, - [63] = 7, - [64] = 13, - [65] = 14, - [66] = 6, - [67] = 15, - [68] = 68, - [69] = 16, - [70] = 18, - [71] = 26, - [72] = 27, - [73] = 30, - [74] = 31, - [75] = 22, - [76] = 33, - [77] = 21, - [78] = 20, - [79] = 28, - [80] = 9, - [81] = 81, - [82] = 82, - [83] = 17, - [84] = 35, - [85] = 32, - [86] = 8, - [87] = 24, - [88] = 34, - [89] = 23, - [90] = 19, - [91] = 91, - [92] = 92, - [93] = 93, - [94] = 94, - [95] = 95, - [96] = 96, - [97] = 94, - [98] = 98, - [99] = 99, - [100] = 99, - [101] = 101, - [102] = 102, - [103] = 103, - [104] = 104, - [105] = 105, - [106] = 106, - [107] = 107, - [108] = 107, - [109] = 109, - [110] = 110, - [111] = 111, - [112] = 112, - [113] = 113, - [114] = 114, - [115] = 115, - [116] = 116, - [117] = 117, - [118] = 118, - [119] = 119, - [120] = 120, - [121] = 121, - [122] = 122, - [123] = 123, - [124] = 124, - [125] = 125, - [126] = 126, - [127] = 127, - [128] = 128, - [129] = 129, - [130] = 130, - [131] = 131, - [132] = 132, - [133] = 133, - [134] = 134, - [135] = 133, - [136] = 134, - [137] = 137, - [138] = 138, - [139] = 139, - [140] = 140, - [141] = 141, - [142] = 142, - [143] = 143, - [144] = 144, - [145] = 145, - [146] = 146, - [147] = 147, - [148] = 148, - [149] = 149, - [150] = 150, - [151] = 151, - [152] = 152, - [153] = 153, - [154] = 154, - [155] = 155, - [156] = 156, - [157] = 157, - [158] = 158, - [159] = 150, - [160] = 160, - [161] = 161, - [162] = 161, - [163] = 163, - [164] = 152, - [165] = 165, - [166] = 166, - [167] = 167, - [168] = 168, - [169] = 169, - [170] = 170, - [171] = 171, - [172] = 172, - [173] = 157, - [174] = 174, - [175] = 175, - [176] = 176, - [177] = 177, - [178] = 154, - [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] = 198, - [205] = 205, - [206] = 206, - [207] = 207, - [208] = 208, - [209] = 209, - [210] = 210, - [211] = 211, - [212] = 212, - [213] = 213, - [214] = 200, - [215] = 215, - [216] = 216, - [217] = 217, - [218] = 218, - [219] = 119, -}; - -static bool ts_lex(TSLexer *lexer, TSStateId state) { - START_LEXER(); - eof = lexer->eof(lexer); - switch (state) { - case 0: - if (eof) ADVANCE(69); - if (lookahead == '!') ADVANCE(11); - if (lookahead == '"') ADVANCE(123); - if (lookahead == '%') ADVANCE(96); - if (lookahead == '(') ADVANCE(73); - if (lookahead == ')') ADVANCE(74); - if (lookahead == '*') ADVANCE(94); - if (lookahead == '+') ADVANCE(91); - if (lookahead == ',') ADVANCE(75); - if (lookahead == '-') ADVANCE(93); - if (lookahead == '.') ADVANCE(90); - if (lookahead == '/') ADVANCE(95); - if (lookahead == ':') ADVANCE(70); - if (lookahead == ';') ADVANCE(72); - if (lookahead == '<') ADVANCE(99); - if (lookahead == '=') ADVANCE(102); - if (lookahead == '>') ADVANCE(98); - if (lookahead == 'B') ADVANCE(45); - if (lookahead == 'E') ADVANCE(53); - if (lookahead == 'F') ADVANCE(37); - if (lookahead == 'I') ADVANCE(17); - if (lookahead == 'N') ADVANCE(61); - if (lookahead == 'O') ADVANCE(34); - if (lookahead == 'P') ADVANCE(14); - if (lookahead == 'R') ADVANCE(27); - if (lookahead == 'S') ADVANCE(60); - if (lookahead == '[') ADVANCE(86); - if (lookahead == '\\') ADVANCE(127); - if (lookahead == ']') ADVANCE(87); - if (lookahead == '_') ADVANCE(84); - if (lookahead == 'a') ADVANCE(40); - if (lookahead == 'f') ADVANCE(21); - if (lookahead == 'i') ADVANCE(54); - if (lookahead == 'o') ADVANCE(48); - if (lookahead == 'u') ADVANCE(67); - if (lookahead == 'w') ADVANCE(31); - if (lookahead == 'x') ADVANCE(47); - if (lookahead == '{') ADVANCE(88); - if (lookahead == '}') ADVANCE(89); - if (lookahead == 'n' || - lookahead == 'r' || - lookahead == 't') ADVANCE(128); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(0) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(130); - END_STATE(); - case 1: - if (lookahead == '!') ADVANCE(11); - if (lookahead == '"') ADVANCE(123); - if (lookahead == '%') ADVANCE(96); - if (lookahead == '(') ADVANCE(73); - if (lookahead == '*') ADVANCE(94); - if (lookahead == '+') ADVANCE(91); - if (lookahead == '-') ADVANCE(92); - if (lookahead == '.') ADVANCE(90); - if (lookahead == '/') ADVANCE(95); - if (lookahead == ';') ADVANCE(72); - if (lookahead == '<') ADVANCE(99); - if (lookahead == '=') ADVANCE(102); - if (lookahead == '>') ADVANCE(98); - if (lookahead == 'E') ADVANCE(179); - if (lookahead == 'O') ADVANCE(159); - if (lookahead == '[') ADVANCE(86); - if (lookahead == '_') ADVANCE(85); - if (lookahead == 'a') ADVANCE(166); - if (lookahead == 'f') ADVANCE(147); - if (lookahead == 'o') ADVANCE(174); - if (lookahead == 't') ADVANCE(173); - if (lookahead == 'x') ADVANCE(172); - if (lookahead == '{') ADVANCE(88); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(1) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(130); - if (('A' <= lookahead && lookahead <= 'Z') || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 2: - if (lookahead == '!') ADVANCE(11); - if (lookahead == '%') ADVANCE(96); - if (lookahead == '(') ADVANCE(73); - if (lookahead == ')') ADVANCE(74); - if (lookahead == '*') ADVANCE(94); - if (lookahead == '+') ADVANCE(91); - if (lookahead == ',') ADVANCE(75); - if (lookahead == '-') ADVANCE(92); - if (lookahead == '.') ADVANCE(90); - if (lookahead == '/') ADVANCE(95); - if (lookahead == ';') ADVANCE(72); - if (lookahead == '<') ADVANCE(99); - if (lookahead == '=') ADVANCE(102); - if (lookahead == '>') ADVANCE(98); - if (lookahead == ']') ADVANCE(87); - if (lookahead == 'a') ADVANCE(40); - if (lookahead == 'i') ADVANCE(54); - if (lookahead == 'o') ADVANCE(48); - if (lookahead == 't') ADVANCE(32); - if (lookahead == 'x') ADVANCE(47); - if (lookahead == '}') ADVANCE(89); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(2) - END_STATE(); - case 3: - if (lookahead == '!') ADVANCE(11); - if (lookahead == '%') ADVANCE(96); - if (lookahead == '(') ADVANCE(73); - if (lookahead == '*') ADVANCE(94); - if (lookahead == '+') ADVANCE(91); - if (lookahead == '-') ADVANCE(92); - if (lookahead == '.') ADVANCE(90); - if (lookahead == '/') ADVANCE(95); - if (lookahead == ':') ADVANCE(70); - if (lookahead == ';') ADVANCE(72); - if (lookahead == '<') ADVANCE(99); - if (lookahead == '=') ADVANCE(102); - if (lookahead == '>') ADVANCE(98); - if (lookahead == 'a') ADVANCE(166); - if (lookahead == 'o') ADVANCE(174); - if (lookahead == 'x') ADVANCE(172); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(3) - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 4: - if (lookahead == '"') ADVANCE(123); - if (lookahead == '(') ADVANCE(73); - if (lookahead == ')') ADVANCE(74); - if (lookahead == '+') ADVANCE(91); - if (lookahead == '-') ADVANCE(92); - if (lookahead == '/') ADVANCE(9); - if (lookahead == 'I') ADVANCE(143); - if (lookahead == 'P') ADVANCE(140); - if (lookahead == '[') ADVANCE(86); - if (lookahead == ']') ADVANCE(87); - if (lookahead == 'f') ADVANCE(147); - if (lookahead == 't') ADVANCE(173); - if (lookahead == '{') ADVANCE(88); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(4) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(130); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 5: - if (lookahead == '"') ADVANCE(123); - if (lookahead == ')') ADVANCE(74); - if (lookahead == ',') ADVANCE(75); - if (lookahead == '-') ADVANCE(12); - if (lookahead == '/') ADVANCE(9); - if (lookahead == ':') ADVANCE(70); - if (lookahead == ';') ADVANCE(72); - if (lookahead == '>') ADVANCE(97); - if (lookahead == 'E') ADVANCE(179); - if (lookahead == 'O') ADVANCE(159); - if (lookahead == '[') ADVANCE(86); - if (lookahead == ']') ADVANCE(87); - if (lookahead == '_') ADVANCE(85); - if (lookahead == 'f') ADVANCE(147); - if (lookahead == 't') ADVANCE(173); - if (lookahead == '{') ADVANCE(88); - if (lookahead == '}') ADVANCE(89); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(5) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(130); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 6: - if (lookahead == '"') ADVANCE(123); - if (lookahead == '/') ADVANCE(125); - if (lookahead == '\\') ADVANCE(127); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(126); - if (lookahead != 0) ADVANCE(124); - END_STATE(); - case 7: - if (lookahead == '(') ADVANCE(73); - if (lookahead == ')') ADVANCE(74); - if (lookahead == '-') ADVANCE(12); - if (lookahead == '/') ADVANCE(9); - if (lookahead == '}') ADVANCE(89); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(7) - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 8: - if (lookahead == '(') ADVANCE(73); - if (lookahead == ')') ADVANCE(74); - if (lookahead == '/') ADVANCE(9); - if (lookahead == 'B') ADVANCE(171); - if (lookahead == 'F') ADVANCE(162); - if (lookahead == 'I') ADVANCE(168); - if (lookahead == 'N') ADVANCE(186); - if (lookahead == 'R') ADVANCE(154); - if (lookahead == 'S') ADVANCE(185); - if (lookahead == '[') ADVANCE(86); - if (lookahead == '{') ADVANCE(88); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(8) - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 9: - if (lookahead == '/') ADVANCE(190); - END_STATE(); - case 10: - if (lookahead == '/') ADVANCE(9); - if (lookahead == 'u') ADVANCE(67); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(10) - if (lookahead == '"' || - lookahead == '\\' || - lookahead == 'n' || - lookahead == 'r' || - lookahead == 't') ADVANCE(128); - END_STATE(); - case 11: - if (lookahead == '=') ADVANCE(103); - END_STATE(); - case 12: - if (lookahead == '>') ADVANCE(71); - END_STATE(); - case 13: - if (lookahead == 'F') ADVANCE(15); - END_STATE(); - case 14: - if (lookahead == 'I') ADVANCE(135); - END_STATE(); - case 15: - if (lookahead == 'I') ADVANCE(18); - END_STATE(); - case 16: - if (lookahead == 'I') ADVANCE(19); - END_STATE(); - case 17: - if (lookahead == 'N') ADVANCE(13); - if (lookahead == 'n') ADVANCE(57); - END_STATE(); - case 18: - if (lookahead == 'N') ADVANCE(16); - END_STATE(); - case 19: - if (lookahead == 'T') ADVANCE(20); - END_STATE(); - case 20: - if (lookahead == 'Y') ADVANCE(137); - END_STATE(); - case 21: - if (lookahead == 'a') ADVANCE(36); - END_STATE(); - case 22: - if (lookahead == 'a') ADVANCE(58); - END_STATE(); - case 23: - if (lookahead == 'b') ADVANCE(29); - END_STATE(); - case 24: - if (lookahead == 'd') ADVANCE(104); - END_STATE(); - case 25: - if (lookahead == 'e') ADVANCE(133); - END_STATE(); - case 26: - if (lookahead == 'e') ADVANCE(41); - END_STATE(); - case 27: - if (lookahead == 'e') ADVANCE(55); - END_STATE(); - case 28: - if (lookahead == 'e') ADVANCE(43); - END_STATE(); - case 29: - if (lookahead == 'e') ADVANCE(52); - END_STATE(); - case 30: - if (lookahead == 'g') ADVANCE(117); - END_STATE(); - case 31: - if (lookahead == 'h') ADVANCE(26); - END_STATE(); - case 32: - if (lookahead == 'h') ADVANCE(28); - END_STATE(); - case 33: - if (lookahead == 'i') ADVANCE(42); - END_STATE(); - case 34: - if (lookahead == 'k') ADVANCE(80); - END_STATE(); - case 35: - if (lookahead == 'l') ADVANCE(111); - END_STATE(); - case 36: - if (lookahead == 'l') ADVANCE(56); - END_STATE(); - case 37: - if (lookahead == 'l') ADVANCE(44); - END_STATE(); - case 38: - if (lookahead == 'l') ADVANCE(59); - END_STATE(); - case 39: - if (lookahead == 'm') ADVANCE(23); - END_STATE(); - case 40: - if (lookahead == 'n') ADVANCE(24); - END_STATE(); - case 41: - if (lookahead == 'n') ADVANCE(76); - END_STATE(); - case 42: - if (lookahead == 'n') ADVANCE(30); - END_STATE(); - case 43: - if (lookahead == 'n') ADVANCE(79); - END_STATE(); - case 44: - if (lookahead == 'o') ADVANCE(22); - END_STATE(); - case 45: - if (lookahead == 'o') ADVANCE(46); - END_STATE(); - case 46: - if (lookahead == 'o') ADVANCE(35); - END_STATE(); - case 47: - if (lookahead == 'o') ADVANCE(51); - END_STATE(); - case 48: - if (lookahead == 'r') ADVANCE(106); - END_STATE(); - case 49: - if (lookahead == 'r') ADVANCE(82); - END_STATE(); - case 50: - if (lookahead == 'r') ADVANCE(33); - END_STATE(); - case 51: - if (lookahead == 'r') ADVANCE(108); - END_STATE(); - case 52: - if (lookahead == 'r') ADVANCE(119); - END_STATE(); - case 53: - if (lookahead == 'r') ADVANCE(49); - END_STATE(); - case 54: - if (lookahead == 's') ADVANCE(78); - END_STATE(); - case 55: - if (lookahead == 's') ADVANCE(62); - END_STATE(); - case 56: - if (lookahead == 's') ADVANCE(25); - END_STATE(); - case 57: - if (lookahead == 't') ADVANCE(113); - END_STATE(); - case 58: - if (lookahead == 't') ADVANCE(115); - END_STATE(); - case 59: - if (lookahead == 't') ADVANCE(121); - END_STATE(); - case 60: - if (lookahead == 't') ADVANCE(50); - END_STATE(); - case 61: - if (lookahead == 'u') ADVANCE(39); - END_STATE(); - case 62: - if (lookahead == 'u') ADVANCE(38); - END_STATE(); - case 63: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131); - END_STATE(); - case 64: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(129); - END_STATE(); - case 65: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(64); - END_STATE(); - case 66: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(65); - END_STATE(); - case 67: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(66); - END_STATE(); - case 68: - if (eof) ADVANCE(69); - if (lookahead == '"') ADVANCE(123); - if (lookahead == '(') ADVANCE(73); - if (lookahead == '+') ADVANCE(91); - if (lookahead == '-') ADVANCE(92); - if (lookahead == '/') ADVANCE(9); - if (lookahead == 'I') ADVANCE(143); - if (lookahead == 'P') ADVANCE(140); - if (lookahead == '[') ADVANCE(86); - if (lookahead == 'f') ADVANCE(147); - if (lookahead == 't') ADVANCE(173); - if (lookahead == 'w') ADVANCE(157); - if (lookahead == '{') ADVANCE(88); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(68) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(130); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 69: - ACCEPT_TOKEN(ts_builtin_sym_end); - END_STATE(); - case 70: - ACCEPT_TOKEN(anon_sym_COLON); - END_STATE(); - case 71: - ACCEPT_TOKEN(anon_sym_DASH_GT); - END_STATE(); - case 72: - ACCEPT_TOKEN(anon_sym_SEMI); - END_STATE(); - case 73: - ACCEPT_TOKEN(anon_sym_LPAREN); - END_STATE(); - case 74: - ACCEPT_TOKEN(anon_sym_RPAREN); - END_STATE(); - case 75: - ACCEPT_TOKEN(anon_sym_COMMA); - END_STATE(); - case 76: - ACCEPT_TOKEN(anon_sym_when); - END_STATE(); - case 77: - ACCEPT_TOKEN(anon_sym_when); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 78: - ACCEPT_TOKEN(anon_sym_is); - END_STATE(); - case 79: - ACCEPT_TOKEN(anon_sym_then); - END_STATE(); - case 80: - ACCEPT_TOKEN(anon_sym_Ok); - END_STATE(); - case 81: - ACCEPT_TOKEN(anon_sym_Ok); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 82: - ACCEPT_TOKEN(anon_sym_Err); - END_STATE(); - case 83: - ACCEPT_TOKEN(anon_sym_Err); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 84: - ACCEPT_TOKEN(sym_wildcard_pattern); - END_STATE(); - case 85: - ACCEPT_TOKEN(sym_wildcard_pattern); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 86: - ACCEPT_TOKEN(anon_sym_LBRACK); - END_STATE(); - case 87: - ACCEPT_TOKEN(anon_sym_RBRACK); - END_STATE(); - case 88: - ACCEPT_TOKEN(anon_sym_LBRACE); - END_STATE(); - case 89: - ACCEPT_TOKEN(anon_sym_RBRACE); - END_STATE(); - case 90: - ACCEPT_TOKEN(anon_sym_DOT); - if (lookahead == '.') ADVANCE(110); - END_STATE(); - case 91: - ACCEPT_TOKEN(anon_sym_PLUS); - END_STATE(); - case 92: - ACCEPT_TOKEN(anon_sym_DASH); - END_STATE(); - case 93: - ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '>') ADVANCE(71); - END_STATE(); - case 94: - ACCEPT_TOKEN(anon_sym_STAR); - END_STATE(); - case 95: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '/') ADVANCE(190); - END_STATE(); - case 96: - ACCEPT_TOKEN(anon_sym_PERCENT); - END_STATE(); - case 97: - ACCEPT_TOKEN(anon_sym_GT); - END_STATE(); - case 98: - ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(100); - END_STATE(); - case 99: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '=') ADVANCE(101); - END_STATE(); - case 100: - ACCEPT_TOKEN(anon_sym_GT_EQ); - END_STATE(); - case 101: - ACCEPT_TOKEN(anon_sym_LT_EQ); - END_STATE(); - case 102: - ACCEPT_TOKEN(anon_sym_EQ); - END_STATE(); - case 103: - ACCEPT_TOKEN(anon_sym_BANG_EQ); - END_STATE(); - case 104: - ACCEPT_TOKEN(anon_sym_and); - END_STATE(); - case 105: - ACCEPT_TOKEN(anon_sym_and); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 106: - ACCEPT_TOKEN(anon_sym_or); - END_STATE(); - case 107: - ACCEPT_TOKEN(anon_sym_or); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 108: - ACCEPT_TOKEN(anon_sym_xor); - END_STATE(); - case 109: - ACCEPT_TOKEN(anon_sym_xor); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 110: - ACCEPT_TOKEN(anon_sym_DOT_DOT); - END_STATE(); - case 111: - ACCEPT_TOKEN(anon_sym_Bool); - END_STATE(); - case 112: - ACCEPT_TOKEN(anon_sym_Bool); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 113: - ACCEPT_TOKEN(anon_sym_Int); - END_STATE(); - case 114: - ACCEPT_TOKEN(anon_sym_Int); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 115: - ACCEPT_TOKEN(anon_sym_Float); - END_STATE(); - case 116: - ACCEPT_TOKEN(anon_sym_Float); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 117: - ACCEPT_TOKEN(anon_sym_String); - END_STATE(); - case 118: - ACCEPT_TOKEN(anon_sym_String); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 119: - ACCEPT_TOKEN(anon_sym_Number); - END_STATE(); - case 120: - ACCEPT_TOKEN(anon_sym_Number); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 121: - ACCEPT_TOKEN(anon_sym_Result); - END_STATE(); - case 122: - ACCEPT_TOKEN(anon_sym_Result); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 123: - ACCEPT_TOKEN(anon_sym_DQUOTE); - END_STATE(); - case 124: - ACCEPT_TOKEN(aux_sym_string_token1); - END_STATE(); - case 125: - ACCEPT_TOKEN(aux_sym_string_token1); - if (lookahead == '/') ADVANCE(190); - END_STATE(); - case 126: - ACCEPT_TOKEN(aux_sym_string_token1); - if (lookahead == '/') ADVANCE(125); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(126); - if (lookahead != 0 && - lookahead != '"' && - lookahead != '\\') ADVANCE(124); - END_STATE(); - case 127: - ACCEPT_TOKEN(anon_sym_BSLASH); - END_STATE(); - case 128: - ACCEPT_TOKEN(aux_sym_escape_sequence_token1); - END_STATE(); - case 129: - ACCEPT_TOKEN(aux_sym_escape_sequence_token2); - END_STATE(); - case 130: - ACCEPT_TOKEN(aux_sym_number_token1); - if (lookahead == '.') ADVANCE(63); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(130); - END_STATE(); - case 131: - ACCEPT_TOKEN(aux_sym_number_token2); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131); - END_STATE(); - case 132: - ACCEPT_TOKEN(anon_sym_true); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 133: - ACCEPT_TOKEN(anon_sym_false); - END_STATE(); - case 134: - ACCEPT_TOKEN(anon_sym_false); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 135: - ACCEPT_TOKEN(anon_sym_PI); - END_STATE(); - case 136: - ACCEPT_TOKEN(anon_sym_PI); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 137: - ACCEPT_TOKEN(anon_sym_INFINITY); - END_STATE(); - case 138: - ACCEPT_TOKEN(anon_sym_INFINITY); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 139: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'F') ADVANCE(142); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 140: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'I') ADVANCE(136); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 141: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'I') ADVANCE(145); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 142: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'I') ADVANCE(144); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 143: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'N') ADVANCE(139); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 144: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'N') ADVANCE(141); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 145: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'T') ADVANCE(146); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 146: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'Y') ADVANCE(138); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 147: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(160); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 148: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(183); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 149: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'b') ADVANCE(155); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 150: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'd') ADVANCE(105); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 151: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(165); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 152: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(132); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 153: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(134); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 154: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(180); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 155: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(178); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 156: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'g') ADVANCE(118); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 157: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'h') ADVANCE(151); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 158: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(167); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 159: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'k') ADVANCE(81); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 160: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(181); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 161: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(112); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 162: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(169); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 163: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(184); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 164: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'm') ADVANCE(149); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 165: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(77); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 166: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(150); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 167: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(156); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 168: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(182); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 169: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(148); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 170: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(161); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 171: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(170); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 172: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(176); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 173: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(187); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 174: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(107); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 175: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(83); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 176: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(109); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 177: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(158); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 178: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(120); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 179: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(175); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 180: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(188); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 181: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(153); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 182: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(114); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 183: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(116); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 184: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(122); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 185: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(177); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 186: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(164); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 187: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(152); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 188: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(163); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 189: - ACCEPT_TOKEN(sym_identifier); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 190: - ACCEPT_TOKEN(anon_sym_SLASH_SLASH); - END_STATE(); - case 191: - ACCEPT_TOKEN(anon_sym_SLASH_SLASH); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(194); - END_STATE(); - case 192: - ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead == '/') ADVANCE(193); - if (lookahead == '\t' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(192); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(194); - END_STATE(); - case 193: - ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead == '/') ADVANCE(191); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(194); - END_STATE(); - case 194: - ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(194); - END_STATE(); - default: - return false; - } -} - -static const TSLexMode ts_lex_modes[STATE_COUNT] = { - [0] = {.lex_state = 0}, - [1] = {.lex_state = 68}, - [2] = {.lex_state = 68}, - [3] = {.lex_state = 68}, - [4] = {.lex_state = 1}, - [5] = {.lex_state = 1}, - [6] = {.lex_state = 1}, - [7] = {.lex_state = 1}, - [8] = {.lex_state = 1}, - [9] = {.lex_state = 1}, - [10] = {.lex_state = 4}, - [11] = {.lex_state = 4}, - [12] = {.lex_state = 1}, - [13] = {.lex_state = 1}, - [14] = {.lex_state = 1}, - [15] = {.lex_state = 1}, - [16] = {.lex_state = 1}, - [17] = {.lex_state = 1}, - [18] = {.lex_state = 1}, - [19] = {.lex_state = 1}, - [20] = {.lex_state = 1}, - [21] = {.lex_state = 1}, - [22] = {.lex_state = 1}, - [23] = {.lex_state = 1}, - [24] = {.lex_state = 1}, - [25] = {.lex_state = 1}, - [26] = {.lex_state = 1}, - [27] = {.lex_state = 1}, - [28] = {.lex_state = 1}, - [29] = {.lex_state = 4}, - [30] = {.lex_state = 1}, - [31] = {.lex_state = 1}, - [32] = {.lex_state = 1}, - [33] = {.lex_state = 1}, - [34] = {.lex_state = 1}, - [35] = {.lex_state = 1}, - [36] = {.lex_state = 4}, - [37] = {.lex_state = 4}, - [38] = {.lex_state = 4}, - [39] = {.lex_state = 4}, - [40] = {.lex_state = 4}, - [41] = {.lex_state = 4}, - [42] = {.lex_state = 4}, - [43] = {.lex_state = 4}, - [44] = {.lex_state = 4}, - [45] = {.lex_state = 4}, - [46] = {.lex_state = 4}, - [47] = {.lex_state = 4}, - [48] = {.lex_state = 4}, - [49] = {.lex_state = 4}, - [50] = {.lex_state = 4}, - [51] = {.lex_state = 4}, - [52] = {.lex_state = 4}, - [53] = {.lex_state = 4}, - [54] = {.lex_state = 4}, - [55] = {.lex_state = 4}, - [56] = {.lex_state = 4}, - [57] = {.lex_state = 4}, - [58] = {.lex_state = 4}, - [59] = {.lex_state = 4}, - [60] = {.lex_state = 2}, - [61] = {.lex_state = 2}, - [62] = {.lex_state = 2}, - [63] = {.lex_state = 2}, - [64] = {.lex_state = 2}, - [65] = {.lex_state = 2}, - [66] = {.lex_state = 2}, - [67] = {.lex_state = 2}, - [68] = {.lex_state = 3}, - [69] = {.lex_state = 2}, - [70] = {.lex_state = 2}, - [71] = {.lex_state = 2}, - [72] = {.lex_state = 2}, - [73] = {.lex_state = 2}, - [74] = {.lex_state = 2}, - [75] = {.lex_state = 2}, - [76] = {.lex_state = 2}, - [77] = {.lex_state = 2}, - [78] = {.lex_state = 2}, - [79] = {.lex_state = 2}, - [80] = {.lex_state = 2}, - [81] = {.lex_state = 5}, - [82] = {.lex_state = 5}, - [83] = {.lex_state = 2}, - [84] = {.lex_state = 2}, - [85] = {.lex_state = 2}, - [86] = {.lex_state = 2}, - [87] = {.lex_state = 2}, - [88] = {.lex_state = 2}, - [89] = {.lex_state = 2}, - [90] = {.lex_state = 2}, - [91] = {.lex_state = 5}, - [92] = {.lex_state = 5}, - [93] = {.lex_state = 2}, - [94] = {.lex_state = 2}, - [95] = {.lex_state = 5}, - [96] = {.lex_state = 5}, - [97] = {.lex_state = 2}, - [98] = {.lex_state = 5}, - [99] = {.lex_state = 2}, - [100] = {.lex_state = 2}, - [101] = {.lex_state = 8}, - [102] = {.lex_state = 2}, - [103] = {.lex_state = 8}, - [104] = {.lex_state = 8}, - [105] = {.lex_state = 2}, - [106] = {.lex_state = 8}, - [107] = {.lex_state = 2}, - [108] = {.lex_state = 2}, - [109] = {.lex_state = 2}, - [110] = {.lex_state = 2}, - [111] = {.lex_state = 8}, - [112] = {.lex_state = 8}, - [113] = {.lex_state = 8}, - [114] = {.lex_state = 8}, - [115] = {.lex_state = 8}, - [116] = {.lex_state = 8}, - [117] = {.lex_state = 68}, - [118] = {.lex_state = 68}, - [119] = {.lex_state = 68}, - [120] = {.lex_state = 68}, - [121] = {.lex_state = 68}, - [122] = {.lex_state = 5}, - [123] = {.lex_state = 5}, - [124] = {.lex_state = 5}, - [125] = {.lex_state = 5}, - [126] = {.lex_state = 5}, - [127] = {.lex_state = 5}, - [128] = {.lex_state = 5}, - [129] = {.lex_state = 5}, - [130] = {.lex_state = 5}, - [131] = {.lex_state = 5}, - [132] = {.lex_state = 5}, - [133] = {.lex_state = 6}, - [134] = {.lex_state = 6}, - [135] = {.lex_state = 6}, - [136] = {.lex_state = 6}, - [137] = {.lex_state = 7}, - [138] = {.lex_state = 6}, - [139] = {.lex_state = 2}, - [140] = {.lex_state = 2}, - [141] = {.lex_state = 2}, - [142] = {.lex_state = 2}, - [143] = {.lex_state = 2}, - [144] = {.lex_state = 2}, - [145] = {.lex_state = 2}, - [146] = {.lex_state = 0}, - [147] = {.lex_state = 2}, - [148] = {.lex_state = 5}, - [149] = {.lex_state = 7}, - [150] = {.lex_state = 0}, - [151] = {.lex_state = 0}, - [152] = {.lex_state = 7}, - [153] = {.lex_state = 0}, - [154] = {.lex_state = 0}, - [155] = {.lex_state = 5}, - [156] = {.lex_state = 0}, - [157] = {.lex_state = 0}, - [158] = {.lex_state = 0}, - [159] = {.lex_state = 0}, - [160] = {.lex_state = 0}, - [161] = {.lex_state = 0}, - [162] = {.lex_state = 0}, - [163] = {.lex_state = 0}, - [164] = {.lex_state = 7}, - [165] = {.lex_state = 6}, - [166] = {.lex_state = 0}, - [167] = {.lex_state = 7}, - [168] = {.lex_state = 7}, - [169] = {.lex_state = 0}, - [170] = {.lex_state = 7}, - [171] = {.lex_state = 0}, - [172] = {.lex_state = 0}, - [173] = {.lex_state = 0}, - [174] = {.lex_state = 0}, - [175] = {.lex_state = 0}, - [176] = {.lex_state = 0}, - [177] = {.lex_state = 6}, - [178] = {.lex_state = 0}, - [179] = {.lex_state = 0}, - [180] = {.lex_state = 0}, - [181] = {.lex_state = 0}, - [182] = {.lex_state = 5}, - [183] = {.lex_state = 7}, - [184] = {.lex_state = 7}, - [185] = {.lex_state = 10}, - [186] = {.lex_state = 7}, - [187] = {.lex_state = 0}, - [188] = {.lex_state = 7}, - [189] = {.lex_state = 0}, - [190] = {.lex_state = 0}, - [191] = {.lex_state = 0}, - [192] = {.lex_state = 0}, - [193] = {.lex_state = 0}, - [194] = {.lex_state = 7}, - [195] = {.lex_state = 0}, - [196] = {.lex_state = 7}, - [197] = {.lex_state = 0}, - [198] = {.lex_state = 192}, - [199] = {.lex_state = 0}, - [200] = {.lex_state = 7}, - [201] = {.lex_state = 5}, - [202] = {.lex_state = 0}, - [203] = {.lex_state = 2}, - [204] = {.lex_state = 192}, - [205] = {.lex_state = 0}, - [206] = {.lex_state = 5}, - [207] = {.lex_state = 0}, - [208] = {.lex_state = 5}, - [209] = {.lex_state = 5}, - [210] = {.lex_state = 5}, - [211] = {.lex_state = 5}, - [212] = {.lex_state = 0}, - [213] = {.lex_state = 0}, - [214] = {.lex_state = 7}, - [215] = {.lex_state = 5}, - [216] = {.lex_state = 0}, - [217] = {.lex_state = 5}, - [218] = {.lex_state = 0}, - [219] = {(TSStateId)(-1)}, -}; - -static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { - [0] = { - [sym_comment] = STATE(0), - [ts_builtin_sym_end] = ACTIONS(1), - [anon_sym_COLON] = ACTIONS(1), - [anon_sym_DASH_GT] = ACTIONS(1), - [anon_sym_SEMI] = ACTIONS(1), - [anon_sym_LPAREN] = ACTIONS(1), - [anon_sym_RPAREN] = ACTIONS(1), - [anon_sym_COMMA] = ACTIONS(1), - [anon_sym_when] = ACTIONS(1), - [anon_sym_is] = ACTIONS(1), - [anon_sym_Ok] = ACTIONS(1), - [anon_sym_Err] = ACTIONS(1), - [sym_wildcard_pattern] = ACTIONS(1), - [anon_sym_LBRACK] = ACTIONS(1), - [anon_sym_RBRACK] = ACTIONS(1), - [anon_sym_LBRACE] = ACTIONS(1), - [anon_sym_RBRACE] = ACTIONS(1), - [anon_sym_DOT] = ACTIONS(1), - [anon_sym_PLUS] = ACTIONS(1), - [anon_sym_DASH] = ACTIONS(1), - [anon_sym_STAR] = ACTIONS(1), - [anon_sym_SLASH] = ACTIONS(1), - [anon_sym_PERCENT] = ACTIONS(1), - [anon_sym_GT] = ACTIONS(1), - [anon_sym_LT] = ACTIONS(1), - [anon_sym_GT_EQ] = ACTIONS(1), - [anon_sym_LT_EQ] = ACTIONS(1), - [anon_sym_EQ] = ACTIONS(1), - [anon_sym_BANG_EQ] = ACTIONS(1), - [anon_sym_and] = ACTIONS(1), - [anon_sym_or] = ACTIONS(1), - [anon_sym_xor] = ACTIONS(1), - [anon_sym_DOT_DOT] = ACTIONS(1), - [anon_sym_Bool] = ACTIONS(1), - [anon_sym_Int] = ACTIONS(1), - [anon_sym_Float] = ACTIONS(1), - [anon_sym_String] = ACTIONS(1), - [anon_sym_Number] = ACTIONS(1), - [anon_sym_Result] = ACTIONS(1), - [anon_sym_DQUOTE] = ACTIONS(1), - [anon_sym_BSLASH] = ACTIONS(1), - [aux_sym_escape_sequence_token1] = ACTIONS(1), - [aux_sym_escape_sequence_token2] = ACTIONS(1), - [aux_sym_number_token1] = ACTIONS(1), - [aux_sym_number_token2] = ACTIONS(1), - [anon_sym_false] = ACTIONS(1), - [anon_sym_PI] = ACTIONS(1), - [anon_sym_INFINITY] = ACTIONS(1), - [anon_sym_SLASH_SLASH] = ACTIONS(3), - }, - [1] = { - [sym_program] = STATE(213), - [sym__statement] = STATE(3), - [sym_function_definition] = STATE(3), - [sym_function_implementation] = STATE(3), - [sym_when_expression] = STATE(3), - [sym__expression] = STATE(105), - [sym_function_call] = STATE(83), - [sym_member_access] = STATE(66), - [sym_binary_expression] = STATE(83), - [sym_unary_expression] = STATE(83), - [sym_parenthesized_expression] = STATE(83), - [sym_list_expression] = STATE(83), - [sym_table_expression] = STATE(83), - [sym_expression_statement] = STATE(3), - [sym_literal] = STATE(83), - [sym_string] = STATE(90), - [sym_number] = STATE(90), - [sym_boolean] = STATE(90), - [sym_constant] = STATE(90), - [sym_comment] = STATE(1), - [aux_sym_program_repeat1] = STATE(3), - [ts_builtin_sym_end] = ACTIONS(5), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_when] = ACTIONS(9), - [anon_sym_LBRACK] = ACTIONS(11), - [anon_sym_LBRACE] = ACTIONS(13), - [anon_sym_PLUS] = ACTIONS(15), - [anon_sym_DASH] = ACTIONS(15), - [anon_sym_DQUOTE] = ACTIONS(17), - [aux_sym_number_token1] = ACTIONS(19), - [aux_sym_number_token2] = ACTIONS(21), - [anon_sym_true] = ACTIONS(23), - [anon_sym_false] = ACTIONS(23), - [anon_sym_PI] = ACTIONS(25), - [anon_sym_INFINITY] = ACTIONS(25), - [sym_identifier] = ACTIONS(27), - [anon_sym_SLASH_SLASH] = ACTIONS(29), - }, -}; - -static const uint16_t ts_small_parse_table[] = { - [0] = 18, - ACTIONS(31), 1, - ts_builtin_sym_end, - ACTIONS(33), 1, - anon_sym_LPAREN, - ACTIONS(36), 1, - anon_sym_when, - ACTIONS(39), 1, - anon_sym_LBRACK, - ACTIONS(42), 1, - anon_sym_LBRACE, - ACTIONS(48), 1, - anon_sym_DQUOTE, - ACTIONS(51), 1, - aux_sym_number_token1, - ACTIONS(54), 1, - aux_sym_number_token2, - ACTIONS(63), 1, - sym_identifier, - ACTIONS(66), 1, - anon_sym_SLASH_SLASH, - STATE(66), 1, - sym_member_access, - STATE(105), 1, - sym__expression, - ACTIONS(45), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(57), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(60), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(2), 7, - sym__statement, - sym_function_definition, - sym_function_implementation, - sym_when_expression, - sym_expression_statement, - sym_comment, - aux_sym_program_repeat1, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [73] = 19, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(9), 1, - anon_sym_when, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(27), 1, - sym_identifier, - ACTIONS(29), 1, - anon_sym_SLASH_SLASH, - ACTIONS(69), 1, - ts_builtin_sym_end, - STATE(3), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(105), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(2), 6, - sym__statement, - sym_function_definition, - sym_function_implementation, - sym_when_expression, - sym_expression_statement, - aux_sym_program_repeat1, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [148] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(73), 1, - anon_sym_LPAREN, - ACTIONS(77), 1, - anon_sym_DOT, - STATE(4), 1, - sym_comment, - ACTIONS(75), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(71), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [192] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(5), 1, - sym_comment, - ACTIONS(81), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(79), 15, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [231] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(73), 1, - anon_sym_LPAREN, - STATE(6), 1, - sym_comment, - ACTIONS(75), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(71), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [272] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(7), 1, - sym_comment, - ACTIONS(85), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(83), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [310] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(8), 1, - sym_comment, - ACTIONS(89), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(87), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [348] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(9), 1, - sym_comment, - ACTIONS(93), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(91), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [386] = 17, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(95), 1, - anon_sym_RBRACK, - ACTIONS(97), 1, - sym_identifier, - STATE(10), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(100), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [450] = 17, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - ACTIONS(99), 1, - anon_sym_RPAREN, - STATE(11), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(94), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [514] = 13, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(109), 1, - anon_sym_SLASH, - ACTIONS(117), 1, - anon_sym_and, - ACTIONS(119), 1, - anon_sym_or, - ACTIONS(121), 1, - anon_sym_xor, - STATE(12), 1, - sym_comment, - ACTIONS(107), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(111), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(113), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(115), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(105), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - ACTIONS(101), 5, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DQUOTE, - aux_sym_number_token2, - ACTIONS(103), 7, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - [570] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(13), 1, - sym_comment, - ACTIONS(125), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(123), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [608] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(14), 1, - sym_comment, - ACTIONS(129), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(127), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [646] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(15), 1, - sym_comment, - ACTIONS(133), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(131), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [684] = 10, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(117), 1, - anon_sym_and, - ACTIONS(119), 1, - anon_sym_or, - ACTIONS(121), 1, - anon_sym_xor, - STATE(16), 1, - sym_comment, - ACTIONS(111), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(113), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(115), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(137), 8, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(135), 10, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [734] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(17), 1, - sym_comment, - ACTIONS(75), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(71), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [772] = 11, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(117), 1, - anon_sym_and, - ACTIONS(119), 1, - anon_sym_or, - ACTIONS(121), 1, - anon_sym_xor, - STATE(18), 1, - sym_comment, - ACTIONS(111), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(113), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(115), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(105), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - ACTIONS(135), 7, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_DQUOTE, - aux_sym_number_token2, - ACTIONS(137), 8, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - [824] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(19), 1, - sym_comment, - ACTIONS(141), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(139), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [862] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(20), 1, - sym_comment, - ACTIONS(145), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(143), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [900] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(21), 1, - sym_comment, - ACTIONS(149), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(147), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [938] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(22), 1, - sym_comment, - ACTIONS(137), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(135), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [976] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(23), 1, - sym_comment, - ACTIONS(153), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(151), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1014] = 13, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(109), 1, - anon_sym_SLASH, - ACTIONS(117), 1, - anon_sym_and, - ACTIONS(119), 1, - anon_sym_or, - ACTIONS(121), 1, - anon_sym_xor, - STATE(24), 1, - sym_comment, - ACTIONS(107), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(111), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(113), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(115), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(105), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - ACTIONS(155), 5, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DQUOTE, - aux_sym_number_token2, - ACTIONS(157), 7, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - [1070] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(25), 1, - sym_comment, - ACTIONS(161), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(159), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1108] = 8, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(117), 1, - anon_sym_and, - ACTIONS(119), 1, - anon_sym_or, - ACTIONS(121), 1, - anon_sym_xor, - STATE(26), 1, - sym_comment, - ACTIONS(115), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(137), 10, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(135), 12, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1154] = 7, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(117), 1, - anon_sym_and, - ACTIONS(119), 1, - anon_sym_or, - ACTIONS(121), 1, - anon_sym_xor, - STATE(27), 1, - sym_comment, - ACTIONS(137), 10, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(135), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1198] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(28), 1, - sym_comment, - ACTIONS(165), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(163), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1236] = 17, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - ACTIONS(167), 1, - anon_sym_RBRACK, - STATE(29), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(99), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [1300] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(119), 1, - anon_sym_or, - ACTIONS(121), 1, - anon_sym_xor, - STATE(30), 1, - sym_comment, - ACTIONS(137), 11, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(135), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1342] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(121), 1, - anon_sym_xor, - STATE(31), 1, - sym_comment, - ACTIONS(137), 12, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(135), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1382] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(32), 1, - sym_comment, - ACTIONS(171), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(169), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1420] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(33), 1, - sym_comment, - ACTIONS(175), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(173), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1458] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(34), 1, - sym_comment, - ACTIONS(179), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(177), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1496] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(35), 1, - sym_comment, - ACTIONS(183), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(181), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1534] = 17, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - ACTIONS(185), 1, - anon_sym_RPAREN, - STATE(36), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(97), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [1598] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - STATE(37), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(107), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [1659] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(6), 1, - sym_member_access, - STATE(31), 1, - sym__expression, - STATE(38), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(19), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(17), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [1720] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(6), 1, - sym_member_access, - STATE(27), 1, - sym__expression, - STATE(39), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(19), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(17), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [1781] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(6), 1, - sym_member_access, - STATE(30), 1, - sym__expression, - STATE(40), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(19), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(17), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [1842] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - STATE(41), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(69), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [1903] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - STATE(42), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(70), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [1964] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - STATE(43), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(71), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2025] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - STATE(44), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(72), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2086] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - STATE(45), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(73), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2147] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - STATE(46), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(74), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2208] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - STATE(47), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(75), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2269] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - STATE(48), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(108), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2330] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(6), 1, - sym_member_access, - STATE(22), 1, - sym__expression, - STATE(49), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(19), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(17), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2391] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - STATE(50), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(109), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2452] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(6), 1, - sym_member_access, - STATE(26), 1, - sym__expression, - STATE(51), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(19), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(17), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2513] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(6), 1, - sym_member_access, - STATE(24), 1, - sym__expression, - STATE(52), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(19), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(17), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2574] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - STATE(53), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(102), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2635] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(6), 1, - sym_member_access, - STATE(18), 1, - sym__expression, - STATE(54), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(19), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(17), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2696] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(6), 1, - sym_member_access, - STATE(16), 1, - sym__expression, - STATE(55), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(19), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(17), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2757] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - STATE(56), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(93), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2818] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - STATE(57), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(110), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2879] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(6), 1, - sym_member_access, - STATE(12), 1, - sym__expression, - STATE(58), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(19), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(17), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2940] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(97), 1, - sym_identifier, - STATE(59), 1, - sym_comment, - STATE(66), 1, - sym_member_access, - STATE(87), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(90), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(83), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [3001] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(207), 1, - anon_sym_LPAREN, - ACTIONS(209), 1, - anon_sym_DOT, - STATE(60), 1, - sym_comment, - ACTIONS(75), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(71), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3039] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(61), 1, - sym_comment, - ACTIONS(81), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(79), 19, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3072] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(62), 1, - sym_comment, - ACTIONS(161), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(159), 19, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3105] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(63), 1, - sym_comment, - ACTIONS(85), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(83), 19, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3138] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(64), 1, - sym_comment, - ACTIONS(125), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(123), 19, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3171] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(65), 1, - sym_comment, - ACTIONS(129), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(127), 19, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3204] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(207), 1, - anon_sym_LPAREN, - STATE(66), 1, - sym_comment, - ACTIONS(75), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(71), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3239] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(67), 1, - sym_comment, - ACTIONS(133), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(131), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3271] = 9, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(207), 1, - anon_sym_LPAREN, - ACTIONS(209), 1, - anon_sym_DOT, - ACTIONS(211), 1, - anon_sym_COLON, - ACTIONS(213), 1, - sym_identifier, - STATE(68), 1, - sym_comment, - STATE(168), 1, - aux_sym_function_implementation_repeat1, - ACTIONS(75), 6, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - ACTIONS(71), 10, - anon_sym_SEMI, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - [3313] = 10, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(137), 1, - anon_sym_SLASH, - ACTIONS(221), 1, - anon_sym_and, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - STATE(69), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(217), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(219), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(135), 11, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_DOT_DOT, - [3357] = 11, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(137), 1, - anon_sym_SLASH, - ACTIONS(221), 1, - anon_sym_and, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - STATE(70), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(217), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(219), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(227), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - ACTIONS(135), 8, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR, - anon_sym_PERCENT, - [3403] = 8, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(221), 1, - anon_sym_and, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - STATE(71), 1, - sym_comment, - ACTIONS(219), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(137), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(135), 13, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DOT_DOT, - [3443] = 7, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(221), 1, - anon_sym_and, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - STATE(72), 1, - sym_comment, - ACTIONS(137), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(135), 15, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - [3481] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - STATE(73), 1, - sym_comment, - ACTIONS(137), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(135), 16, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_DOT_DOT, - [3517] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(225), 1, - anon_sym_xor, - STATE(74), 1, - sym_comment, - ACTIONS(137), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(135), 17, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_DOT_DOT, - [3551] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(75), 1, - sym_comment, - ACTIONS(137), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(135), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3583] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(76), 1, - sym_comment, - ACTIONS(175), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(173), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3615] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(77), 1, - sym_comment, - ACTIONS(149), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(147), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3647] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(78), 1, - sym_comment, - ACTIONS(145), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(143), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3679] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(79), 1, - sym_comment, - ACTIONS(165), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(163), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3711] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(80), 1, - sym_comment, - ACTIONS(93), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(91), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3743] = 14, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(229), 1, - anon_sym_SEMI, - ACTIONS(237), 1, - anon_sym_LBRACK, - ACTIONS(240), 1, - anon_sym_LBRACE, - ACTIONS(243), 1, - anon_sym_DQUOTE, - ACTIONS(246), 1, - aux_sym_number_token1, - ACTIONS(249), 1, - aux_sym_number_token2, - STATE(122), 1, - sym_when_pattern, - STATE(203), 1, - sym__pattern, - ACTIONS(231), 2, - anon_sym_Ok, - anon_sym_Err, - ACTIONS(234), 2, - sym_wildcard_pattern, - sym_identifier, - ACTIONS(252), 2, - anon_sym_true, - anon_sym_false, - STATE(81), 2, - sym_comment, - aux_sym_when_expression_repeat1, - STATE(147), 6, - sym_result_pattern, - sym_list_pattern, - sym_table_pattern, - sym_string, - sym_number, - sym_boolean, - [3795] = 15, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(255), 1, - anon_sym_SEMI, - ACTIONS(261), 1, - anon_sym_LBRACK, - ACTIONS(263), 1, - anon_sym_LBRACE, - STATE(81), 1, - aux_sym_when_expression_repeat1, - STATE(82), 1, - sym_comment, - STATE(122), 1, - sym_when_pattern, - STATE(203), 1, - sym__pattern, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(257), 2, - anon_sym_Ok, - anon_sym_Err, - ACTIONS(259), 2, - sym_wildcard_pattern, - sym_identifier, - STATE(147), 6, - sym_result_pattern, - sym_list_pattern, - sym_table_pattern, - sym_string, - sym_number, - sym_boolean, - [3849] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(83), 1, - sym_comment, - ACTIONS(75), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(71), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3881] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(84), 1, - sym_comment, - ACTIONS(183), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(181), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3913] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(85), 1, - sym_comment, - ACTIONS(171), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(169), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3945] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(86), 1, - sym_comment, - ACTIONS(89), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(87), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3977] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(221), 1, - anon_sym_and, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - ACTIONS(267), 1, - anon_sym_SLASH, - STATE(87), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(217), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(219), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(265), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(227), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - ACTIONS(155), 6, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - [4025] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(88), 1, - sym_comment, - ACTIONS(179), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(177), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [4057] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(89), 1, - sym_comment, - ACTIONS(153), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(151), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [4089] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(90), 1, - sym_comment, - ACTIONS(141), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(139), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [4121] = 14, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(261), 1, - anon_sym_LBRACK, - ACTIONS(263), 1, - anon_sym_LBRACE, - STATE(82), 1, - aux_sym_when_expression_repeat1, - STATE(91), 1, - sym_comment, - STATE(122), 1, - sym_when_pattern, - STATE(203), 1, - sym__pattern, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(257), 2, - anon_sym_Ok, - anon_sym_Err, - ACTIONS(259), 2, - sym_wildcard_pattern, - sym_identifier, - STATE(147), 6, - sym_result_pattern, - sym_list_pattern, - sym_table_pattern, - sym_string, - sym_number, - sym_boolean, - [4172] = 13, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(261), 1, - anon_sym_LBRACK, - ACTIONS(263), 1, - anon_sym_LBRACE, - ACTIONS(269), 1, - anon_sym_RBRACK, - STATE(92), 1, - sym_comment, - STATE(175), 1, - sym__pattern, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(257), 2, - anon_sym_Ok, - anon_sym_Err, - ACTIONS(259), 2, - sym_wildcard_pattern, - sym_identifier, - STATE(147), 6, - sym_result_pattern, - sym_list_pattern, - sym_table_pattern, - sym_string, - sym_number, - sym_boolean, - [4220] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(221), 1, - anon_sym_and, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - ACTIONS(267), 1, - anon_sym_SLASH, - STATE(93), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(217), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(219), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(265), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(227), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - ACTIONS(271), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - [4265] = 14, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(221), 1, - anon_sym_and, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - ACTIONS(267), 1, - anon_sym_SLASH, - ACTIONS(273), 1, - anon_sym_RPAREN, - ACTIONS(275), 1, - anon_sym_COMMA, - STATE(94), 1, - sym_comment, - STATE(154), 1, - aux_sym_function_call_repeat1, - ACTIONS(215), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(217), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(219), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(265), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(227), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4314] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(261), 1, - anon_sym_LBRACK, - ACTIONS(263), 1, - anon_sym_LBRACE, - STATE(95), 1, - sym_comment, - STATE(197), 1, - sym__pattern, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(257), 2, - anon_sym_Ok, - anon_sym_Err, - ACTIONS(259), 2, - sym_wildcard_pattern, - sym_identifier, - STATE(147), 6, - sym_result_pattern, - sym_list_pattern, - sym_table_pattern, - sym_string, - sym_number, - sym_boolean, - [4359] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(261), 1, - anon_sym_LBRACK, - ACTIONS(263), 1, - anon_sym_LBRACE, - STATE(96), 1, - sym_comment, - STATE(195), 1, - sym__pattern, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(257), 2, - anon_sym_Ok, - anon_sym_Err, - ACTIONS(259), 2, - sym_wildcard_pattern, - sym_identifier, - STATE(147), 6, - sym_result_pattern, - sym_list_pattern, - sym_table_pattern, - sym_string, - sym_number, - sym_boolean, - [4404] = 14, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(221), 1, - anon_sym_and, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - ACTIONS(267), 1, - anon_sym_SLASH, - ACTIONS(275), 1, - anon_sym_COMMA, - ACTIONS(277), 1, - anon_sym_RPAREN, - STATE(97), 1, - sym_comment, - STATE(178), 1, - aux_sym_function_call_repeat1, - ACTIONS(215), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(217), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(219), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(265), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(227), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4453] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(261), 1, - anon_sym_LBRACK, - ACTIONS(263), 1, - anon_sym_LBRACE, - STATE(98), 1, - sym_comment, - STATE(145), 1, - sym__pattern, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(257), 2, - anon_sym_Ok, - anon_sym_Err, - ACTIONS(259), 2, - sym_wildcard_pattern, - sym_identifier, - STATE(147), 6, - sym_result_pattern, - sym_list_pattern, - sym_table_pattern, - sym_string, - sym_number, - sym_boolean, - [4498] = 14, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(221), 1, - anon_sym_and, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - ACTIONS(267), 1, - anon_sym_SLASH, - ACTIONS(275), 1, - anon_sym_COMMA, - ACTIONS(279), 1, - anon_sym_RBRACK, - STATE(99), 1, - sym_comment, - STATE(159), 1, - aux_sym_function_call_repeat1, - ACTIONS(215), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(217), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(219), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(265), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(227), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4547] = 14, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(221), 1, - anon_sym_and, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - ACTIONS(267), 1, - anon_sym_SLASH, - ACTIONS(275), 1, - anon_sym_COMMA, - ACTIONS(281), 1, - anon_sym_RBRACK, - STATE(100), 1, - sym_comment, - STATE(150), 1, - aux_sym_function_call_repeat1, - ACTIONS(215), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(217), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(219), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(265), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(227), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4596] = 11, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(283), 1, - anon_sym_LPAREN, - ACTIONS(285), 1, - anon_sym_RPAREN, - ACTIONS(287), 1, - anon_sym_LBRACK, - ACTIONS(289), 1, - anon_sym_LBRACE, - ACTIONS(293), 1, - anon_sym_Result, - ACTIONS(295), 1, - sym_identifier, - STATE(101), 1, - sym_comment, - STATE(171), 1, - sym__type, - ACTIONS(291), 5, - anon_sym_Bool, - anon_sym_Int, - anon_sym_Float, - anon_sym_String, - anon_sym_Number, - STATE(126), 5, - sym_primitive_type, - sym_list_type, - sym_table_type, - sym_result_type, - sym_function_type, - [4638] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(221), 1, - anon_sym_and, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - ACTIONS(267), 1, - anon_sym_SLASH, - STATE(102), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(217), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(219), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(265), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(297), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - ACTIONS(227), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4682] = 10, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(283), 1, - anon_sym_LPAREN, - ACTIONS(287), 1, - anon_sym_LBRACK, - ACTIONS(289), 1, - anon_sym_LBRACE, - ACTIONS(293), 1, - anon_sym_Result, - ACTIONS(295), 1, - sym_identifier, - STATE(103), 1, - sym_comment, - STATE(155), 1, - sym__type, - ACTIONS(291), 5, - anon_sym_Bool, - anon_sym_Int, - anon_sym_Float, - anon_sym_String, - anon_sym_Number, - STATE(126), 5, - sym_primitive_type, - sym_list_type, - sym_table_type, - sym_result_type, - sym_function_type, - [4721] = 10, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(283), 1, - anon_sym_LPAREN, - ACTIONS(287), 1, - anon_sym_LBRACK, - ACTIONS(289), 1, - anon_sym_LBRACE, - ACTIONS(293), 1, - anon_sym_Result, - ACTIONS(295), 1, - sym_identifier, - STATE(104), 1, - sym_comment, - STATE(129), 1, - sym__type, - ACTIONS(291), 5, - anon_sym_Bool, - anon_sym_Int, - anon_sym_Float, - anon_sym_String, - anon_sym_Number, - STATE(126), 5, - sym_primitive_type, - sym_list_type, - sym_table_type, - sym_result_type, - sym_function_type, - [4760] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(221), 1, - anon_sym_and, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - ACTIONS(267), 1, - anon_sym_SLASH, - ACTIONS(299), 1, - anon_sym_SEMI, - STATE(105), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(217), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(219), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(265), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(227), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4803] = 10, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(283), 1, - anon_sym_LPAREN, - ACTIONS(287), 1, - anon_sym_LBRACK, - ACTIONS(289), 1, - anon_sym_LBRACE, - ACTIONS(293), 1, - anon_sym_Result, - ACTIONS(295), 1, - sym_identifier, - STATE(106), 1, - sym_comment, - STATE(202), 1, - sym__type, - ACTIONS(291), 5, - anon_sym_Bool, - anon_sym_Int, - anon_sym_Float, - anon_sym_String, - anon_sym_Number, - STATE(126), 5, - sym_primitive_type, - sym_list_type, - sym_table_type, - sym_result_type, - sym_function_type, - [4842] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(221), 1, - anon_sym_and, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - ACTIONS(267), 1, - anon_sym_SLASH, - ACTIONS(301), 1, - anon_sym_RPAREN, - STATE(107), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(217), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(219), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(265), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(227), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4885] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(221), 1, - anon_sym_and, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - ACTIONS(267), 1, - anon_sym_SLASH, - ACTIONS(303), 1, - anon_sym_RPAREN, - STATE(108), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(217), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(219), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(265), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(227), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4928] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(221), 1, - anon_sym_and, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - ACTIONS(267), 1, - anon_sym_SLASH, - ACTIONS(305), 1, - anon_sym_SEMI, - STATE(109), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(217), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(219), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(265), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(227), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4971] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(221), 1, - anon_sym_and, - ACTIONS(223), 1, - anon_sym_or, - ACTIONS(225), 1, - anon_sym_xor, - ACTIONS(267), 1, - anon_sym_SLASH, - ACTIONS(307), 1, - anon_sym_is, - STATE(110), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(217), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(219), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(265), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(227), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [5014] = 10, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(283), 1, - anon_sym_LPAREN, - ACTIONS(287), 1, - anon_sym_LBRACK, - ACTIONS(289), 1, - anon_sym_LBRACE, - ACTIONS(293), 1, - anon_sym_Result, - ACTIONS(295), 1, - sym_identifier, - STATE(111), 1, - sym_comment, - STATE(216), 1, - sym__type, - ACTIONS(291), 5, - anon_sym_Bool, - anon_sym_Int, - anon_sym_Float, - anon_sym_String, - anon_sym_Number, - STATE(126), 5, - sym_primitive_type, - sym_list_type, - sym_table_type, - sym_result_type, - sym_function_type, - [5053] = 10, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(283), 1, - anon_sym_LPAREN, - ACTIONS(287), 1, - anon_sym_LBRACK, - ACTIONS(289), 1, - anon_sym_LBRACE, - ACTIONS(293), 1, - anon_sym_Result, - ACTIONS(295), 1, - sym_identifier, - STATE(112), 1, - sym_comment, - STATE(128), 1, - sym__type, - ACTIONS(291), 5, - anon_sym_Bool, - anon_sym_Int, - anon_sym_Float, - anon_sym_String, - anon_sym_Number, - STATE(126), 5, - sym_primitive_type, - sym_list_type, - sym_table_type, - sym_result_type, - sym_function_type, - [5092] = 10, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(283), 1, - anon_sym_LPAREN, - ACTIONS(287), 1, - anon_sym_LBRACK, - ACTIONS(289), 1, - anon_sym_LBRACE, - ACTIONS(293), 1, - anon_sym_Result, - ACTIONS(295), 1, - sym_identifier, - STATE(113), 1, - sym_comment, - STATE(189), 1, - sym__type, - ACTIONS(291), 5, - anon_sym_Bool, - anon_sym_Int, - anon_sym_Float, - anon_sym_String, - anon_sym_Number, - STATE(126), 5, - sym_primitive_type, - sym_list_type, - sym_table_type, - sym_result_type, - sym_function_type, - [5131] = 10, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(283), 1, - anon_sym_LPAREN, - ACTIONS(287), 1, - anon_sym_LBRACK, - ACTIONS(289), 1, - anon_sym_LBRACE, - ACTIONS(293), 1, - anon_sym_Result, - ACTIONS(295), 1, - sym_identifier, - STATE(114), 1, - sym_comment, - STATE(192), 1, - sym__type, - ACTIONS(291), 5, - anon_sym_Bool, - anon_sym_Int, - anon_sym_Float, - anon_sym_String, - anon_sym_Number, - STATE(126), 5, - sym_primitive_type, - sym_list_type, - sym_table_type, - sym_result_type, - sym_function_type, - [5170] = 10, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(283), 1, - anon_sym_LPAREN, - ACTIONS(287), 1, - anon_sym_LBRACK, - ACTIONS(289), 1, - anon_sym_LBRACE, - ACTIONS(293), 1, - anon_sym_Result, - ACTIONS(295), 1, - sym_identifier, - STATE(115), 1, - sym_comment, - STATE(124), 1, - sym__type, - ACTIONS(291), 5, - anon_sym_Bool, - anon_sym_Int, - anon_sym_Float, - anon_sym_String, - anon_sym_Number, - STATE(126), 5, - sym_primitive_type, - sym_list_type, - sym_table_type, - sym_result_type, - sym_function_type, - [5209] = 10, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(283), 1, - anon_sym_LPAREN, - ACTIONS(287), 1, - anon_sym_LBRACK, - ACTIONS(289), 1, - anon_sym_LBRACE, - ACTIONS(293), 1, - anon_sym_Result, - ACTIONS(295), 1, - sym_identifier, - STATE(116), 1, - sym_comment, - STATE(207), 1, - sym__type, - ACTIONS(291), 5, - anon_sym_Bool, - anon_sym_Int, - anon_sym_Float, - anon_sym_String, - anon_sym_Number, - STATE(126), 5, - sym_primitive_type, - sym_list_type, - sym_table_type, - sym_result_type, - sym_function_type, - [5248] = 3, - STATE(117), 1, - sym_comment, - ACTIONS(311), 7, - anon_sym_when, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - anon_sym_PI, - anon_sym_INFINITY, - sym_identifier, - ACTIONS(309), 9, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DQUOTE, - aux_sym_number_token2, - anon_sym_SLASH_SLASH, - [5272] = 3, - STATE(118), 1, - sym_comment, - ACTIONS(315), 7, - anon_sym_when, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - anon_sym_PI, - anon_sym_INFINITY, - sym_identifier, - ACTIONS(313), 9, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DQUOTE, - aux_sym_number_token2, - anon_sym_SLASH_SLASH, - [5296] = 3, - STATE(119), 1, - sym_comment, - ACTIONS(319), 7, - anon_sym_when, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - anon_sym_PI, - anon_sym_INFINITY, - sym_identifier, - ACTIONS(317), 9, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DQUOTE, - aux_sym_number_token2, - anon_sym_SLASH_SLASH, - [5320] = 3, - STATE(120), 1, - sym_comment, - ACTIONS(323), 7, - anon_sym_when, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - anon_sym_PI, - anon_sym_INFINITY, - sym_identifier, - ACTIONS(321), 9, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DQUOTE, - aux_sym_number_token2, - anon_sym_SLASH_SLASH, - [5344] = 3, - STATE(121), 1, - sym_comment, - ACTIONS(327), 7, - anon_sym_when, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - anon_sym_PI, - anon_sym_INFINITY, - sym_identifier, - ACTIONS(325), 9, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DQUOTE, - aux_sym_number_token2, - anon_sym_SLASH_SLASH, - [5368] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(122), 1, - sym_comment, - ACTIONS(329), 5, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DQUOTE, - aux_sym_number_token2, - ACTIONS(331), 7, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - [5391] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(123), 1, - sym_comment, - ACTIONS(333), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5407] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(124), 1, - sym_comment, - ACTIONS(335), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5423] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(125), 1, - sym_comment, - ACTIONS(337), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5439] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(126), 1, - sym_comment, - ACTIONS(339), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5455] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(127), 1, - sym_comment, - ACTIONS(341), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5471] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(128), 1, - sym_comment, - ACTIONS(343), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5487] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(129), 1, - sym_comment, - ACTIONS(345), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5503] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(130), 1, - sym_comment, - ACTIONS(347), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5519] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(131), 1, - sym_comment, - ACTIONS(349), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5535] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(132), 1, - sym_comment, - ACTIONS(351), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5551] = 7, - ACTIONS(353), 1, - anon_sym_DQUOTE, - ACTIONS(355), 1, - aux_sym_string_token1, - ACTIONS(357), 1, - anon_sym_BSLASH, - ACTIONS(359), 1, - anon_sym_SLASH_SLASH, - STATE(133), 1, - sym_comment, - STATE(136), 1, - aux_sym_string_repeat1, - STATE(165), 1, - sym_escape_sequence, - [5573] = 7, - ACTIONS(355), 1, - aux_sym_string_token1, - ACTIONS(357), 1, - anon_sym_BSLASH, - ACTIONS(359), 1, - anon_sym_SLASH_SLASH, - ACTIONS(361), 1, - anon_sym_DQUOTE, - STATE(134), 1, - sym_comment, - STATE(138), 1, - aux_sym_string_repeat1, - STATE(165), 1, - sym_escape_sequence, - [5595] = 7, - ACTIONS(355), 1, - aux_sym_string_token1, - ACTIONS(357), 1, - anon_sym_BSLASH, - ACTIONS(359), 1, - anon_sym_SLASH_SLASH, - ACTIONS(363), 1, - anon_sym_DQUOTE, - STATE(134), 1, - aux_sym_string_repeat1, - STATE(135), 1, - sym_comment, - STATE(165), 1, - sym_escape_sequence, - [5617] = 7, - ACTIONS(355), 1, - aux_sym_string_token1, - ACTIONS(357), 1, - anon_sym_BSLASH, - ACTIONS(359), 1, - anon_sym_SLASH_SLASH, - ACTIONS(365), 1, - anon_sym_DQUOTE, - STATE(136), 1, - sym_comment, - STATE(138), 1, - aux_sym_string_repeat1, - STATE(165), 1, - sym_escape_sequence, - [5639] = 7, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(367), 1, - anon_sym_LPAREN, - ACTIONS(369), 1, - sym_identifier, - STATE(137), 1, - sym_comment, - STATE(182), 1, - sym_typed_parameter, - STATE(215), 1, - sym_parameter_list, - STATE(217), 1, - sym__parameter, - [5661] = 6, - ACTIONS(359), 1, - anon_sym_SLASH_SLASH, - ACTIONS(371), 1, - anon_sym_DQUOTE, - ACTIONS(373), 1, - aux_sym_string_token1, - ACTIONS(376), 1, - anon_sym_BSLASH, - STATE(165), 1, - sym_escape_sequence, - STATE(138), 2, - sym_comment, - aux_sym_string_repeat1, - [5681] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(139), 1, - sym_comment, - ACTIONS(379), 4, - anon_sym_COMMA, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - [5694] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(140), 1, - sym_comment, - ACTIONS(381), 4, - anon_sym_COMMA, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - [5707] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(141), 1, - sym_comment, - ACTIONS(383), 4, - anon_sym_COMMA, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - [5720] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(142), 1, - sym_comment, - ACTIONS(385), 4, - anon_sym_COMMA, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - [5733] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(143), 1, - sym_comment, - ACTIONS(387), 4, - anon_sym_COMMA, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - [5746] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(144), 1, - sym_comment, - ACTIONS(389), 4, - anon_sym_COMMA, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - [5759] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(145), 1, - sym_comment, - ACTIONS(391), 4, - anon_sym_COMMA, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - [5772] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(393), 1, - anon_sym_COMMA, - ACTIONS(271), 2, - anon_sym_RPAREN, - anon_sym_RBRACK, - STATE(146), 2, - sym_comment, - aux_sym_function_call_repeat1, - [5787] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(147), 1, - sym_comment, - ACTIONS(396), 4, - anon_sym_COMMA, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - [5800] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(398), 1, - anon_sym_COLON, - STATE(148), 1, - sym_comment, - ACTIONS(400), 3, - anon_sym_DASH_GT, - anon_sym_RPAREN, - anon_sym_COMMA, - [5815] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(369), 1, - sym_identifier, - ACTIONS(402), 1, - anon_sym_RPAREN, - STATE(149), 1, - sym_comment, - STATE(179), 1, - sym__parameter, - STATE(182), 1, - sym_typed_parameter, - [5834] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(275), 1, - anon_sym_COMMA, - ACTIONS(404), 1, - anon_sym_RBRACK, - STATE(146), 1, - aux_sym_function_call_repeat1, - STATE(150), 1, - sym_comment, - [5850] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(406), 1, - anon_sym_RPAREN, - ACTIONS(408), 1, - anon_sym_COMMA, - STATE(151), 2, - sym_comment, - aux_sym_parameter_list_repeat1, - [5864] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(411), 1, - anon_sym_RBRACE, - ACTIONS(413), 1, - sym_identifier, - STATE(152), 1, - sym_comment, - STATE(162), 1, - sym_table_field, - [5880] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(415), 1, - anon_sym_COMMA, - ACTIONS(418), 1, - anon_sym_RBRACE, - STATE(153), 2, - sym_comment, - aux_sym_table_pattern_repeat1, - [5894] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(275), 1, - anon_sym_COMMA, - ACTIONS(420), 1, - anon_sym_RPAREN, - STATE(146), 1, - aux_sym_function_call_repeat1, - STATE(154), 1, - sym_comment, - [5910] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(155), 1, - sym_comment, - ACTIONS(422), 3, - anon_sym_DASH_GT, - anon_sym_RPAREN, - anon_sym_COMMA, - [5922] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(424), 1, - anon_sym_RPAREN, - ACTIONS(426), 1, - anon_sym_COMMA, - STATE(156), 1, - sym_comment, - STATE(163), 1, - aux_sym_function_type_repeat1, - [5938] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(428), 1, - anon_sym_COMMA, - ACTIONS(430), 1, - anon_sym_RBRACE, - STATE(157), 1, - sym_comment, - STATE(181), 1, - aux_sym_table_expression_repeat1, - [5954] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(432), 1, - anon_sym_COMMA, - ACTIONS(434), 1, - anon_sym_RBRACE, - STATE(158), 1, - sym_comment, - STATE(166), 1, - aux_sym_table_type_repeat1, - [5970] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(275), 1, - anon_sym_COMMA, - ACTIONS(436), 1, - anon_sym_RBRACK, - STATE(146), 1, - aux_sym_function_call_repeat1, - STATE(159), 1, - sym_comment, - [5986] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(438), 1, - anon_sym_COMMA, - ACTIONS(440), 1, - anon_sym_RBRACK, - STATE(160), 1, - sym_comment, - STATE(176), 1, - aux_sym_list_pattern_repeat1, - [6002] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(428), 1, - anon_sym_COMMA, - ACTIONS(442), 1, - anon_sym_RBRACE, - STATE(157), 1, - aux_sym_table_expression_repeat1, - STATE(161), 1, - sym_comment, - [6018] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(428), 1, - anon_sym_COMMA, - ACTIONS(444), 1, - anon_sym_RBRACE, - STATE(162), 1, - sym_comment, - STATE(173), 1, - aux_sym_table_expression_repeat1, - [6034] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(446), 1, - anon_sym_RPAREN, - ACTIONS(448), 1, - anon_sym_COMMA, - STATE(163), 2, - sym_comment, - aux_sym_function_type_repeat1, - [6048] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(413), 1, - sym_identifier, - ACTIONS(451), 1, - anon_sym_RBRACE, - STATE(161), 1, - sym_table_field, - STATE(164), 1, - sym_comment, - [6064] = 3, - ACTIONS(359), 1, - anon_sym_SLASH_SLASH, - STATE(165), 1, - sym_comment, - ACTIONS(453), 3, - anon_sym_DQUOTE, - aux_sym_string_token1, - anon_sym_BSLASH, - [6076] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(455), 1, - anon_sym_COMMA, - ACTIONS(458), 1, - anon_sym_RBRACE, - STATE(166), 2, - sym_comment, - aux_sym_table_type_repeat1, - [6090] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(460), 1, - anon_sym_RBRACE, - ACTIONS(462), 1, - sym_identifier, - STATE(167), 1, - sym_comment, - STATE(172), 1, - sym_table_field_pattern, - [6106] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(464), 1, - anon_sym_DASH_GT, - ACTIONS(466), 1, - sym_identifier, - STATE(168), 1, - sym_comment, - STATE(184), 1, - aux_sym_function_implementation_repeat1, - [6122] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(468), 1, - anon_sym_RPAREN, - ACTIONS(470), 1, - anon_sym_COMMA, - STATE(151), 1, - aux_sym_parameter_list_repeat1, - STATE(169), 1, - sym_comment, - [6138] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(369), 1, - sym_identifier, - STATE(170), 1, - sym_comment, - STATE(182), 1, - sym_typed_parameter, - STATE(190), 1, - sym__parameter, - [6154] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(426), 1, - anon_sym_COMMA, - ACTIONS(472), 1, - anon_sym_RPAREN, - STATE(156), 1, - aux_sym_function_type_repeat1, - STATE(171), 1, - sym_comment, - [6170] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(474), 1, - anon_sym_COMMA, - ACTIONS(476), 1, - anon_sym_RBRACE, - STATE(172), 1, - sym_comment, - STATE(174), 1, - aux_sym_table_pattern_repeat1, - [6186] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(428), 1, - anon_sym_COMMA, - ACTIONS(478), 1, - anon_sym_RBRACE, - STATE(173), 1, - sym_comment, - STATE(181), 1, - aux_sym_table_expression_repeat1, - [6202] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(474), 1, - anon_sym_COMMA, - ACTIONS(480), 1, - anon_sym_RBRACE, - STATE(153), 1, - aux_sym_table_pattern_repeat1, - STATE(174), 1, - sym_comment, - [6218] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(438), 1, - anon_sym_COMMA, - ACTIONS(482), 1, - anon_sym_RBRACK, - STATE(160), 1, - aux_sym_list_pattern_repeat1, - STATE(175), 1, - sym_comment, - [6234] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(484), 1, - anon_sym_COMMA, - ACTIONS(487), 1, - anon_sym_RBRACK, - STATE(176), 2, - sym_comment, - aux_sym_list_pattern_repeat1, - [6248] = 3, - ACTIONS(359), 1, - anon_sym_SLASH_SLASH, - STATE(177), 1, - sym_comment, - ACTIONS(489), 3, - anon_sym_DQUOTE, - aux_sym_string_token1, - anon_sym_BSLASH, - [6260] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(275), 1, - anon_sym_COMMA, - ACTIONS(491), 1, - anon_sym_RPAREN, - STATE(146), 1, - aux_sym_function_call_repeat1, - STATE(178), 1, - sym_comment, - [6276] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(470), 1, - anon_sym_COMMA, - ACTIONS(493), 1, - anon_sym_RPAREN, - STATE(169), 1, - aux_sym_parameter_list_repeat1, - STATE(179), 1, - sym_comment, - [6292] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(432), 1, - anon_sym_COMMA, - ACTIONS(495), 1, - anon_sym_RBRACE, - STATE(158), 1, - aux_sym_table_type_repeat1, - STATE(180), 1, - sym_comment, - [6308] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(497), 1, - anon_sym_COMMA, - ACTIONS(500), 1, - anon_sym_RBRACE, - STATE(181), 2, - sym_comment, - aux_sym_table_expression_repeat1, - [6322] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(182), 1, - sym_comment, - ACTIONS(400), 3, - anon_sym_DASH_GT, - anon_sym_RPAREN, - anon_sym_COMMA, - [6334] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(502), 1, - anon_sym_RBRACE, - ACTIONS(504), 1, - sym_identifier, - STATE(180), 1, - sym_table_type_field, - STATE(183), 1, - sym_comment, - [6350] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(506), 1, - anon_sym_DASH_GT, - ACTIONS(508), 1, - sym_identifier, - STATE(184), 2, - sym_comment, - aux_sym_function_implementation_repeat1, - [6364] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(185), 1, - sym_comment, - ACTIONS(511), 2, - aux_sym_escape_sequence_token1, - aux_sym_escape_sequence_token2, - [6375] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(186), 1, - sym_comment, - ACTIONS(513), 2, - anon_sym_DASH_GT, - sym_identifier, - [6386] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(187), 1, - sym_comment, - ACTIONS(418), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [6397] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(504), 1, - sym_identifier, - STATE(188), 1, - sym_comment, - STATE(193), 1, - sym_table_type_field, - [6410] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(189), 1, - sym_comment, - ACTIONS(446), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [6421] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(190), 1, - sym_comment, - ACTIONS(406), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [6432] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(191), 1, - sym_comment, - ACTIONS(500), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [6443] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(192), 1, - sym_comment, - ACTIONS(515), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [6454] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(193), 1, - sym_comment, - ACTIONS(458), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [6465] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(462), 1, - sym_identifier, - STATE(187), 1, - sym_table_field_pattern, - STATE(194), 1, - sym_comment, - [6478] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(195), 1, - sym_comment, - ACTIONS(487), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [6489] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(413), 1, - sym_identifier, - STATE(191), 1, - sym_table_field, - STATE(196), 1, - sym_comment, - [6502] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(197), 1, - sym_comment, - ACTIONS(517), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [6513] = 3, - ACTIONS(359), 1, - anon_sym_SLASH_SLASH, - ACTIONS(519), 1, - aux_sym_comment_token1, - STATE(198), 1, - sym_comment, - [6523] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(521), 1, - anon_sym_COLON, - STATE(199), 1, - sym_comment, - [6533] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(523), 1, - sym_identifier, - STATE(200), 1, - sym_comment, - [6543] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(525), 1, - anon_sym_DASH_GT, - STATE(201), 1, - sym_comment, - [6553] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(527), 1, - anon_sym_SEMI, - STATE(202), 1, - sym_comment, - [6563] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(529), 1, - anon_sym_then, - STATE(203), 1, - sym_comment, - [6573] = 3, - ACTIONS(359), 1, - anon_sym_SLASH_SLASH, - ACTIONS(531), 1, - aux_sym_comment_token1, - STATE(204), 1, - sym_comment, - [6583] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_COLON, - STATE(205), 1, - sym_comment, - [6593] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(535), 1, - anon_sym_DASH_GT, - STATE(206), 1, - sym_comment, - [6603] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(537), 1, - anon_sym_RBRACK, - STATE(207), 1, - sym_comment, - [6613] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(539), 1, - anon_sym_DASH_GT, - STATE(208), 1, - sym_comment, - [6623] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(541), 1, - anon_sym_DASH_GT, - STATE(209), 1, - sym_comment, - [6633] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(543), 1, - anon_sym_DASH_GT, - STATE(210), 1, - sym_comment, - [6643] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(545), 1, - anon_sym_DASH_GT, - STATE(211), 1, - sym_comment, - [6653] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(547), 1, - anon_sym_COLON, - STATE(212), 1, - sym_comment, - [6663] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(549), 1, - ts_builtin_sym_end, - STATE(213), 1, - sym_comment, - [6673] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(551), 1, - sym_identifier, - STATE(214), 1, - sym_comment, - [6683] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(553), 1, - anon_sym_DASH_GT, - STATE(215), 1, - sym_comment, - [6693] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(555), 1, - anon_sym_GT, - STATE(216), 1, - sym_comment, - [6703] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(557), 1, - anon_sym_DASH_GT, - STATE(217), 1, - sym_comment, - [6713] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(559), 1, - anon_sym_LT, - STATE(218), 1, - sym_comment, - [6723] = 1, - ACTIONS(317), 1, - ts_builtin_sym_end, -}; - -static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 73, - [SMALL_STATE(4)] = 148, - [SMALL_STATE(5)] = 192, - [SMALL_STATE(6)] = 231, - [SMALL_STATE(7)] = 272, - [SMALL_STATE(8)] = 310, - [SMALL_STATE(9)] = 348, - [SMALL_STATE(10)] = 386, - [SMALL_STATE(11)] = 450, - [SMALL_STATE(12)] = 514, - [SMALL_STATE(13)] = 570, - [SMALL_STATE(14)] = 608, - [SMALL_STATE(15)] = 646, - [SMALL_STATE(16)] = 684, - [SMALL_STATE(17)] = 734, - [SMALL_STATE(18)] = 772, - [SMALL_STATE(19)] = 824, - [SMALL_STATE(20)] = 862, - [SMALL_STATE(21)] = 900, - [SMALL_STATE(22)] = 938, - [SMALL_STATE(23)] = 976, - [SMALL_STATE(24)] = 1014, - [SMALL_STATE(25)] = 1070, - [SMALL_STATE(26)] = 1108, - [SMALL_STATE(27)] = 1154, - [SMALL_STATE(28)] = 1198, - [SMALL_STATE(29)] = 1236, - [SMALL_STATE(30)] = 1300, - [SMALL_STATE(31)] = 1342, - [SMALL_STATE(32)] = 1382, - [SMALL_STATE(33)] = 1420, - [SMALL_STATE(34)] = 1458, - [SMALL_STATE(35)] = 1496, - [SMALL_STATE(36)] = 1534, - [SMALL_STATE(37)] = 1598, - [SMALL_STATE(38)] = 1659, - [SMALL_STATE(39)] = 1720, - [SMALL_STATE(40)] = 1781, - [SMALL_STATE(41)] = 1842, - [SMALL_STATE(42)] = 1903, - [SMALL_STATE(43)] = 1964, - [SMALL_STATE(44)] = 2025, - [SMALL_STATE(45)] = 2086, - [SMALL_STATE(46)] = 2147, - [SMALL_STATE(47)] = 2208, - [SMALL_STATE(48)] = 2269, - [SMALL_STATE(49)] = 2330, - [SMALL_STATE(50)] = 2391, - [SMALL_STATE(51)] = 2452, - [SMALL_STATE(52)] = 2513, - [SMALL_STATE(53)] = 2574, - [SMALL_STATE(54)] = 2635, - [SMALL_STATE(55)] = 2696, - [SMALL_STATE(56)] = 2757, - [SMALL_STATE(57)] = 2818, - [SMALL_STATE(58)] = 2879, - [SMALL_STATE(59)] = 2940, - [SMALL_STATE(60)] = 3001, - [SMALL_STATE(61)] = 3039, - [SMALL_STATE(62)] = 3072, - [SMALL_STATE(63)] = 3105, - [SMALL_STATE(64)] = 3138, - [SMALL_STATE(65)] = 3171, - [SMALL_STATE(66)] = 3204, - [SMALL_STATE(67)] = 3239, - [SMALL_STATE(68)] = 3271, - [SMALL_STATE(69)] = 3313, - [SMALL_STATE(70)] = 3357, - [SMALL_STATE(71)] = 3403, - [SMALL_STATE(72)] = 3443, - [SMALL_STATE(73)] = 3481, - [SMALL_STATE(74)] = 3517, - [SMALL_STATE(75)] = 3551, - [SMALL_STATE(76)] = 3583, - [SMALL_STATE(77)] = 3615, - [SMALL_STATE(78)] = 3647, - [SMALL_STATE(79)] = 3679, - [SMALL_STATE(80)] = 3711, - [SMALL_STATE(81)] = 3743, - [SMALL_STATE(82)] = 3795, - [SMALL_STATE(83)] = 3849, - [SMALL_STATE(84)] = 3881, - [SMALL_STATE(85)] = 3913, - [SMALL_STATE(86)] = 3945, - [SMALL_STATE(87)] = 3977, - [SMALL_STATE(88)] = 4025, - [SMALL_STATE(89)] = 4057, - [SMALL_STATE(90)] = 4089, - [SMALL_STATE(91)] = 4121, - [SMALL_STATE(92)] = 4172, - [SMALL_STATE(93)] = 4220, - [SMALL_STATE(94)] = 4265, - [SMALL_STATE(95)] = 4314, - [SMALL_STATE(96)] = 4359, - [SMALL_STATE(97)] = 4404, - [SMALL_STATE(98)] = 4453, - [SMALL_STATE(99)] = 4498, - [SMALL_STATE(100)] = 4547, - [SMALL_STATE(101)] = 4596, - [SMALL_STATE(102)] = 4638, - [SMALL_STATE(103)] = 4682, - [SMALL_STATE(104)] = 4721, - [SMALL_STATE(105)] = 4760, - [SMALL_STATE(106)] = 4803, - [SMALL_STATE(107)] = 4842, - [SMALL_STATE(108)] = 4885, - [SMALL_STATE(109)] = 4928, - [SMALL_STATE(110)] = 4971, - [SMALL_STATE(111)] = 5014, - [SMALL_STATE(112)] = 5053, - [SMALL_STATE(113)] = 5092, - [SMALL_STATE(114)] = 5131, - [SMALL_STATE(115)] = 5170, - [SMALL_STATE(116)] = 5209, - [SMALL_STATE(117)] = 5248, - [SMALL_STATE(118)] = 5272, - [SMALL_STATE(119)] = 5296, - [SMALL_STATE(120)] = 5320, - [SMALL_STATE(121)] = 5344, - [SMALL_STATE(122)] = 5368, - [SMALL_STATE(123)] = 5391, - [SMALL_STATE(124)] = 5407, - [SMALL_STATE(125)] = 5423, - [SMALL_STATE(126)] = 5439, - [SMALL_STATE(127)] = 5455, - [SMALL_STATE(128)] = 5471, - [SMALL_STATE(129)] = 5487, - [SMALL_STATE(130)] = 5503, - [SMALL_STATE(131)] = 5519, - [SMALL_STATE(132)] = 5535, - [SMALL_STATE(133)] = 5551, - [SMALL_STATE(134)] = 5573, - [SMALL_STATE(135)] = 5595, - [SMALL_STATE(136)] = 5617, - [SMALL_STATE(137)] = 5639, - [SMALL_STATE(138)] = 5661, - [SMALL_STATE(139)] = 5681, - [SMALL_STATE(140)] = 5694, - [SMALL_STATE(141)] = 5707, - [SMALL_STATE(142)] = 5720, - [SMALL_STATE(143)] = 5733, - [SMALL_STATE(144)] = 5746, - [SMALL_STATE(145)] = 5759, - [SMALL_STATE(146)] = 5772, - [SMALL_STATE(147)] = 5787, - [SMALL_STATE(148)] = 5800, - [SMALL_STATE(149)] = 5815, - [SMALL_STATE(150)] = 5834, - [SMALL_STATE(151)] = 5850, - [SMALL_STATE(152)] = 5864, - [SMALL_STATE(153)] = 5880, - [SMALL_STATE(154)] = 5894, - [SMALL_STATE(155)] = 5910, - [SMALL_STATE(156)] = 5922, - [SMALL_STATE(157)] = 5938, - [SMALL_STATE(158)] = 5954, - [SMALL_STATE(159)] = 5970, - [SMALL_STATE(160)] = 5986, - [SMALL_STATE(161)] = 6002, - [SMALL_STATE(162)] = 6018, - [SMALL_STATE(163)] = 6034, - [SMALL_STATE(164)] = 6048, - [SMALL_STATE(165)] = 6064, - [SMALL_STATE(166)] = 6076, - [SMALL_STATE(167)] = 6090, - [SMALL_STATE(168)] = 6106, - [SMALL_STATE(169)] = 6122, - [SMALL_STATE(170)] = 6138, - [SMALL_STATE(171)] = 6154, - [SMALL_STATE(172)] = 6170, - [SMALL_STATE(173)] = 6186, - [SMALL_STATE(174)] = 6202, - [SMALL_STATE(175)] = 6218, - [SMALL_STATE(176)] = 6234, - [SMALL_STATE(177)] = 6248, - [SMALL_STATE(178)] = 6260, - [SMALL_STATE(179)] = 6276, - [SMALL_STATE(180)] = 6292, - [SMALL_STATE(181)] = 6308, - [SMALL_STATE(182)] = 6322, - [SMALL_STATE(183)] = 6334, - [SMALL_STATE(184)] = 6350, - [SMALL_STATE(185)] = 6364, - [SMALL_STATE(186)] = 6375, - [SMALL_STATE(187)] = 6386, - [SMALL_STATE(188)] = 6397, - [SMALL_STATE(189)] = 6410, - [SMALL_STATE(190)] = 6421, - [SMALL_STATE(191)] = 6432, - [SMALL_STATE(192)] = 6443, - [SMALL_STATE(193)] = 6454, - [SMALL_STATE(194)] = 6465, - [SMALL_STATE(195)] = 6478, - [SMALL_STATE(196)] = 6489, - [SMALL_STATE(197)] = 6502, - [SMALL_STATE(198)] = 6513, - [SMALL_STATE(199)] = 6523, - [SMALL_STATE(200)] = 6533, - [SMALL_STATE(201)] = 6543, - [SMALL_STATE(202)] = 6553, - [SMALL_STATE(203)] = 6563, - [SMALL_STATE(204)] = 6573, - [SMALL_STATE(205)] = 6583, - [SMALL_STATE(206)] = 6593, - [SMALL_STATE(207)] = 6603, - [SMALL_STATE(208)] = 6613, - [SMALL_STATE(209)] = 6623, - [SMALL_STATE(210)] = 6633, - [SMALL_STATE(211)] = 6643, - [SMALL_STATE(212)] = 6653, - [SMALL_STATE(213)] = 6663, - [SMALL_STATE(214)] = 6673, - [SMALL_STATE(215)] = 6683, - [SMALL_STATE(216)] = 6693, - [SMALL_STATE(217)] = 6703, - [SMALL_STATE(218)] = 6713, - [SMALL_STATE(219)] = 6723, -}; - -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(198), - [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 0), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), - [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), - [33] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(48), - [36] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(57), - [39] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(10), - [42] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(152), - [45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(59), - [48] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(133), - [51] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(64), - [54] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(64), - [57] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(65), - [60] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(67), - [63] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(68), - [66] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2), SHIFT_REPEAT(204), - [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 1), - [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [75] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1), - [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(214), - [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_access, 3, .production_id = 3), - [81] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_access, 3, .production_id = 3), - [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3), - [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3), - [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 3), - [89] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_expression, 3), - [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 2), - [93] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 2), - [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), - [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_when_pattern, 3, .production_id = 9), - [103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_when_pattern, 3, .production_id = 9), - [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), - [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), - [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), - [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), - [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), - [123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number, 1), - [125] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number, 1), - [127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), - [129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), - [131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant, 1), - [133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant, 1), - [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 4), - [137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 4), - [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1), - [141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1), - [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_expression, 3), - [145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_expression, 3), - [147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 2), - [149] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_expression, 2), - [151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_expression, 2), - [153] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_expression, 2), - [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 1), - [157] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 1), - [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2), - [161] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2), - [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3), - [165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3), - [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 5, .production_id = 2), - [171] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 5, .production_id = 2), - [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 2), - [175] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 2), - [177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_expression, 4), - [179] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_expression, 4), - [181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4), - [183] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_expression, 4), - [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), - [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), - [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), - [203] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), - [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), - [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(200), - [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(186), - [215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), - [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_when_expression_repeat1, 2), - [231] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_when_expression_repeat1, 2), SHIFT_REPEAT(98), - [234] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_when_expression_repeat1, 2), SHIFT_REPEAT(147), - [237] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_when_expression_repeat1, 2), SHIFT_REPEAT(92), - [240] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_when_expression_repeat1, 2), SHIFT_REPEAT(167), - [243] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_when_expression_repeat1, 2), SHIFT_REPEAT(133), - [246] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_when_expression_repeat1, 2), SHIFT_REPEAT(64), - [249] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_when_expression_repeat1, 2), SHIFT_REPEAT(64), - [252] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_when_expression_repeat1, 2), SHIFT_REPEAT(65), - [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), - [259] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), - [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [267] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), - [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), - [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), - [291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), - [293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(218), - [295] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), - [297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_field, 3, .production_id = 5), - [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_when_expression, 5, .production_id = 6), - [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_when_expression, 5, .production_id = 6), - [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2), - [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2), - [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), - [319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 2), - [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_implementation, 5, .production_id = 8), - [323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_implementation, 5, .production_id = 8), - [325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, .production_id = 10), - [327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, .production_id = 10), - [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_when_expression_repeat1, 1), - [331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_when_expression_repeat1, 1), - [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_result_type, 4), - [335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 5), - [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_type, 3), - [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1), - [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_type, 2), - [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 4), - [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 6), - [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_type, 1), - [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_type, 4), - [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_type, 3), - [353] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), - [355] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), - [357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(185), - [359] = {.entry = {.count = 1, .reusable = false}}, SHIFT(198), - [361] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), - [363] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), - [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2), - [373] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2), SHIFT_REPEAT(165), - [376] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2), SHIFT_REPEAT(185), - [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_pattern, 3), - [381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_pattern, 2), - [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 3), - [385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 4), - [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_pattern, 4), - [389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 2), - [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_result_pattern, 2), - [393] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(56), - [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pattern, 1), - [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter, 1), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), - [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2), - [408] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2), SHIFT_REPEAT(170), - [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), - [415] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_table_pattern_repeat1, 2), SHIFT_REPEAT(194), - [418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_table_pattern_repeat1, 2), - [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typed_parameter, 3, .production_id = 7), - [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [446] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_type_repeat1, 2), - [448] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_type_repeat1, 2), SHIFT_REPEAT(113), - [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 1), - [455] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_table_type_repeat1, 2), SHIFT_REPEAT(188), - [458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_table_type_repeat1, 2), - [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), - [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), - [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), - [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [484] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_pattern_repeat1, 2), SHIFT_REPEAT(96), - [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_pattern_repeat1, 2), - [489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_escape_sequence, 2), - [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), - [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [497] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_table_expression_repeat1, 2), SHIFT_REPEAT(196), - [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_table_expression_repeat1, 2), - [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), - [506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_implementation_repeat1, 2), - [508] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_implementation_repeat1, 2), SHIFT_REPEAT(186), - [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [513] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_implementation_repeat1, 1), - [515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_type_field, 3, .production_id = 5), - [517] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_field_pattern, 3, .production_id = 5), - [519] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219), - [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), - [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2), - [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4), - [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3), - [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [549] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 1), - [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), -}; - -#ifdef __cplusplus -extern "C" { -#endif -#ifdef _WIN32 -#define extern __declspec(dllexport) -#endif - -extern const TSLanguage *tree_sitter_baba_yaga(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, - .primary_state_ids = ts_primary_state_ids, - }; - return &language; -} -#ifdef __cplusplus -} -#endif diff --git a/js/baba-yaga/dev/helix/src/tree_sitter/parser.h b/js/baba-yaga/dev/helix/src/tree_sitter/parser.h deleted file mode 100644 index 2b14ac1..0000000 --- a/js/baba-yaga/dev/helix/src/tree_sitter/parser.h +++ /dev/null @@ -1,224 +0,0 @@ -#ifndef TREE_SITTER_PARSER_H_ -#define TREE_SITTER_PARSER_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include <stdbool.h> -#include <stdint.h> -#include <stdlib.h> - -#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/js/baba-yaga/dev/helix/test.baba b/js/baba-yaga/dev/helix/test.baba deleted file mode 100644 index 4097f28..0000000 --- a/js/baba-yaga/dev/helix/test.baba +++ /dev/null @@ -1,20 +0,0 @@ -// Test file for Helix syntax highlighting -add : Int -> Int -> Int; -add(x, y) : x + y; - -// Test variables -result : add(5, 3); -name : "World"; -greeting : str.concat("Hello, ", name); - -// Test pattern matching -check : when result is - 8 then Ok("correct") - _ then Err("wrong"); - -// Test list operations -numbers : [1, 2, 3, 4, 5]; -doubled : map(x -> x * 2, numbers); - -// Test IO -io.out(greeting); diff --git a/js/baba-yaga/dev/helix/test/corpus/expressions.txt b/js/baba-yaga/dev/helix/test/corpus/expressions.txt deleted file mode 100644 index 25ece22..0000000 --- a/js/baba-yaga/dev/helix/test/corpus/expressions.txt +++ /dev/null @@ -1,164 +0,0 @@ -================== -Function definitions and implementations -================== - -add : (Int, Int) -> Int; -add a b -> a + b; - -multiply : x -> y -> x * y; - ---- - -(program - (function_definition - name: (identifier) - parameters: (parameter_list - (typed_parameter - name: (identifier) - type: (primitive_type)) - (typed_parameter - name: (identifier) - type: (primitive_type))) - return_type: (primitive_type)) - (function_implementation - name: (identifier) - parameters: (identifier) - parameters: (identifier) - body: (binary_expression - left: (identifier) - operator: + - right: (identifier))) - (function_definition - name: (identifier) - parameters: (parameter_list - (identifier)) - return_type: (function_type - parameters: (parameter_list - (identifier)) - return_type: (binary_expression - left: (identifier) - operator: * - right: (identifier))))) - -================== -When expressions -================== - -result : when 5 is - 0 then "zero" - _ then "other"; - ---- - -(program - (expression_statement - (binary_expression - left: (identifier) - operator: : - right: (when_expression - subject: (number) - patterns: (when_pattern - pattern: (number) - result: (string)) - patterns: (when_pattern - pattern: (wildcard_pattern) - result: (string)))))) - -================== -Function calls -================== - -greet : String -> String; -greet name -> str.concat "Hello, " name; - ---- - -(program - (function_definition - name: (identifier) - parameters: (parameter_list - (typed_parameter - name: (identifier) - type: (primitive_type))) - return_type: (primitive_type)) - (function_implementation - name: (identifier) - parameters: (identifier) - body: (function_call - function: (member_access - object: (identifier) - member: (identifier)) - arguments: (string) - arguments: (identifier)))) - -================== -Lists and tables -================== - -numbers : [Int]; -numbers -> [1, 2, 3]; - -config : {name: String, age: Int}; -config -> {name: "Alice", age: 30}; - ---- - -(program - (expression_statement - (binary_expression - left: (identifier) - operator: : - right: (list_type - type: (primitive_type)))) - (expression_statement - (binary_expression - left: (identifier) - operator: -> - right: (list_expression - elements: (number) - elements: (number) - elements: (number)))) - (expression_statement - (binary_expression - left: (identifier) - operator: : - right: (table_type - fields: (table_type_field - key: (identifier) - value: (primitive_type)) - fields: (table_type_field - key: (identifier) - value: (primitive_type))))) - (expression_statement - (binary_expression - left: (identifier) - operator: -> - right: (table_expression - fields: (table_field - key: (identifier) - value: (string)) - fields: (table_field - key: (identifier) - value: (number)))))) - -================== -Comments -================== - -// This is a comment -add : (Int, Int) -> Int; - ---- - -(program - (comment) - (function_definition - name: (identifier) - parameters: (parameter_list - (typed_parameter - name: (identifier) - type: (primitive_type)) - (typed_parameter - name: (identifier) - type: (primitive_type))) - return_type: (primitive_type))) diff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/Cargo.toml b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/Cargo.toml deleted file mode 100644 index af4cf16..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/Cargo.toml +++ /dev/null @@ -1,26 +0,0 @@ -[package] -name = "tree-sitter-baba-yaga" -description = "baba-yaga grammar for the tree-sitter parsing library" -version = "0.0.1" -keywords = ["incremental", "parsing", "baba-yaga"] -categories = ["parsing", "text-editors"] -repository = "https://github.com/tree-sitter/tree-sitter-baba-yaga" -edition = "2018" -license = "MIT" - -build = "bindings/rust/build.rs" -include = [ - "bindings/rust/*", - "grammar.js", - "queries/*", - "src/*", -] - -[lib] -path = "bindings/rust/lib.rs" - -[dependencies] -tree-sitter = "~0.20.10" - -[build-dependencies] -cc = "1.0" diff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/baba-yaga.so b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/baba-yaga.so deleted file mode 100755 index 0829432..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/baba-yaga.so +++ /dev/null Binary files differdiff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/baba.so b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/baba.so deleted file mode 100755 index bc268e1..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/baba.so +++ /dev/null Binary files differdiff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/binding.gyp b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/binding.gyp deleted file mode 100644 index 7f58e2f..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/binding.gyp +++ /dev/null @@ -1,19 +0,0 @@ -{ - "targets": [ - { - "target_name": "tree_sitter_baba_yaga_binding", - "include_dirs": [ - "<!(node -e \"require('nan')\")", - "src" - ], - "sources": [ - "bindings/node/binding.cc", - "src/parser.c", - # If your language uses an external scanner, add it here. - ], - "cflags_c": [ - "-std=c99", - ] - } - ] -} diff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/bindings/node/binding.cc b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/bindings/node/binding.cc deleted file mode 100644 index 0f9c091..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/bindings/node/binding.cc +++ /dev/null @@ -1,28 +0,0 @@ -#include "tree_sitter/parser.h" -#include <node.h> -#include "nan.h" - -using namespace v8; - -extern "C" TSLanguage * tree_sitter_baba_yaga(); - -namespace { - -NAN_METHOD(New) {} - -void Init(Local<Object> exports, Local<Object> module) { - Local<FunctionTemplate> tpl = Nan::New<FunctionTemplate>(New); - tpl->SetClassName(Nan::New("Language").ToLocalChecked()); - tpl->InstanceTemplate()->SetInternalFieldCount(1); - - Local<Function> constructor = Nan::GetFunction(tpl).ToLocalChecked(); - Local<Object> instance = constructor->NewInstance(Nan::GetCurrentContext()).ToLocalChecked(); - Nan::SetInternalFieldPointer(instance, 0, tree_sitter_baba_yaga()); - - Nan::Set(instance, Nan::New("name").ToLocalChecked(), Nan::New("baba_yaga").ToLocalChecked()); - Nan::Set(module, Nan::New("exports").ToLocalChecked(), instance); -} - -NODE_MODULE(tree_sitter_baba_yaga_binding, Init) - -} // namespace diff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/bindings/node/index.js b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/bindings/node/index.js deleted file mode 100644 index c0834d2..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/bindings/node/index.js +++ /dev/null @@ -1,19 +0,0 @@ -try { - module.exports = require("../../build/Release/tree_sitter_baba_yaga_binding"); -} catch (error1) { - if (error1.code !== 'MODULE_NOT_FOUND') { - throw error1; - } - try { - module.exports = require("../../build/Debug/tree_sitter_baba_yaga_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/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/bindings/rust/build.rs b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/bindings/rust/build.rs deleted file mode 100644 index c6061f0..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/bindings/rust/build.rs +++ /dev/null @@ -1,40 +0,0 @@ -fn main() { - let src_dir = std::path::Path::new("src"); - - let mut c_config = cc::Build::new(); - c_config.include(&src_dir); - c_config - .flag_if_supported("-Wno-unused-parameter") - .flag_if_supported("-Wno-unused-but-set-variable") - .flag_if_supported("-Wno-trigraphs"); - 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/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/bindings/rust/lib.rs b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/bindings/rust/lib.rs deleted file mode 100644 index ee044e3..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/bindings/rust/lib.rs +++ /dev/null @@ -1,52 +0,0 @@ -//! This crate provides baba_yaga 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_baba_yaga::language()).expect("Error loading baba_yaga 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_baba_yaga() -> 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_baba_yaga() } -} - -/// 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 baba_yaga language"); - } -} diff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/grammar.js b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/grammar.js deleted file mode 100644 index dd6e89e..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/grammar.js +++ /dev/null @@ -1,349 +0,0 @@ -const PREC = { - COMMENT: 1, - STRING: 2, - NUMBER: 3, - IDENTIFIER: 4, - FUNCTION_CALL: 5, - MEMBER_ACCESS: 6, - UNARY: 7, - MULTIPLICATIVE: 8, - ADDITIVE: 9, - COMPARISON: 10, - EQUALITY: 11, - LOGICAL_AND: 12, - LOGICAL_OR: 13, - LOGICAL_XOR: 14, - FUNCTION: 15, - WHEN: 16, - ASSIGNMENT: 17, - SEQUENCE: 18, -}; - -module.exports = grammar({ - name: 'baba_yaga', - - extras: $ => [ - /\s/, - $.comment - ], - - conflicts: $ => [ - [$.function_definition, $.function_call] - ], - - rules: { - // Main program structure - program: $ => repeat($._statement), - - // Statements - _statement: $ => choice( - $.function_definition, - $.function_implementation, - $.when_expression, - $.expression_statement, - $.comment - ), - - // Function definitions - function_definition: $ => seq( - field('name', $.identifier), - ':', - field('parameters', $.parameter_list), - '->', - field('return_type', $._type), - ';' - ), - - // Function implementations - function_implementation: $ => seq( - field('name', $.identifier), - field('parameters', repeat1($.identifier)), - '->', - field('body', $._expression), - ';' - ), - - parameter_list: $ => choice( - seq('(', ')'), - seq('(', commaSep($._parameter), ')'), - $._parameter - ), - - _parameter: $ => choice( - $.identifier, - $.typed_parameter - ), - - typed_parameter: $ => seq( - field('name', $.identifier), - ':', - field('type', $._type) - ), - - // When expressions (pattern matching) - when_expression: $ => seq( - 'when', - field('subject', $._expression), - 'is', - field('patterns', repeat1($.when_pattern)), - ';' - ), - - when_pattern: $ => seq( - field('pattern', $._pattern), - 'then', - field('result', $._expression) - ), - - _pattern: $ => choice( - $.string, - $.number, - $.boolean, - $.result_pattern, - $.wildcard_pattern, - $.list_pattern, - $.table_pattern, - $.identifier - ), - - result_pattern: $ => choice( - seq('Ok', $._pattern), - seq('Err', $._pattern) - ), - - wildcard_pattern: $ => '_', - - list_pattern: $ => seq( - '[', - commaSep($._pattern), - ']' - ), - - table_pattern: $ => seq( - '{', - commaSep($.table_field_pattern), - '}' - ), - - table_field_pattern: $ => seq( - field('key', $.identifier), - ':', - field('value', $._pattern) - ), - - // Expressions - _expression: $ => choice( - $.function_call, - $.member_access, - $.binary_expression, - $.unary_expression, - $.parenthesized_expression, - $.list_expression, - $.table_expression, - $.identifier, - $.literal - ), - - // Function calls - function_call: $ => seq( - field('function', choice($.identifier, $.member_access)), - '(', - commaSep($._expression), - ')' - ), - - // Member access (e.g., str.concat, math.abs) - member_access: $ => seq( - field('object', $.identifier), - '.', - field('member', $.identifier) - ), - - // Binary expressions - binary_expression: $ => choice( - // Arithmetic - prec.left(PREC.ADDITIVE, seq( - field('left', $._expression), - choice('+', '-'), - field('right', $._expression) - )), - prec.left(PREC.MULTIPLICATIVE, seq( - field('left', $._expression), - choice('*', '/', '%'), - field('right', $._expression) - )), - // Comparison - prec.left(PREC.COMPARISON, seq( - field('left', $._expression), - choice('>', '<', '>=', '<='), - field('right', $._expression) - )), - // Equality - prec.left(PREC.EQUALITY, seq( - field('left', $._expression), - choice('=', '!='), - field('right', $._expression) - )), - // Logical - prec.left(PREC.LOGICAL_AND, seq( - field('left', $._expression), - 'and', - field('right', $._expression) - )), - prec.left(PREC.LOGICAL_OR, seq( - field('left', $._expression), - 'or', - field('right', $._expression) - )), - prec.left(PREC.LOGICAL_XOR, seq( - field('left', $._expression), - 'xor', - field('right', $._expression) - )), - // String concatenation - prec.left(PREC.ADDITIVE, seq( - field('left', $._expression), - '..', - field('right', $._expression) - )) - ), - - // Unary expressions - unary_expression: $ => prec(PREC.UNARY, seq( - choice('+', '-'), - field('operand', $._expression) - )), - - // Parenthesized expressions - parenthesized_expression: $ => seq( - '(', - $._expression, - ')' - ), - - // List expressions - list_expression: $ => seq( - '[', - commaSep($._expression), - ']' - ), - - // Table expressions - table_expression: $ => seq( - '{', - commaSep($.table_field), - '}' - ), - - table_field: $ => seq( - field('key', $.identifier), - ':', - field('value', $._expression) - ), - - // Expression statements - expression_statement: $ => seq( - $._expression, - ';' - ), - - // Types - _type: $ => choice( - $.primitive_type, - $.list_type, - $.table_type, - $.result_type, - $.function_type, - $.identifier - ), - - primitive_type: $ => choice( - 'Bool', - 'Int', - 'Float', - 'String', - 'Number' - ), - - list_type: $ => seq( - '[', - $._type, - ']' - ), - - table_type: $ => seq( - '{', - commaSep($.table_type_field), - '}' - ), - - table_type_field: $ => seq( - field('key', $.identifier), - ':', - field('value', $._type) - ), - - result_type: $ => seq( - 'Result', - '<', - $._type, - '>' - ), - - function_type: $ => prec.right(PREC.FUNCTION, seq( - $._type, - '->', - $._type - )), - // Literals - literal: $ => choice( - $.string, - $.number, - $.boolean, - $.constant - ), - - string: $ => seq( - '"', - repeat(choice( - /[^"\\]/, - $.escape_sequence - )), - '"' - ), - - escape_sequence: $ => seq( - '\\', - choice( - /[\\"nrt]/, - /u[0-9a-fA-F]{4}/ - ) - ), - - number: $ => choice( - /[0-9]+/, - /[0-9]+\.[0-9]+/ - ), - - boolean: $ => choice('true', 'false'), - - constant: $ => choice('PI', 'INFINITY'), - - // Identifiers - identifier: $ => /[a-zA-Z_][a-zA-Z0-9_]*/, - - // Comments - comment: $ => seq( - '//', - /.*/ - ) - } -}); - -function commaSep(rule) { - return optional(commaSep1(rule)); -} - -function commaSep1(rule) { - return seq(rule, repeat(seq(',', rule))); -} diff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/package-lock.json b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/package-lock.json deleted file mode 100644 index bf12190..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/package-lock.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "tree-sitter-baba-yaga", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "tree-sitter-baba-yaga", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "tree-sitter": "^0.25.0" - }, - "devDependencies": { - "tree-sitter-cli": "^0.20.8" - } - }, - "node_modules/node-addon-api": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.5.0.tgz", - "integrity": "sha512-/bRZty2mXUIFY/xU5HLvveNHlswNJej+RnxBjOMkidWfwZzgTbPG1E3K5TOxRLOR+5hX7bSofy8yf1hZevMS8A==", - "engines": { - "node": "^18 || ^20 || >= 21" - } - }, - "node_modules/node-gyp-build": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", - "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/tree-sitter": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.25.0.tgz", - "integrity": "sha512-PGZZzFW63eElZJDe/b/R/LbsjDDYJa5UEjLZJB59RQsMX+fo0j54fqBPn1MGKav/QNa0JR0zBiVaikYDWCj5KQ==", - "hasInstallScript": true, - "dependencies": { - "node-addon-api": "^8.3.0", - "node-gyp-build": "^4.8.4" - } - }, - "node_modules/tree-sitter-cli": { - "version": "0.20.8", - "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.20.8.tgz", - "integrity": "sha512-XjTcS3wdTy/2cc/ptMLc/WRyOLECRYcMTrSWyhZnj1oGSOWbHLTklgsgRICU3cPfb0vy+oZCC33M43u6R1HSCA==", - "dev": true, - "hasInstallScript": true, - "bin": { - "tree-sitter": "cli.js" - } - } - } -} diff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/package.json b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/package.json deleted file mode 100644 index dc69fa1..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "tree-sitter-baba-yaga", - "version": "1.0.0", - "description": "Tree-sitter grammar for Baba Yaga programming language", - "main": "grammar.js", - "scripts": { - "generate": "tree-sitter generate", - "test": "tree-sitter test", - "parse": "tree-sitter parse", - "build": "npm run generate && npm run test" - }, - "devDependencies": { - "tree-sitter-cli": "^0.20.8" - }, - "repository": { - "type": "git", - "url": "https://github.com/baba-yaga/tree-sitter-baba-yaga.git" - }, - "keywords": [ - "tree-sitter", - "baba-yaga", - "grammar", - "parser" - ], - "author": "Baba Yaga Language Team", - "license": "MIT", - "dependencies": { - "tree-sitter": "^0.25.0" - } -} - diff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/grammar.json b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/grammar.json deleted file mode 100644 index 544a6c5..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/grammar.json +++ /dev/null @@ -1,1399 +0,0 @@ -{ - "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json", - "name": "baba_yaga", - "rules": { - "program": { - "type": "REPEAT", - "content": { - "type": "SYMBOL", - "name": "_statement" - } - }, - "_statement": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "function_definition" - }, - { - "type": "SYMBOL", - "name": "function_implementation" - }, - { - "type": "SYMBOL", - "name": "when_expression" - }, - { - "type": "SYMBOL", - "name": "expression_statement" - }, - { - "type": "SYMBOL", - "name": "comment" - } - ] - }, - "function_definition": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "name", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "STRING", - "value": ":" - }, - { - "type": "FIELD", - "name": "parameters", - "content": { - "type": "SYMBOL", - "name": "parameter_list" - } - }, - { - "type": "STRING", - "value": "->" - }, - { - "type": "FIELD", - "name": "return_type", - "content": { - "type": "SYMBOL", - "name": "_type" - } - }, - { - "type": "STRING", - "value": ";" - } - ] - }, - "function_implementation": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "name", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "FIELD", - "name": "parameters", - "content": { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - } - }, - { - "type": "STRING", - "value": "->" - }, - { - "type": "FIELD", - "name": "body", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "STRING", - "value": ";" - } - ] - }, - "parameter_list": { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "(" - }, - { - "type": "STRING", - "value": ")" - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "(" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_parameter" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "_parameter" - } - ] - } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": ")" - } - ] - }, - { - "type": "SYMBOL", - "name": "_parameter" - } - ] - }, - "_parameter": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "identifier" - }, - { - "type": "SYMBOL", - "name": "typed_parameter" - } - ] - }, - "typed_parameter": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "name", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "STRING", - "value": ":" - }, - { - "type": "FIELD", - "name": "type", - "content": { - "type": "SYMBOL", - "name": "_type" - } - } - ] - }, - "when_expression": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "when" - }, - { - "type": "FIELD", - "name": "subject", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "STRING", - "value": "is" - }, - { - "type": "FIELD", - "name": "patterns", - "content": { - "type": "REPEAT1", - "content": { - "type": "SYMBOL", - "name": "when_pattern" - } - } - }, - { - "type": "STRING", - "value": ";" - } - ] - }, - "when_pattern": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "pattern", - "content": { - "type": "SYMBOL", - "name": "_pattern" - } - }, - { - "type": "STRING", - "value": "then" - }, - { - "type": "FIELD", - "name": "result", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - }, - "_pattern": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "string" - }, - { - "type": "SYMBOL", - "name": "number" - }, - { - "type": "SYMBOL", - "name": "boolean" - }, - { - "type": "SYMBOL", - "name": "result_pattern" - }, - { - "type": "SYMBOL", - "name": "wildcard_pattern" - }, - { - "type": "SYMBOL", - "name": "list_pattern" - }, - { - "type": "SYMBOL", - "name": "table_pattern" - }, - { - "type": "SYMBOL", - "name": "identifier" - } - ] - }, - "result_pattern": { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "Ok" - }, - { - "type": "SYMBOL", - "name": "_pattern" - } - ] - }, - { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "Err" - }, - { - "type": "SYMBOL", - "name": "_pattern" - } - ] - } - ] - }, - "wildcard_pattern": { - "type": "STRING", - "value": "_" - }, - "list_pattern": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "[" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_pattern" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "_pattern" - } - ] - } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": "]" - } - ] - }, - "table_pattern": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "{" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "table_field_pattern" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "table_field_pattern" - } - ] - } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": "}" - } - ] - }, - "table_field_pattern": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "key", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "STRING", - "value": ":" - }, - { - "type": "FIELD", - "name": "value", - "content": { - "type": "SYMBOL", - "name": "_pattern" - } - } - ] - }, - "_expression": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "function_call" - }, - { - "type": "SYMBOL", - "name": "member_access" - }, - { - "type": "SYMBOL", - "name": "binary_expression" - }, - { - "type": "SYMBOL", - "name": "unary_expression" - }, - { - "type": "SYMBOL", - "name": "parenthesized_expression" - }, - { - "type": "SYMBOL", - "name": "list_expression" - }, - { - "type": "SYMBOL", - "name": "table_expression" - }, - { - "type": "SYMBOL", - "name": "identifier" - }, - { - "type": "SYMBOL", - "name": "literal" - } - ] - }, - "function_call": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "function", - "content": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "identifier" - }, - { - "type": "SYMBOL", - "name": "member_access" - } - ] - } - }, - { - "type": "STRING", - "value": "(" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_expression" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "_expression" - } - ] - } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": ")" - } - ] - }, - "member_access": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "object", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "STRING", - "value": "." - }, - { - "type": "FIELD", - "name": "member", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - } - ] - }, - "binary_expression": { - "type": "CHOICE", - "members": [ - { - "type": "PREC_LEFT", - "value": 9, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "+" - }, - { - "type": "STRING", - "value": "-" - } - ] - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 8, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "*" - }, - { - "type": "STRING", - "value": "/" - }, - { - "type": "STRING", - "value": "%" - } - ] - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 10, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": ">" - }, - { - "type": "STRING", - "value": "<" - }, - { - "type": "STRING", - "value": ">=" - }, - { - "type": "STRING", - "value": "<=" - } - ] - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 11, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "=" - }, - { - "type": "STRING", - "value": "!=" - } - ] - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 12, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "STRING", - "value": "and" - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 13, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "STRING", - "value": "or" - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 14, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "STRING", - "value": "xor" - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - }, - { - "type": "PREC_LEFT", - "value": 9, - "content": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "left", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - }, - { - "type": "STRING", - "value": ".." - }, - { - "type": "FIELD", - "name": "right", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - } - ] - }, - "unary_expression": { - "type": "PREC", - "value": 7, - "content": { - "type": "SEQ", - "members": [ - { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "+" - }, - { - "type": "STRING", - "value": "-" - } - ] - }, - { - "type": "FIELD", - "name": "operand", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - } - }, - "parenthesized_expression": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "(" - }, - { - "type": "SYMBOL", - "name": "_expression" - }, - { - "type": "STRING", - "value": ")" - } - ] - }, - "list_expression": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "[" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_expression" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "_expression" - } - ] - } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": "]" - } - ] - }, - "table_expression": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "{" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "table_field" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "table_field" - } - ] - } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": "}" - } - ] - }, - "table_field": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "key", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "STRING", - "value": ":" - }, - { - "type": "FIELD", - "name": "value", - "content": { - "type": "SYMBOL", - "name": "_expression" - } - } - ] - }, - "expression_statement": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_expression" - }, - { - "type": "STRING", - "value": ";" - } - ] - }, - "_type": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "primitive_type" - }, - { - "type": "SYMBOL", - "name": "list_type" - }, - { - "type": "SYMBOL", - "name": "table_type" - }, - { - "type": "SYMBOL", - "name": "result_type" - }, - { - "type": "SYMBOL", - "name": "function_type" - }, - { - "type": "SYMBOL", - "name": "identifier" - } - ] - }, - "primitive_type": { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "Bool" - }, - { - "type": "STRING", - "value": "Int" - }, - { - "type": "STRING", - "value": "Float" - }, - { - "type": "STRING", - "value": "String" - }, - { - "type": "STRING", - "value": "Number" - } - ] - }, - "list_type": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "[" - }, - { - "type": "SYMBOL", - "name": "_type" - }, - { - "type": "STRING", - "value": "]" - } - ] - }, - "table_type": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "{" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "table_type_field" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "table_type_field" - } - ] - } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": "}" - } - ] - }, - "table_type_field": { - "type": "SEQ", - "members": [ - { - "type": "FIELD", - "name": "key", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "STRING", - "value": ":" - }, - { - "type": "FIELD", - "name": "value", - "content": { - "type": "SYMBOL", - "name": "_type" - } - } - ] - }, - "result_type": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "Result" - }, - { - "type": "STRING", - "value": "<" - }, - { - "type": "SYMBOL", - "name": "_type" - }, - { - "type": "STRING", - "value": ">" - } - ] - }, - "function_type": { - "type": "PREC_RIGHT", - "value": 15, - "content": { - "type": "SEQ", - "members": [ - { - "type": "SYMBOL", - "name": "_type" - }, - { - "type": "STRING", - "value": "->" - }, - { - "type": "SYMBOL", - "name": "_type" - } - ] - } - }, - "literal": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "string" - }, - { - "type": "SYMBOL", - "name": "number" - }, - { - "type": "SYMBOL", - "name": "boolean" - }, - { - "type": "SYMBOL", - "name": "constant" - } - ] - }, - "string": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "\"" - }, - { - "type": "REPEAT", - "content": { - "type": "CHOICE", - "members": [ - { - "type": "PATTERN", - "value": "[^\"\\\\]" - }, - { - "type": "SYMBOL", - "name": "escape_sequence" - } - ] - } - }, - { - "type": "STRING", - "value": "\"" - } - ] - }, - "escape_sequence": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "\\" - }, - { - "type": "CHOICE", - "members": [ - { - "type": "PATTERN", - "value": "[\\\\\"nrt]" - }, - { - "type": "PATTERN", - "value": "u[0-9a-fA-F]{4}" - } - ] - } - ] - }, - "number": { - "type": "CHOICE", - "members": [ - { - "type": "PATTERN", - "value": "[0-9]+" - }, - { - "type": "PATTERN", - "value": "[0-9]+\\.[0-9]+" - } - ] - }, - "boolean": { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "true" - }, - { - "type": "STRING", - "value": "false" - } - ] - }, - "constant": { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "PI" - }, - { - "type": "STRING", - "value": "INFINITY" - } - ] - }, - "identifier": { - "type": "PATTERN", - "value": "[a-zA-Z_][a-zA-Z0-9_]*" - }, - "comment": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "//" - }, - { - "type": "PATTERN", - "value": ".*" - } - ] - } - }, - "extras": [ - { - "type": "PATTERN", - "value": "\\s" - }, - { - "type": "SYMBOL", - "name": "comment" - } - ], - "conflicts": [ - [ - "function_definition", - "function_call" - ] - ], - "precedences": [], - "externals": [], - "inline": [], - "supertypes": [], - "reserved": {} -} \ No newline at end of file diff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/node-types.json b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/node-types.json deleted file mode 100644 index da7aae4..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/node-types.json +++ /dev/null @@ -1,1385 +0,0 @@ -[ - { - "type": "binary_expression", - "named": true, - "fields": { - "left": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - }, - "right": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - } - } - }, - { - "type": "boolean", - "named": true, - "fields": {} - }, - { - "type": "comment", - "named": true, - "extra": true, - "fields": {} - }, - { - "type": "constant", - "named": true, - "fields": {} - }, - { - "type": "escape_sequence", - "named": true, - "fields": {} - }, - { - "type": "expression_statement", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - } - }, - { - "type": "function_call", - "named": true, - "fields": { - "function": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - }, - { - "type": "member_access", - "named": true - } - ] - } - }, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - } - }, - { - "type": "function_definition", - "named": true, - "fields": { - "name": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, - "parameters": { - "multiple": false, - "required": true, - "types": [ - { - "type": "parameter_list", - "named": true - } - ] - }, - "return_type": { - "multiple": false, - "required": true, - "types": [ - { - "type": "function_type", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_type", - "named": true - }, - { - "type": "primitive_type", - "named": true - }, - { - "type": "result_type", - "named": true - }, - { - "type": "table_type", - "named": true - } - ] - } - } - }, - { - "type": "function_implementation", - "named": true, - "fields": { - "body": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - }, - "name": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, - "parameters": { - "multiple": true, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - } - } - }, - { - "type": "function_type", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": true, - "types": [ - { - "type": "function_type", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_type", - "named": true - }, - { - "type": "primitive_type", - "named": true - }, - { - "type": "result_type", - "named": true - }, - { - "type": "table_type", - "named": true - } - ] - } - }, - { - "type": "list_expression", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - } - }, - { - "type": "list_pattern", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "boolean", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_pattern", - "named": true - }, - { - "type": "number", - "named": true - }, - { - "type": "result_pattern", - "named": true - }, - { - "type": "string", - "named": true - }, - { - "type": "table_pattern", - "named": true - }, - { - "type": "wildcard_pattern", - "named": true - } - ] - } - }, - { - "type": "list_type", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ - { - "type": "function_type", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_type", - "named": true - }, - { - "type": "primitive_type", - "named": true - }, - { - "type": "result_type", - "named": true - }, - { - "type": "table_type", - "named": true - } - ] - } - }, - { - "type": "literal", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ - { - "type": "boolean", - "named": true - }, - { - "type": "constant", - "named": true - }, - { - "type": "number", - "named": true - }, - { - "type": "string", - "named": true - } - ] - } - }, - { - "type": "member_access", - "named": true, - "fields": { - "member": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, - "object": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - } - } - }, - { - "type": "number", - "named": true, - "fields": {} - }, - { - "type": "parameter_list", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "identifier", - "named": true - }, - { - "type": "typed_parameter", - "named": true - } - ] - } - }, - { - "type": "parenthesized_expression", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - } - }, - { - "type": "primitive_type", - "named": true, - "fields": {} - }, - { - "type": "program", - "named": true, - "root": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "comment", - "named": true - }, - { - "type": "expression_statement", - "named": true - }, - { - "type": "function_definition", - "named": true - }, - { - "type": "function_implementation", - "named": true - }, - { - "type": "when_expression", - "named": true - } - ] - } - }, - { - "type": "result_pattern", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ - { - "type": "boolean", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_pattern", - "named": true - }, - { - "type": "number", - "named": true - }, - { - "type": "result_pattern", - "named": true - }, - { - "type": "string", - "named": true - }, - { - "type": "table_pattern", - "named": true - }, - { - "type": "wildcard_pattern", - "named": true - } - ] - } - }, - { - "type": "result_type", - "named": true, - "fields": {}, - "children": { - "multiple": false, - "required": true, - "types": [ - { - "type": "function_type", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_type", - "named": true - }, - { - "type": "primitive_type", - "named": true - }, - { - "type": "result_type", - "named": true - }, - { - "type": "table_type", - "named": true - } - ] - } - }, - { - "type": "string", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "escape_sequence", - "named": true - } - ] - } - }, - { - "type": "table_expression", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "table_field", - "named": true - } - ] - } - }, - { - "type": "table_field", - "named": true, - "fields": { - "key": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, - "value": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - } - } - }, - { - "type": "table_field_pattern", - "named": true, - "fields": { - "key": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, - "value": { - "multiple": false, - "required": true, - "types": [ - { - "type": "boolean", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_pattern", - "named": true - }, - { - "type": "number", - "named": true - }, - { - "type": "result_pattern", - "named": true - }, - { - "type": "string", - "named": true - }, - { - "type": "table_pattern", - "named": true - }, - { - "type": "wildcard_pattern", - "named": true - } - ] - } - } - }, - { - "type": "table_pattern", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "table_field_pattern", - "named": true - } - ] - } - }, - { - "type": "table_type", - "named": true, - "fields": {}, - "children": { - "multiple": true, - "required": false, - "types": [ - { - "type": "table_type_field", - "named": true - } - ] - } - }, - { - "type": "table_type_field", - "named": true, - "fields": { - "key": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, - "value": { - "multiple": false, - "required": true, - "types": [ - { - "type": "function_type", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_type", - "named": true - }, - { - "type": "primitive_type", - "named": true - }, - { - "type": "result_type", - "named": true - }, - { - "type": "table_type", - "named": true - } - ] - } - } - }, - { - "type": "typed_parameter", - "named": true, - "fields": { - "name": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - }, - "type": { - "multiple": false, - "required": true, - "types": [ - { - "type": "function_type", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_type", - "named": true - }, - { - "type": "primitive_type", - "named": true - }, - { - "type": "result_type", - "named": true - }, - { - "type": "table_type", - "named": true - } - ] - } - } - }, - { - "type": "unary_expression", - "named": true, - "fields": { - "operand": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - } - } - }, - { - "type": "when_expression", - "named": true, - "fields": { - "patterns": { - "multiple": true, - "required": true, - "types": [ - { - "type": "when_pattern", - "named": true - } - ] - }, - "subject": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "named": true - } - ] - } - } - }, - { - "type": "when_pattern", - "named": true, - "fields": { - "pattern": { - "multiple": false, - "required": true, - "types": [ - { - "type": "boolean", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_pattern", - "named": true - }, - { - "type": "number", - "named": true - }, - { - "type": "result_pattern", - "named": true - }, - { - "type": "string", - "named": true - }, - { - "type": "table_pattern", - "named": true - }, - { - "type": "wildcard_pattern", - "named": true - } - ] - }, - "result": { - "multiple": false, - "required": true, - "types": [ - { - "type": "binary_expression", - "named": true - }, - { - "type": "function_call", - "named": true - }, - { - "type": "identifier", - "named": true - }, - { - "type": "list_expression", - "named": true - }, - { - "type": "literal", - "named": true - }, - { - "type": "member_access", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "table_expression", - "named": true - }, - { - "type": "unary_expression", - "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": "Bool", - "named": false - }, - { - "type": "Err", - "named": false - }, - { - "type": "Float", - "named": false - }, - { - "type": "INFINITY", - "named": false - }, - { - "type": "Int", - "named": false - }, - { - "type": "Number", - "named": false - }, - { - "type": "Ok", - "named": false - }, - { - "type": "PI", - "named": false - }, - { - "type": "Result", - "named": false - }, - { - "type": "String", - "named": false - }, - { - "type": "[", - "named": false - }, - { - "type": "\\", - "named": false - }, - { - "type": "]", - "named": false - }, - { - "type": "and", - "named": false - }, - { - "type": "false", - "named": false - }, - { - "type": "identifier", - "named": true - }, - { - "type": "is", - "named": false - }, - { - "type": "or", - "named": false - }, - { - "type": "then", - "named": false - }, - { - "type": "true", - "named": false - }, - { - "type": "when", - "named": false - }, - { - "type": "wildcard_pattern", - "named": true - }, - { - "type": "xor", - "named": false - }, - { - "type": "{", - "named": false - }, - { - "type": "}", - "named": false - } -] \ No newline at end of file diff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/parser.c b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/parser.c deleted file mode 100644 index 0cdab65..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/parser.c +++ /dev/null @@ -1,8039 +0,0 @@ -/* Automatically @generated by tree-sitter v0.25.8 */ - -#include "tree_sitter/parser.h" - -#if defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic ignored "-Wmissing-field-initializers" -#endif - -#define LANGUAGE_VERSION 14 -#define STATE_COUNT 207 -#define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 101 -#define ALIAS_COUNT 0 -#define TOKEN_COUNT 53 -#define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 17 -#define MAX_ALIAS_SEQUENCE_LENGTH 6 -#define MAX_RESERVED_WORD_SET_SIZE 0 -#define PRODUCTION_ID_COUNT 11 -#define SUPERTYPE_COUNT 0 - -enum ts_symbol_identifiers { - anon_sym_COLON = 1, - anon_sym_DASH_GT = 2, - anon_sym_SEMI = 3, - anon_sym_LPAREN = 4, - anon_sym_RPAREN = 5, - anon_sym_COMMA = 6, - anon_sym_when = 7, - anon_sym_is = 8, - anon_sym_then = 9, - anon_sym_Ok = 10, - anon_sym_Err = 11, - sym_wildcard_pattern = 12, - anon_sym_LBRACK = 13, - anon_sym_RBRACK = 14, - anon_sym_LBRACE = 15, - anon_sym_RBRACE = 16, - anon_sym_DOT = 17, - anon_sym_PLUS = 18, - anon_sym_DASH = 19, - anon_sym_STAR = 20, - anon_sym_SLASH = 21, - anon_sym_PERCENT = 22, - anon_sym_GT = 23, - anon_sym_LT = 24, - anon_sym_GT_EQ = 25, - anon_sym_LT_EQ = 26, - anon_sym_EQ = 27, - anon_sym_BANG_EQ = 28, - anon_sym_and = 29, - anon_sym_or = 30, - anon_sym_xor = 31, - anon_sym_DOT_DOT = 32, - anon_sym_Bool = 33, - anon_sym_Int = 34, - anon_sym_Float = 35, - anon_sym_String = 36, - anon_sym_Number = 37, - anon_sym_Result = 38, - anon_sym_DQUOTE = 39, - aux_sym_string_token1 = 40, - anon_sym_BSLASH = 41, - aux_sym_escape_sequence_token1 = 42, - aux_sym_escape_sequence_token2 = 43, - aux_sym_number_token1 = 44, - aux_sym_number_token2 = 45, - anon_sym_true = 46, - anon_sym_false = 47, - anon_sym_PI = 48, - anon_sym_INFINITY = 49, - sym_identifier = 50, - anon_sym_SLASH_SLASH = 51, - aux_sym_comment_token1 = 52, - sym_program = 53, - sym__statement = 54, - sym_function_definition = 55, - sym_function_implementation = 56, - sym_parameter_list = 57, - sym__parameter = 58, - sym_typed_parameter = 59, - sym_when_expression = 60, - sym_when_pattern = 61, - sym__pattern = 62, - sym_result_pattern = 63, - sym_list_pattern = 64, - sym_table_pattern = 65, - sym_table_field_pattern = 66, - sym__expression = 67, - sym_function_call = 68, - sym_member_access = 69, - sym_binary_expression = 70, - sym_unary_expression = 71, - sym_parenthesized_expression = 72, - sym_list_expression = 73, - sym_table_expression = 74, - sym_table_field = 75, - sym_expression_statement = 76, - sym__type = 77, - sym_primitive_type = 78, - sym_list_type = 79, - sym_table_type = 80, - sym_table_type_field = 81, - sym_result_type = 82, - sym_function_type = 83, - sym_literal = 84, - sym_string = 85, - sym_escape_sequence = 86, - sym_number = 87, - sym_boolean = 88, - sym_constant = 89, - sym_comment = 90, - aux_sym_program_repeat1 = 91, - aux_sym_function_implementation_repeat1 = 92, - aux_sym_parameter_list_repeat1 = 93, - aux_sym_when_expression_repeat1 = 94, - aux_sym_list_pattern_repeat1 = 95, - aux_sym_table_pattern_repeat1 = 96, - aux_sym_function_call_repeat1 = 97, - aux_sym_table_expression_repeat1 = 98, - aux_sym_table_type_repeat1 = 99, - aux_sym_string_repeat1 = 100, -}; - -static const char * const ts_symbol_names[] = { - [ts_builtin_sym_end] = "end", - [anon_sym_COLON] = ":", - [anon_sym_DASH_GT] = "->", - [anon_sym_SEMI] = ";", - [anon_sym_LPAREN] = "(", - [anon_sym_RPAREN] = ")", - [anon_sym_COMMA] = ",", - [anon_sym_when] = "when", - [anon_sym_is] = "is", - [anon_sym_then] = "then", - [anon_sym_Ok] = "Ok", - [anon_sym_Err] = "Err", - [sym_wildcard_pattern] = "wildcard_pattern", - [anon_sym_LBRACK] = "[", - [anon_sym_RBRACK] = "]", - [anon_sym_LBRACE] = "{", - [anon_sym_RBRACE] = "}", - [anon_sym_DOT] = ".", - [anon_sym_PLUS] = "+", - [anon_sym_DASH] = "-", - [anon_sym_STAR] = "*", - [anon_sym_SLASH] = "/", - [anon_sym_PERCENT] = "%", - [anon_sym_GT] = ">", - [anon_sym_LT] = "<", - [anon_sym_GT_EQ] = ">=", - [anon_sym_LT_EQ] = "<=", - [anon_sym_EQ] = "=", - [anon_sym_BANG_EQ] = "!=", - [anon_sym_and] = "and", - [anon_sym_or] = "or", - [anon_sym_xor] = "xor", - [anon_sym_DOT_DOT] = "..", - [anon_sym_Bool] = "Bool", - [anon_sym_Int] = "Int", - [anon_sym_Float] = "Float", - [anon_sym_String] = "String", - [anon_sym_Number] = "Number", - [anon_sym_Result] = "Result", - [anon_sym_DQUOTE] = "\"", - [aux_sym_string_token1] = "string_token1", - [anon_sym_BSLASH] = "\\", - [aux_sym_escape_sequence_token1] = "escape_sequence_token1", - [aux_sym_escape_sequence_token2] = "escape_sequence_token2", - [aux_sym_number_token1] = "number_token1", - [aux_sym_number_token2] = "number_token2", - [anon_sym_true] = "true", - [anon_sym_false] = "false", - [anon_sym_PI] = "PI", - [anon_sym_INFINITY] = "INFINITY", - [sym_identifier] = "identifier", - [anon_sym_SLASH_SLASH] = "//", - [aux_sym_comment_token1] = "comment_token1", - [sym_program] = "program", - [sym__statement] = "_statement", - [sym_function_definition] = "function_definition", - [sym_function_implementation] = "function_implementation", - [sym_parameter_list] = "parameter_list", - [sym__parameter] = "_parameter", - [sym_typed_parameter] = "typed_parameter", - [sym_when_expression] = "when_expression", - [sym_when_pattern] = "when_pattern", - [sym__pattern] = "_pattern", - [sym_result_pattern] = "result_pattern", - [sym_list_pattern] = "list_pattern", - [sym_table_pattern] = "table_pattern", - [sym_table_field_pattern] = "table_field_pattern", - [sym__expression] = "_expression", - [sym_function_call] = "function_call", - [sym_member_access] = "member_access", - [sym_binary_expression] = "binary_expression", - [sym_unary_expression] = "unary_expression", - [sym_parenthesized_expression] = "parenthesized_expression", - [sym_list_expression] = "list_expression", - [sym_table_expression] = "table_expression", - [sym_table_field] = "table_field", - [sym_expression_statement] = "expression_statement", - [sym__type] = "_type", - [sym_primitive_type] = "primitive_type", - [sym_list_type] = "list_type", - [sym_table_type] = "table_type", - [sym_table_type_field] = "table_type_field", - [sym_result_type] = "result_type", - [sym_function_type] = "function_type", - [sym_literal] = "literal", - [sym_string] = "string", - [sym_escape_sequence] = "escape_sequence", - [sym_number] = "number", - [sym_boolean] = "boolean", - [sym_constant] = "constant", - [sym_comment] = "comment", - [aux_sym_program_repeat1] = "program_repeat1", - [aux_sym_function_implementation_repeat1] = "function_implementation_repeat1", - [aux_sym_parameter_list_repeat1] = "parameter_list_repeat1", - [aux_sym_when_expression_repeat1] = "when_expression_repeat1", - [aux_sym_list_pattern_repeat1] = "list_pattern_repeat1", - [aux_sym_table_pattern_repeat1] = "table_pattern_repeat1", - [aux_sym_function_call_repeat1] = "function_call_repeat1", - [aux_sym_table_expression_repeat1] = "table_expression_repeat1", - [aux_sym_table_type_repeat1] = "table_type_repeat1", - [aux_sym_string_repeat1] = "string_repeat1", -}; - -static const TSSymbol ts_symbol_map[] = { - [ts_builtin_sym_end] = ts_builtin_sym_end, - [anon_sym_COLON] = anon_sym_COLON, - [anon_sym_DASH_GT] = anon_sym_DASH_GT, - [anon_sym_SEMI] = anon_sym_SEMI, - [anon_sym_LPAREN] = anon_sym_LPAREN, - [anon_sym_RPAREN] = anon_sym_RPAREN, - [anon_sym_COMMA] = anon_sym_COMMA, - [anon_sym_when] = anon_sym_when, - [anon_sym_is] = anon_sym_is, - [anon_sym_then] = anon_sym_then, - [anon_sym_Ok] = anon_sym_Ok, - [anon_sym_Err] = anon_sym_Err, - [sym_wildcard_pattern] = sym_wildcard_pattern, - [anon_sym_LBRACK] = anon_sym_LBRACK, - [anon_sym_RBRACK] = anon_sym_RBRACK, - [anon_sym_LBRACE] = anon_sym_LBRACE, - [anon_sym_RBRACE] = anon_sym_RBRACE, - [anon_sym_DOT] = anon_sym_DOT, - [anon_sym_PLUS] = anon_sym_PLUS, - [anon_sym_DASH] = anon_sym_DASH, - [anon_sym_STAR] = anon_sym_STAR, - [anon_sym_SLASH] = anon_sym_SLASH, - [anon_sym_PERCENT] = anon_sym_PERCENT, - [anon_sym_GT] = anon_sym_GT, - [anon_sym_LT] = anon_sym_LT, - [anon_sym_GT_EQ] = anon_sym_GT_EQ, - [anon_sym_LT_EQ] = anon_sym_LT_EQ, - [anon_sym_EQ] = anon_sym_EQ, - [anon_sym_BANG_EQ] = anon_sym_BANG_EQ, - [anon_sym_and] = anon_sym_and, - [anon_sym_or] = anon_sym_or, - [anon_sym_xor] = anon_sym_xor, - [anon_sym_DOT_DOT] = anon_sym_DOT_DOT, - [anon_sym_Bool] = anon_sym_Bool, - [anon_sym_Int] = anon_sym_Int, - [anon_sym_Float] = anon_sym_Float, - [anon_sym_String] = anon_sym_String, - [anon_sym_Number] = anon_sym_Number, - [anon_sym_Result] = anon_sym_Result, - [anon_sym_DQUOTE] = anon_sym_DQUOTE, - [aux_sym_string_token1] = aux_sym_string_token1, - [anon_sym_BSLASH] = anon_sym_BSLASH, - [aux_sym_escape_sequence_token1] = aux_sym_escape_sequence_token1, - [aux_sym_escape_sequence_token2] = aux_sym_escape_sequence_token2, - [aux_sym_number_token1] = aux_sym_number_token1, - [aux_sym_number_token2] = aux_sym_number_token2, - [anon_sym_true] = anon_sym_true, - [anon_sym_false] = anon_sym_false, - [anon_sym_PI] = anon_sym_PI, - [anon_sym_INFINITY] = anon_sym_INFINITY, - [sym_identifier] = sym_identifier, - [anon_sym_SLASH_SLASH] = anon_sym_SLASH_SLASH, - [aux_sym_comment_token1] = aux_sym_comment_token1, - [sym_program] = sym_program, - [sym__statement] = sym__statement, - [sym_function_definition] = sym_function_definition, - [sym_function_implementation] = sym_function_implementation, - [sym_parameter_list] = sym_parameter_list, - [sym__parameter] = sym__parameter, - [sym_typed_parameter] = sym_typed_parameter, - [sym_when_expression] = sym_when_expression, - [sym_when_pattern] = sym_when_pattern, - [sym__pattern] = sym__pattern, - [sym_result_pattern] = sym_result_pattern, - [sym_list_pattern] = sym_list_pattern, - [sym_table_pattern] = sym_table_pattern, - [sym_table_field_pattern] = sym_table_field_pattern, - [sym__expression] = sym__expression, - [sym_function_call] = sym_function_call, - [sym_member_access] = sym_member_access, - [sym_binary_expression] = sym_binary_expression, - [sym_unary_expression] = sym_unary_expression, - [sym_parenthesized_expression] = sym_parenthesized_expression, - [sym_list_expression] = sym_list_expression, - [sym_table_expression] = sym_table_expression, - [sym_table_field] = sym_table_field, - [sym_expression_statement] = sym_expression_statement, - [sym__type] = sym__type, - [sym_primitive_type] = sym_primitive_type, - [sym_list_type] = sym_list_type, - [sym_table_type] = sym_table_type, - [sym_table_type_field] = sym_table_type_field, - [sym_result_type] = sym_result_type, - [sym_function_type] = sym_function_type, - [sym_literal] = sym_literal, - [sym_string] = sym_string, - [sym_escape_sequence] = sym_escape_sequence, - [sym_number] = sym_number, - [sym_boolean] = sym_boolean, - [sym_constant] = sym_constant, - [sym_comment] = sym_comment, - [aux_sym_program_repeat1] = aux_sym_program_repeat1, - [aux_sym_function_implementation_repeat1] = aux_sym_function_implementation_repeat1, - [aux_sym_parameter_list_repeat1] = aux_sym_parameter_list_repeat1, - [aux_sym_when_expression_repeat1] = aux_sym_when_expression_repeat1, - [aux_sym_list_pattern_repeat1] = aux_sym_list_pattern_repeat1, - [aux_sym_table_pattern_repeat1] = aux_sym_table_pattern_repeat1, - [aux_sym_function_call_repeat1] = aux_sym_function_call_repeat1, - [aux_sym_table_expression_repeat1] = aux_sym_table_expression_repeat1, - [aux_sym_table_type_repeat1] = aux_sym_table_type_repeat1, - [aux_sym_string_repeat1] = aux_sym_string_repeat1, -}; - -static const TSSymbolMetadata ts_symbol_metadata[] = { - [ts_builtin_sym_end] = { - .visible = false, - .named = true, - }, - [anon_sym_COLON] = { - .visible = true, - .named = false, - }, - [anon_sym_DASH_GT] = { - .visible = true, - .named = false, - }, - [anon_sym_SEMI] = { - .visible = true, - .named = false, - }, - [anon_sym_LPAREN] = { - .visible = true, - .named = false, - }, - [anon_sym_RPAREN] = { - .visible = true, - .named = false, - }, - [anon_sym_COMMA] = { - .visible = true, - .named = false, - }, - [anon_sym_when] = { - .visible = true, - .named = false, - }, - [anon_sym_is] = { - .visible = true, - .named = false, - }, - [anon_sym_then] = { - .visible = true, - .named = false, - }, - [anon_sym_Ok] = { - .visible = true, - .named = false, - }, - [anon_sym_Err] = { - .visible = true, - .named = false, - }, - [sym_wildcard_pattern] = { - .visible = true, - .named = true, - }, - [anon_sym_LBRACK] = { - .visible = true, - .named = false, - }, - [anon_sym_RBRACK] = { - .visible = true, - .named = false, - }, - [anon_sym_LBRACE] = { - .visible = true, - .named = false, - }, - [anon_sym_RBRACE] = { - .visible = true, - .named = false, - }, - [anon_sym_DOT] = { - .visible = true, - .named = false, - }, - [anon_sym_PLUS] = { - .visible = true, - .named = false, - }, - [anon_sym_DASH] = { - .visible = true, - .named = false, - }, - [anon_sym_STAR] = { - .visible = true, - .named = false, - }, - [anon_sym_SLASH] = { - .visible = true, - .named = false, - }, - [anon_sym_PERCENT] = { - .visible = true, - .named = false, - }, - [anon_sym_GT] = { - .visible = true, - .named = false, - }, - [anon_sym_LT] = { - .visible = true, - .named = false, - }, - [anon_sym_GT_EQ] = { - .visible = true, - .named = false, - }, - [anon_sym_LT_EQ] = { - .visible = true, - .named = false, - }, - [anon_sym_EQ] = { - .visible = true, - .named = false, - }, - [anon_sym_BANG_EQ] = { - .visible = true, - .named = false, - }, - [anon_sym_and] = { - .visible = true, - .named = false, - }, - [anon_sym_or] = { - .visible = true, - .named = false, - }, - [anon_sym_xor] = { - .visible = true, - .named = false, - }, - [anon_sym_DOT_DOT] = { - .visible = true, - .named = false, - }, - [anon_sym_Bool] = { - .visible = true, - .named = false, - }, - [anon_sym_Int] = { - .visible = true, - .named = false, - }, - [anon_sym_Float] = { - .visible = true, - .named = false, - }, - [anon_sym_String] = { - .visible = true, - .named = false, - }, - [anon_sym_Number] = { - .visible = true, - .named = false, - }, - [anon_sym_Result] = { - .visible = true, - .named = false, - }, - [anon_sym_DQUOTE] = { - .visible = true, - .named = false, - }, - [aux_sym_string_token1] = { - .visible = false, - .named = false, - }, - [anon_sym_BSLASH] = { - .visible = true, - .named = false, - }, - [aux_sym_escape_sequence_token1] = { - .visible = false, - .named = false, - }, - [aux_sym_escape_sequence_token2] = { - .visible = false, - .named = false, - }, - [aux_sym_number_token1] = { - .visible = false, - .named = false, - }, - [aux_sym_number_token2] = { - .visible = false, - .named = false, - }, - [anon_sym_true] = { - .visible = true, - .named = false, - }, - [anon_sym_false] = { - .visible = true, - .named = false, - }, - [anon_sym_PI] = { - .visible = true, - .named = false, - }, - [anon_sym_INFINITY] = { - .visible = true, - .named = false, - }, - [sym_identifier] = { - .visible = true, - .named = true, - }, - [anon_sym_SLASH_SLASH] = { - .visible = true, - .named = false, - }, - [aux_sym_comment_token1] = { - .visible = false, - .named = false, - }, - [sym_program] = { - .visible = true, - .named = true, - }, - [sym__statement] = { - .visible = false, - .named = true, - }, - [sym_function_definition] = { - .visible = true, - .named = true, - }, - [sym_function_implementation] = { - .visible = true, - .named = true, - }, - [sym_parameter_list] = { - .visible = true, - .named = true, - }, - [sym__parameter] = { - .visible = false, - .named = true, - }, - [sym_typed_parameter] = { - .visible = true, - .named = true, - }, - [sym_when_expression] = { - .visible = true, - .named = true, - }, - [sym_when_pattern] = { - .visible = true, - .named = true, - }, - [sym__pattern] = { - .visible = false, - .named = true, - }, - [sym_result_pattern] = { - .visible = true, - .named = true, - }, - [sym_list_pattern] = { - .visible = true, - .named = true, - }, - [sym_table_pattern] = { - .visible = true, - .named = true, - }, - [sym_table_field_pattern] = { - .visible = true, - .named = true, - }, - [sym__expression] = { - .visible = false, - .named = true, - }, - [sym_function_call] = { - .visible = true, - .named = true, - }, - [sym_member_access] = { - .visible = true, - .named = true, - }, - [sym_binary_expression] = { - .visible = true, - .named = true, - }, - [sym_unary_expression] = { - .visible = true, - .named = true, - }, - [sym_parenthesized_expression] = { - .visible = true, - .named = true, - }, - [sym_list_expression] = { - .visible = true, - .named = true, - }, - [sym_table_expression] = { - .visible = true, - .named = true, - }, - [sym_table_field] = { - .visible = true, - .named = true, - }, - [sym_expression_statement] = { - .visible = true, - .named = true, - }, - [sym__type] = { - .visible = false, - .named = true, - }, - [sym_primitive_type] = { - .visible = true, - .named = true, - }, - [sym_list_type] = { - .visible = true, - .named = true, - }, - [sym_table_type] = { - .visible = true, - .named = true, - }, - [sym_table_type_field] = { - .visible = true, - .named = true, - }, - [sym_result_type] = { - .visible = true, - .named = true, - }, - [sym_function_type] = { - .visible = true, - .named = true, - }, - [sym_literal] = { - .visible = true, - .named = true, - }, - [sym_string] = { - .visible = true, - .named = true, - }, - [sym_escape_sequence] = { - .visible = true, - .named = true, - }, - [sym_number] = { - .visible = true, - .named = true, - }, - [sym_boolean] = { - .visible = true, - .named = true, - }, - [sym_constant] = { - .visible = true, - .named = true, - }, - [sym_comment] = { - .visible = true, - .named = true, - }, - [aux_sym_program_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_function_implementation_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_parameter_list_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_when_expression_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_list_pattern_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_table_pattern_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_function_call_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_table_expression_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_table_type_repeat1] = { - .visible = false, - .named = false, - }, - [aux_sym_string_repeat1] = { - .visible = false, - .named = false, - }, -}; - -enum ts_field_identifiers { - field_body = 1, - field_function = 2, - field_key = 3, - field_left = 4, - field_member = 5, - field_name = 6, - field_object = 7, - field_operand = 8, - field_parameters = 9, - field_pattern = 10, - field_patterns = 11, - field_result = 12, - field_return_type = 13, - field_right = 14, - field_subject = 15, - field_type = 16, - field_value = 17, -}; - -static const char * const ts_field_names[] = { - [0] = NULL, - [field_body] = "body", - [field_function] = "function", - [field_key] = "key", - [field_left] = "left", - [field_member] = "member", - [field_name] = "name", - [field_object] = "object", - [field_operand] = "operand", - [field_parameters] = "parameters", - [field_pattern] = "pattern", - [field_patterns] = "patterns", - [field_result] = "result", - [field_return_type] = "return_type", - [field_right] = "right", - [field_subject] = "subject", - [field_type] = "type", - [field_value] = "value", -}; - -static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { - [1] = {.index = 0, .length = 1}, - [2] = {.index = 1, .length = 1}, - [3] = {.index = 2, .length = 2}, - [4] = {.index = 4, .length = 2}, - [5] = {.index = 6, .length = 2}, - [6] = {.index = 8, .length = 2}, - [7] = {.index = 10, .length = 2}, - [8] = {.index = 12, .length = 3}, - [9] = {.index = 15, .length = 2}, - [10] = {.index = 17, .length = 3}, -}; - -static const TSFieldMapEntry ts_field_map_entries[] = { - [0] = - {field_operand, 1}, - [1] = - {field_function, 0}, - [2] = - {field_member, 2}, - {field_object, 0}, - [4] = - {field_left, 0}, - {field_right, 2}, - [6] = - {field_key, 0}, - {field_value, 2}, - [8] = - {field_patterns, 3}, - {field_subject, 1}, - [10] = - {field_name, 0}, - {field_type, 2}, - [12] = - {field_body, 3}, - {field_name, 0}, - {field_parameters, 1}, - [15] = - {field_pattern, 0}, - {field_result, 2}, - [17] = - {field_name, 0}, - {field_parameters, 2}, - {field_return_type, 4}, -}; - -static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { - [0] = {0}, -}; - -static const uint16_t ts_non_terminal_alias_map[] = { - 0, -}; - -static const TSStateId ts_primary_state_ids[STATE_COUNT] = { - [0] = 0, - [1] = 1, - [2] = 2, - [3] = 3, - [4] = 4, - [5] = 5, - [6] = 6, - [7] = 7, - [8] = 8, - [9] = 9, - [10] = 10, - [11] = 11, - [12] = 12, - [13] = 13, - [14] = 14, - [15] = 15, - [16] = 16, - [17] = 17, - [18] = 18, - [19] = 19, - [20] = 20, - [21] = 21, - [22] = 22, - [23] = 23, - [24] = 24, - [25] = 25, - [26] = 26, - [27] = 27, - [28] = 28, - [29] = 29, - [30] = 30, - [31] = 31, - [32] = 32, - [33] = 33, - [34] = 8, - [35] = 9, - [36] = 36, - [37] = 37, - [38] = 38, - [39] = 39, - [40] = 40, - [41] = 41, - [42] = 42, - [43] = 43, - [44] = 37, - [45] = 38, - [46] = 46, - [47] = 47, - [48] = 48, - [49] = 49, - [50] = 50, - [51] = 51, - [52] = 42, - [53] = 41, - [54] = 39, - [55] = 40, - [56] = 46, - [57] = 43, - [58] = 58, - [59] = 58, - [60] = 4, - [61] = 22, - [62] = 6, - [63] = 11, - [64] = 18, - [65] = 5, - [66] = 12, - [67] = 67, - [68] = 26, - [69] = 27, - [70] = 28, - [71] = 29, - [72] = 30, - [73] = 73, - [74] = 31, - [75] = 7, - [76] = 32, - [77] = 77, - [78] = 33, - [79] = 17, - [80] = 14, - [81] = 15, - [82] = 13, - [83] = 19, - [84] = 20, - [85] = 16, - [86] = 21, - [87] = 23, - [88] = 24, - [89] = 36, - [90] = 25, - [91] = 91, - [92] = 92, - [93] = 93, - [94] = 94, - [95] = 95, - [96] = 96, - [97] = 97, - [98] = 95, - [99] = 99, - [100] = 97, - [101] = 101, - [102] = 102, - [103] = 103, - [104] = 102, - [105] = 105, - [106] = 106, - [107] = 107, - [108] = 108, - [109] = 109, - [110] = 110, - [111] = 111, - [112] = 112, - [113] = 113, - [114] = 114, - [115] = 115, - [116] = 116, - [117] = 117, - [118] = 118, - [119] = 119, - [120] = 120, - [121] = 121, - [122] = 122, - [123] = 123, - [124] = 124, - [125] = 125, - [126] = 126, - [127] = 127, - [128] = 128, - [129] = 129, - [130] = 128, - [131] = 131, - [132] = 129, - [133] = 133, - [134] = 134, - [135] = 135, - [136] = 136, - [137] = 137, - [138] = 138, - [139] = 139, - [140] = 140, - [141] = 141, - [142] = 142, - [143] = 143, - [144] = 144, - [145] = 145, - [146] = 146, - [147] = 147, - [148] = 148, - [149] = 149, - [150] = 150, - [151] = 151, - [152] = 152, - [153] = 153, - [154] = 154, - [155] = 155, - [156] = 156, - [157] = 157, - [158] = 158, - [159] = 159, - [160] = 160, - [161] = 161, - [162] = 162, - [163] = 163, - [164] = 164, - [165] = 165, - [166] = 166, - [167] = 167, - [168] = 156, - [169] = 169, - [170] = 170, - [171] = 170, - [172] = 172, - [173] = 160, - [174] = 161, - [175] = 158, - [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] = 196, - [202] = 202, - [203] = 203, - [204] = 198, - [205] = 205, - [206] = 109, -}; - -static bool ts_lex(TSLexer *lexer, TSStateId state) { - START_LEXER(); - eof = lexer->eof(lexer); - switch (state) { - case 0: - if (eof) ADVANCE(69); - ADVANCE_MAP( - '!', 11, - '"', 123, - '%', 96, - '(', 73, - ')', 74, - '*', 94, - '+', 91, - ',', 75, - '-', 93, - '.', 90, - '/', 95, - ':', 70, - ';', 72, - '<', 99, - '=', 102, - '>', 98, - 'B', 45, - 'E', 53, - 'F', 37, - 'I', 17, - 'N', 61, - 'O', 34, - 'P', 14, - 'R', 27, - 'S', 60, - '[', 86, - '\\', 127, - ']', 87, - '_', 84, - 'a', 40, - 'f', 21, - 'i', 54, - 'o', 48, - 'u', 67, - 'w', 31, - 'x', 47, - '{', 88, - '}', 89, - 'n', 128, - 'r', 128, - 't', 128, - ); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(0); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(130); - END_STATE(); - case 1: - ADVANCE_MAP( - '!', 11, - '"', 123, - '%', 96, - '(', 73, - '*', 94, - '+', 91, - '-', 92, - '.', 90, - '/', 95, - ';', 72, - '<', 99, - '=', 102, - '>', 98, - 'E', 179, - 'O', 159, - '[', 86, - '_', 85, - 'a', 166, - 'f', 147, - 'o', 174, - 't', 173, - 'x', 172, - '{', 88, - ); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(1); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(130); - if (('A' <= lookahead && lookahead <= 'Z') || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 2: - ADVANCE_MAP( - '!', 11, - '%', 96, - '(', 73, - ')', 74, - '*', 94, - '+', 91, - ',', 75, - '-', 92, - '.', 90, - '/', 95, - ';', 72, - '<', 99, - '=', 102, - '>', 98, - ']', 87, - 'a', 40, - 'i', 54, - 'o', 48, - 't', 32, - 'x', 47, - '}', 89, - ); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(2); - END_STATE(); - case 3: - ADVANCE_MAP( - '!', 11, - '%', 96, - '(', 73, - '*', 94, - '+', 91, - '-', 92, - '.', 90, - '/', 95, - ':', 70, - ';', 72, - '<', 99, - '=', 102, - '>', 98, - 'a', 166, - 'o', 174, - 'x', 172, - ); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(3); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 4: - ADVANCE_MAP( - '"', 123, - '(', 73, - ')', 74, - '+', 91, - '-', 92, - '/', 8, - 'I', 143, - 'P', 140, - '[', 86, - ']', 87, - 'f', 147, - 't', 173, - '{', 88, - ); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(4); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(130); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 5: - ADVANCE_MAP( - '"', 123, - ')', 74, - ',', 75, - '-', 12, - '/', 8, - ':', 70, - ';', 72, - '>', 97, - 'E', 179, - 'O', 159, - '[', 86, - ']', 87, - '_', 85, - 'f', 147, - 't', 173, - '{', 88, - '}', 89, - ); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(5); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(130); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 6: - if (lookahead == '"') ADVANCE(123); - if (lookahead == '/') ADVANCE(125); - if (lookahead == '\\') ADVANCE(127); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(126); - if (lookahead != 0) ADVANCE(124); - END_STATE(); - case 7: - if (lookahead == '(') ADVANCE(73); - if (lookahead == ')') ADVANCE(74); - if (lookahead == '-') ADVANCE(12); - if (lookahead == '/') ADVANCE(8); - if (lookahead == '}') ADVANCE(89); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(7); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 8: - if (lookahead == '/') ADVANCE(190); - END_STATE(); - case 9: - ADVANCE_MAP( - '/', 8, - 'B', 171, - 'F', 162, - 'I', 168, - 'N', 186, - 'R', 154, - 'S', 185, - '[', 86, - '{', 88, - ); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(9); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 10: - if (lookahead == '/') ADVANCE(8); - if (lookahead == 'u') ADVANCE(67); - if (lookahead == '"' || - lookahead == '\\' || - lookahead == 'n' || - lookahead == 'r' || - lookahead == 't') ADVANCE(128); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(10); - END_STATE(); - case 11: - if (lookahead == '=') ADVANCE(103); - END_STATE(); - case 12: - if (lookahead == '>') ADVANCE(71); - END_STATE(); - case 13: - if (lookahead == 'F') ADVANCE(15); - END_STATE(); - case 14: - if (lookahead == 'I') ADVANCE(135); - END_STATE(); - case 15: - if (lookahead == 'I') ADVANCE(18); - END_STATE(); - case 16: - if (lookahead == 'I') ADVANCE(19); - END_STATE(); - case 17: - if (lookahead == 'N') ADVANCE(13); - if (lookahead == 'n') ADVANCE(57); - END_STATE(); - case 18: - if (lookahead == 'N') ADVANCE(16); - END_STATE(); - case 19: - if (lookahead == 'T') ADVANCE(20); - END_STATE(); - case 20: - if (lookahead == 'Y') ADVANCE(137); - END_STATE(); - case 21: - if (lookahead == 'a') ADVANCE(36); - END_STATE(); - case 22: - if (lookahead == 'a') ADVANCE(58); - END_STATE(); - case 23: - if (lookahead == 'b') ADVANCE(29); - END_STATE(); - case 24: - if (lookahead == 'd') ADVANCE(104); - END_STATE(); - case 25: - if (lookahead == 'e') ADVANCE(133); - END_STATE(); - case 26: - if (lookahead == 'e') ADVANCE(41); - END_STATE(); - case 27: - if (lookahead == 'e') ADVANCE(55); - END_STATE(); - case 28: - if (lookahead == 'e') ADVANCE(43); - END_STATE(); - case 29: - if (lookahead == 'e') ADVANCE(52); - END_STATE(); - case 30: - if (lookahead == 'g') ADVANCE(117); - END_STATE(); - case 31: - if (lookahead == 'h') ADVANCE(26); - END_STATE(); - case 32: - if (lookahead == 'h') ADVANCE(28); - END_STATE(); - case 33: - if (lookahead == 'i') ADVANCE(42); - END_STATE(); - case 34: - if (lookahead == 'k') ADVANCE(80); - END_STATE(); - case 35: - if (lookahead == 'l') ADVANCE(111); - END_STATE(); - case 36: - if (lookahead == 'l') ADVANCE(56); - END_STATE(); - case 37: - if (lookahead == 'l') ADVANCE(44); - END_STATE(); - case 38: - if (lookahead == 'l') ADVANCE(59); - END_STATE(); - case 39: - if (lookahead == 'm') ADVANCE(23); - END_STATE(); - case 40: - if (lookahead == 'n') ADVANCE(24); - END_STATE(); - case 41: - if (lookahead == 'n') ADVANCE(76); - END_STATE(); - case 42: - if (lookahead == 'n') ADVANCE(30); - END_STATE(); - case 43: - if (lookahead == 'n') ADVANCE(79); - END_STATE(); - case 44: - if (lookahead == 'o') ADVANCE(22); - END_STATE(); - case 45: - if (lookahead == 'o') ADVANCE(46); - END_STATE(); - case 46: - if (lookahead == 'o') ADVANCE(35); - END_STATE(); - case 47: - if (lookahead == 'o') ADVANCE(51); - END_STATE(); - case 48: - if (lookahead == 'r') ADVANCE(106); - END_STATE(); - case 49: - if (lookahead == 'r') ADVANCE(82); - END_STATE(); - case 50: - if (lookahead == 'r') ADVANCE(33); - END_STATE(); - case 51: - if (lookahead == 'r') ADVANCE(108); - END_STATE(); - case 52: - if (lookahead == 'r') ADVANCE(119); - END_STATE(); - case 53: - if (lookahead == 'r') ADVANCE(49); - END_STATE(); - case 54: - if (lookahead == 's') ADVANCE(78); - END_STATE(); - case 55: - if (lookahead == 's') ADVANCE(62); - END_STATE(); - case 56: - if (lookahead == 's') ADVANCE(25); - END_STATE(); - case 57: - if (lookahead == 't') ADVANCE(113); - END_STATE(); - case 58: - if (lookahead == 't') ADVANCE(115); - END_STATE(); - case 59: - if (lookahead == 't') ADVANCE(121); - END_STATE(); - case 60: - if (lookahead == 't') ADVANCE(50); - END_STATE(); - case 61: - if (lookahead == 'u') ADVANCE(39); - END_STATE(); - case 62: - if (lookahead == 'u') ADVANCE(38); - END_STATE(); - case 63: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131); - END_STATE(); - case 64: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(129); - END_STATE(); - case 65: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(64); - END_STATE(); - case 66: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(65); - END_STATE(); - case 67: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(66); - END_STATE(); - case 68: - if (eof) ADVANCE(69); - ADVANCE_MAP( - '"', 123, - '(', 73, - '+', 91, - '-', 92, - '/', 8, - 'I', 143, - 'P', 140, - '[', 86, - 'f', 147, - 't', 173, - 'w', 157, - '{', 88, - ); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(68); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(130); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 69: - ACCEPT_TOKEN(ts_builtin_sym_end); - END_STATE(); - case 70: - ACCEPT_TOKEN(anon_sym_COLON); - END_STATE(); - case 71: - ACCEPT_TOKEN(anon_sym_DASH_GT); - END_STATE(); - case 72: - ACCEPT_TOKEN(anon_sym_SEMI); - END_STATE(); - case 73: - ACCEPT_TOKEN(anon_sym_LPAREN); - END_STATE(); - case 74: - ACCEPT_TOKEN(anon_sym_RPAREN); - END_STATE(); - case 75: - ACCEPT_TOKEN(anon_sym_COMMA); - END_STATE(); - case 76: - ACCEPT_TOKEN(anon_sym_when); - END_STATE(); - case 77: - ACCEPT_TOKEN(anon_sym_when); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 78: - ACCEPT_TOKEN(anon_sym_is); - END_STATE(); - case 79: - ACCEPT_TOKEN(anon_sym_then); - END_STATE(); - case 80: - ACCEPT_TOKEN(anon_sym_Ok); - END_STATE(); - case 81: - ACCEPT_TOKEN(anon_sym_Ok); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 82: - ACCEPT_TOKEN(anon_sym_Err); - END_STATE(); - case 83: - ACCEPT_TOKEN(anon_sym_Err); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 84: - ACCEPT_TOKEN(sym_wildcard_pattern); - END_STATE(); - case 85: - ACCEPT_TOKEN(sym_wildcard_pattern); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 86: - ACCEPT_TOKEN(anon_sym_LBRACK); - END_STATE(); - case 87: - ACCEPT_TOKEN(anon_sym_RBRACK); - END_STATE(); - case 88: - ACCEPT_TOKEN(anon_sym_LBRACE); - END_STATE(); - case 89: - ACCEPT_TOKEN(anon_sym_RBRACE); - END_STATE(); - case 90: - ACCEPT_TOKEN(anon_sym_DOT); - if (lookahead == '.') ADVANCE(110); - END_STATE(); - case 91: - ACCEPT_TOKEN(anon_sym_PLUS); - END_STATE(); - case 92: - ACCEPT_TOKEN(anon_sym_DASH); - END_STATE(); - case 93: - ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '>') ADVANCE(71); - END_STATE(); - case 94: - ACCEPT_TOKEN(anon_sym_STAR); - END_STATE(); - case 95: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '/') ADVANCE(190); - END_STATE(); - case 96: - ACCEPT_TOKEN(anon_sym_PERCENT); - END_STATE(); - case 97: - ACCEPT_TOKEN(anon_sym_GT); - END_STATE(); - case 98: - ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(100); - END_STATE(); - case 99: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '=') ADVANCE(101); - END_STATE(); - case 100: - ACCEPT_TOKEN(anon_sym_GT_EQ); - END_STATE(); - case 101: - ACCEPT_TOKEN(anon_sym_LT_EQ); - END_STATE(); - case 102: - ACCEPT_TOKEN(anon_sym_EQ); - END_STATE(); - case 103: - ACCEPT_TOKEN(anon_sym_BANG_EQ); - END_STATE(); - case 104: - ACCEPT_TOKEN(anon_sym_and); - END_STATE(); - case 105: - ACCEPT_TOKEN(anon_sym_and); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 106: - ACCEPT_TOKEN(anon_sym_or); - END_STATE(); - case 107: - ACCEPT_TOKEN(anon_sym_or); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 108: - ACCEPT_TOKEN(anon_sym_xor); - END_STATE(); - case 109: - ACCEPT_TOKEN(anon_sym_xor); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 110: - ACCEPT_TOKEN(anon_sym_DOT_DOT); - END_STATE(); - case 111: - ACCEPT_TOKEN(anon_sym_Bool); - END_STATE(); - case 112: - ACCEPT_TOKEN(anon_sym_Bool); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 113: - ACCEPT_TOKEN(anon_sym_Int); - END_STATE(); - case 114: - ACCEPT_TOKEN(anon_sym_Int); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 115: - ACCEPT_TOKEN(anon_sym_Float); - END_STATE(); - case 116: - ACCEPT_TOKEN(anon_sym_Float); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 117: - ACCEPT_TOKEN(anon_sym_String); - END_STATE(); - case 118: - ACCEPT_TOKEN(anon_sym_String); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 119: - ACCEPT_TOKEN(anon_sym_Number); - END_STATE(); - case 120: - ACCEPT_TOKEN(anon_sym_Number); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 121: - ACCEPT_TOKEN(anon_sym_Result); - END_STATE(); - case 122: - ACCEPT_TOKEN(anon_sym_Result); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 123: - ACCEPT_TOKEN(anon_sym_DQUOTE); - END_STATE(); - case 124: - ACCEPT_TOKEN(aux_sym_string_token1); - END_STATE(); - case 125: - ACCEPT_TOKEN(aux_sym_string_token1); - if (lookahead == '/') ADVANCE(190); - END_STATE(); - case 126: - ACCEPT_TOKEN(aux_sym_string_token1); - if (lookahead == '/') ADVANCE(125); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(126); - if (lookahead != 0 && - lookahead != '"' && - lookahead != '\\') ADVANCE(124); - END_STATE(); - case 127: - ACCEPT_TOKEN(anon_sym_BSLASH); - END_STATE(); - case 128: - ACCEPT_TOKEN(aux_sym_escape_sequence_token1); - END_STATE(); - case 129: - ACCEPT_TOKEN(aux_sym_escape_sequence_token2); - END_STATE(); - case 130: - ACCEPT_TOKEN(aux_sym_number_token1); - if (lookahead == '.') ADVANCE(63); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(130); - END_STATE(); - case 131: - ACCEPT_TOKEN(aux_sym_number_token2); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131); - END_STATE(); - case 132: - ACCEPT_TOKEN(anon_sym_true); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 133: - ACCEPT_TOKEN(anon_sym_false); - END_STATE(); - case 134: - ACCEPT_TOKEN(anon_sym_false); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 135: - ACCEPT_TOKEN(anon_sym_PI); - END_STATE(); - case 136: - ACCEPT_TOKEN(anon_sym_PI); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 137: - ACCEPT_TOKEN(anon_sym_INFINITY); - END_STATE(); - case 138: - ACCEPT_TOKEN(anon_sym_INFINITY); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 139: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'F') ADVANCE(142); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 140: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'I') ADVANCE(136); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 141: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'I') ADVANCE(145); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 142: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'I') ADVANCE(144); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 143: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'N') ADVANCE(139); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 144: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'N') ADVANCE(141); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 145: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'T') ADVANCE(146); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 146: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'Y') ADVANCE(138); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 147: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(160); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 148: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(183); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('b' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 149: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'b') ADVANCE(155); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 150: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'd') ADVANCE(105); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 151: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(165); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 152: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(132); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 153: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(134); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 154: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(180); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 155: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(178); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 156: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'g') ADVANCE(118); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 157: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'h') ADVANCE(151); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 158: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(167); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 159: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'k') ADVANCE(81); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 160: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(181); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 161: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(112); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 162: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(169); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 163: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(184); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 164: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'm') ADVANCE(149); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 165: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(77); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 166: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(150); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 167: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(156); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 168: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(182); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 169: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(148); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 170: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(161); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 171: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(170); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 172: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(176); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 173: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(187); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 174: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(107); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 175: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(83); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 176: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(109); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 177: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(158); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 178: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(120); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 179: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(175); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 180: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(188); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 181: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(153); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 182: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(114); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 183: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(116); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 184: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(122); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 185: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 't') ADVANCE(177); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 186: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(164); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 187: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(152); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 188: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(163); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 189: - ACCEPT_TOKEN(sym_identifier); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(189); - END_STATE(); - case 190: - ACCEPT_TOKEN(anon_sym_SLASH_SLASH); - END_STATE(); - case 191: - ACCEPT_TOKEN(anon_sym_SLASH_SLASH); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(194); - END_STATE(); - case 192: - ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead == '/') ADVANCE(193); - if (lookahead == '\t' || - (0x0b <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(192); - if (lookahead != 0 && - (lookahead < '\t' || '\r' < lookahead)) ADVANCE(194); - END_STATE(); - case 193: - ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead == '/') ADVANCE(191); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(194); - END_STATE(); - case 194: - ACCEPT_TOKEN(aux_sym_comment_token1); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(194); - END_STATE(); - default: - return false; - } -} - -static const TSLexMode ts_lex_modes[STATE_COUNT] = { - [0] = {.lex_state = 0}, - [1] = {.lex_state = 68}, - [2] = {.lex_state = 68}, - [3] = {.lex_state = 68}, - [4] = {.lex_state = 1}, - [5] = {.lex_state = 1}, - [6] = {.lex_state = 1}, - [7] = {.lex_state = 1}, - [8] = {.lex_state = 4}, - [9] = {.lex_state = 4}, - [10] = {.lex_state = 1}, - [11] = {.lex_state = 1}, - [12] = {.lex_state = 1}, - [13] = {.lex_state = 1}, - [14] = {.lex_state = 1}, - [15] = {.lex_state = 1}, - [16] = {.lex_state = 1}, - [17] = {.lex_state = 1}, - [18] = {.lex_state = 1}, - [19] = {.lex_state = 1}, - [20] = {.lex_state = 1}, - [21] = {.lex_state = 1}, - [22] = {.lex_state = 1}, - [23] = {.lex_state = 1}, - [24] = {.lex_state = 1}, - [25] = {.lex_state = 1}, - [26] = {.lex_state = 1}, - [27] = {.lex_state = 1}, - [28] = {.lex_state = 1}, - [29] = {.lex_state = 1}, - [30] = {.lex_state = 1}, - [31] = {.lex_state = 1}, - [32] = {.lex_state = 1}, - [33] = {.lex_state = 1}, - [34] = {.lex_state = 4}, - [35] = {.lex_state = 4}, - [36] = {.lex_state = 1}, - [37] = {.lex_state = 4}, - [38] = {.lex_state = 4}, - [39] = {.lex_state = 4}, - [40] = {.lex_state = 4}, - [41] = {.lex_state = 4}, - [42] = {.lex_state = 4}, - [43] = {.lex_state = 4}, - [44] = {.lex_state = 4}, - [45] = {.lex_state = 4}, - [46] = {.lex_state = 4}, - [47] = {.lex_state = 4}, - [48] = {.lex_state = 4}, - [49] = {.lex_state = 4}, - [50] = {.lex_state = 4}, - [51] = {.lex_state = 4}, - [52] = {.lex_state = 4}, - [53] = {.lex_state = 4}, - [54] = {.lex_state = 4}, - [55] = {.lex_state = 4}, - [56] = {.lex_state = 4}, - [57] = {.lex_state = 4}, - [58] = {.lex_state = 4}, - [59] = {.lex_state = 4}, - [60] = {.lex_state = 2}, - [61] = {.lex_state = 2}, - [62] = {.lex_state = 2}, - [63] = {.lex_state = 2}, - [64] = {.lex_state = 2}, - [65] = {.lex_state = 2}, - [66] = {.lex_state = 2}, - [67] = {.lex_state = 3}, - [68] = {.lex_state = 2}, - [69] = {.lex_state = 2}, - [70] = {.lex_state = 2}, - [71] = {.lex_state = 2}, - [72] = {.lex_state = 2}, - [73] = {.lex_state = 5}, - [74] = {.lex_state = 2}, - [75] = {.lex_state = 2}, - [76] = {.lex_state = 2}, - [77] = {.lex_state = 5}, - [78] = {.lex_state = 2}, - [79] = {.lex_state = 2}, - [80] = {.lex_state = 2}, - [81] = {.lex_state = 2}, - [82] = {.lex_state = 2}, - [83] = {.lex_state = 2}, - [84] = {.lex_state = 2}, - [85] = {.lex_state = 2}, - [86] = {.lex_state = 2}, - [87] = {.lex_state = 2}, - [88] = {.lex_state = 2}, - [89] = {.lex_state = 2}, - [90] = {.lex_state = 2}, - [91] = {.lex_state = 5}, - [92] = {.lex_state = 5}, - [93] = {.lex_state = 5}, - [94] = {.lex_state = 2}, - [95] = {.lex_state = 2}, - [96] = {.lex_state = 5}, - [97] = {.lex_state = 2}, - [98] = {.lex_state = 2}, - [99] = {.lex_state = 5}, - [100] = {.lex_state = 2}, - [101] = {.lex_state = 2}, - [102] = {.lex_state = 2}, - [103] = {.lex_state = 2}, - [104] = {.lex_state = 2}, - [105] = {.lex_state = 2}, - [106] = {.lex_state = 2}, - [107] = {.lex_state = 9}, - [108] = {.lex_state = 9}, - [109] = {.lex_state = 68}, - [110] = {.lex_state = 68}, - [111] = {.lex_state = 68}, - [112] = {.lex_state = 9}, - [113] = {.lex_state = 9}, - [114] = {.lex_state = 68}, - [115] = {.lex_state = 68}, - [116] = {.lex_state = 9}, - [117] = {.lex_state = 9}, - [118] = {.lex_state = 5}, - [119] = {.lex_state = 5}, - [120] = {.lex_state = 5}, - [121] = {.lex_state = 5}, - [122] = {.lex_state = 5}, - [123] = {.lex_state = 5}, - [124] = {.lex_state = 5}, - [125] = {.lex_state = 5}, - [126] = {.lex_state = 5}, - [127] = {.lex_state = 7}, - [128] = {.lex_state = 6}, - [129] = {.lex_state = 6}, - [130] = {.lex_state = 6}, - [131] = {.lex_state = 6}, - [132] = {.lex_state = 6}, - [133] = {.lex_state = 5}, - [134] = {.lex_state = 2}, - [135] = {.lex_state = 2}, - [136] = {.lex_state = 2}, - [137] = {.lex_state = 2}, - [138] = {.lex_state = 0}, - [139] = {.lex_state = 2}, - [140] = {.lex_state = 2}, - [141] = {.lex_state = 2}, - [142] = {.lex_state = 7}, - [143] = {.lex_state = 2}, - [144] = {.lex_state = 0}, - [145] = {.lex_state = 0}, - [146] = {.lex_state = 0}, - [147] = {.lex_state = 5}, - [148] = {.lex_state = 0}, - [149] = {.lex_state = 7}, - [150] = {.lex_state = 0}, - [151] = {.lex_state = 6}, - [152] = {.lex_state = 7}, - [153] = {.lex_state = 0}, - [154] = {.lex_state = 7}, - [155] = {.lex_state = 5}, - [156] = {.lex_state = 7}, - [157] = {.lex_state = 7}, - [158] = {.lex_state = 0}, - [159] = {.lex_state = 0}, - [160] = {.lex_state = 0}, - [161] = {.lex_state = 0}, - [162] = {.lex_state = 6}, - [163] = {.lex_state = 0}, - [164] = {.lex_state = 0}, - [165] = {.lex_state = 0}, - [166] = {.lex_state = 7}, - [167] = {.lex_state = 5}, - [168] = {.lex_state = 7}, - [169] = {.lex_state = 0}, - [170] = {.lex_state = 0}, - [171] = {.lex_state = 0}, - [172] = {.lex_state = 0}, - [173] = {.lex_state = 0}, - [174] = {.lex_state = 0}, - [175] = {.lex_state = 0}, - [176] = {.lex_state = 0}, - [177] = {.lex_state = 0}, - [178] = {.lex_state = 5}, - [179] = {.lex_state = 0}, - [180] = {.lex_state = 0}, - [181] = {.lex_state = 0}, - [182] = {.lex_state = 7}, - [183] = {.lex_state = 5}, - [184] = {.lex_state = 7}, - [185] = {.lex_state = 0}, - [186] = {.lex_state = 5}, - [187] = {.lex_state = 0}, - [188] = {.lex_state = 7}, - [189] = {.lex_state = 7}, - [190] = {.lex_state = 10}, - [191] = {.lex_state = 5}, - [192] = {.lex_state = 0}, - [193] = {.lex_state = 2}, - [194] = {.lex_state = 0}, - [195] = {.lex_state = 5}, - [196] = {.lex_state = 7}, - [197] = {.lex_state = 5}, - [198] = {.lex_state = 192}, - [199] = {.lex_state = 0}, - [200] = {.lex_state = 5}, - [201] = {.lex_state = 7}, - [202] = {.lex_state = 0}, - [203] = {.lex_state = 5}, - [204] = {.lex_state = 192}, - [205] = {.lex_state = 0}, - [206] = {(TSStateId)(-1),}, -}; - -static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { - [STATE(0)] = { - [sym_comment] = STATE(0), - [ts_builtin_sym_end] = ACTIONS(1), - [anon_sym_COLON] = ACTIONS(1), - [anon_sym_DASH_GT] = ACTIONS(1), - [anon_sym_SEMI] = ACTIONS(1), - [anon_sym_LPAREN] = ACTIONS(1), - [anon_sym_RPAREN] = ACTIONS(1), - [anon_sym_COMMA] = ACTIONS(1), - [anon_sym_when] = ACTIONS(1), - [anon_sym_is] = ACTIONS(1), - [anon_sym_Ok] = ACTIONS(1), - [anon_sym_Err] = ACTIONS(1), - [sym_wildcard_pattern] = ACTIONS(1), - [anon_sym_LBRACK] = ACTIONS(1), - [anon_sym_RBRACK] = ACTIONS(1), - [anon_sym_LBRACE] = ACTIONS(1), - [anon_sym_RBRACE] = ACTIONS(1), - [anon_sym_DOT] = ACTIONS(1), - [anon_sym_PLUS] = ACTIONS(1), - [anon_sym_DASH] = ACTIONS(1), - [anon_sym_STAR] = ACTIONS(1), - [anon_sym_SLASH] = ACTIONS(1), - [anon_sym_PERCENT] = ACTIONS(1), - [anon_sym_GT] = ACTIONS(1), - [anon_sym_LT] = ACTIONS(1), - [anon_sym_GT_EQ] = ACTIONS(1), - [anon_sym_LT_EQ] = ACTIONS(1), - [anon_sym_EQ] = ACTIONS(1), - [anon_sym_BANG_EQ] = ACTIONS(1), - [anon_sym_and] = ACTIONS(1), - [anon_sym_or] = ACTIONS(1), - [anon_sym_xor] = ACTIONS(1), - [anon_sym_DOT_DOT] = ACTIONS(1), - [anon_sym_Bool] = ACTIONS(1), - [anon_sym_Int] = ACTIONS(1), - [anon_sym_Float] = ACTIONS(1), - [anon_sym_String] = ACTIONS(1), - [anon_sym_Number] = ACTIONS(1), - [anon_sym_Result] = ACTIONS(1), - [anon_sym_DQUOTE] = ACTIONS(1), - [anon_sym_BSLASH] = ACTIONS(1), - [aux_sym_escape_sequence_token1] = ACTIONS(1), - [aux_sym_escape_sequence_token2] = ACTIONS(1), - [aux_sym_number_token1] = ACTIONS(1), - [aux_sym_number_token2] = ACTIONS(1), - [anon_sym_false] = ACTIONS(1), - [anon_sym_PI] = ACTIONS(1), - [anon_sym_INFINITY] = ACTIONS(1), - [anon_sym_SLASH_SLASH] = ACTIONS(3), - }, - [STATE(1)] = { - [sym_program] = STATE(202), - [sym__statement] = STATE(2), - [sym_function_definition] = STATE(2), - [sym_function_implementation] = STATE(2), - [sym_when_expression] = STATE(2), - [sym__expression] = STATE(103), - [sym_function_call] = STATE(80), - [sym_member_access] = STATE(65), - [sym_binary_expression] = STATE(80), - [sym_unary_expression] = STATE(80), - [sym_parenthesized_expression] = STATE(80), - [sym_list_expression] = STATE(80), - [sym_table_expression] = STATE(80), - [sym_expression_statement] = STATE(2), - [sym_literal] = STATE(80), - [sym_string] = STATE(81), - [sym_number] = STATE(81), - [sym_boolean] = STATE(81), - [sym_constant] = STATE(81), - [sym_comment] = STATE(1), - [aux_sym_program_repeat1] = STATE(2), - [ts_builtin_sym_end] = ACTIONS(5), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_when] = ACTIONS(9), - [anon_sym_LBRACK] = ACTIONS(11), - [anon_sym_LBRACE] = ACTIONS(13), - [anon_sym_PLUS] = ACTIONS(15), - [anon_sym_DASH] = ACTIONS(15), - [anon_sym_DQUOTE] = ACTIONS(17), - [aux_sym_number_token1] = ACTIONS(19), - [aux_sym_number_token2] = ACTIONS(21), - [anon_sym_true] = ACTIONS(23), - [anon_sym_false] = ACTIONS(23), - [anon_sym_PI] = ACTIONS(25), - [anon_sym_INFINITY] = ACTIONS(25), - [sym_identifier] = ACTIONS(27), - [anon_sym_SLASH_SLASH] = ACTIONS(29), - }, -}; - -static const uint16_t ts_small_parse_table[] = { - [0] = 19, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(9), 1, - anon_sym_when, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(27), 1, - sym_identifier, - ACTIONS(29), 1, - anon_sym_SLASH_SLASH, - ACTIONS(31), 1, - ts_builtin_sym_end, - STATE(2), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(103), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(3), 6, - sym__statement, - sym_function_definition, - sym_function_implementation, - sym_when_expression, - sym_expression_statement, - aux_sym_program_repeat1, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [75] = 18, - ACTIONS(33), 1, - ts_builtin_sym_end, - ACTIONS(35), 1, - anon_sym_LPAREN, - ACTIONS(38), 1, - anon_sym_when, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(44), 1, - anon_sym_LBRACE, - ACTIONS(50), 1, - anon_sym_DQUOTE, - ACTIONS(53), 1, - aux_sym_number_token1, - ACTIONS(56), 1, - aux_sym_number_token2, - ACTIONS(65), 1, - sym_identifier, - ACTIONS(68), 1, - anon_sym_SLASH_SLASH, - STATE(65), 1, - sym_member_access, - STATE(103), 1, - sym__expression, - ACTIONS(47), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(59), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(62), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(3), 7, - sym__statement, - sym_function_definition, - sym_function_implementation, - sym_when_expression, - sym_expression_statement, - sym_comment, - aux_sym_program_repeat1, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [148] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(73), 1, - anon_sym_LPAREN, - ACTIONS(77), 1, - anon_sym_DOT, - STATE(4), 1, - sym_comment, - ACTIONS(75), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(71), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [192] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(73), 1, - anon_sym_LPAREN, - STATE(5), 1, - sym_comment, - ACTIONS(75), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(71), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [233] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(6), 1, - sym_comment, - ACTIONS(81), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(79), 15, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [272] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(7), 1, - sym_comment, - ACTIONS(85), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(83), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [310] = 17, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(87), 1, - anon_sym_RBRACK, - ACTIONS(89), 1, - sym_identifier, - STATE(8), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(95), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [374] = 17, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - ACTIONS(91), 1, - anon_sym_RPAREN, - STATE(9), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(97), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [438] = 13, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(101), 1, - anon_sym_SLASH, - ACTIONS(109), 1, - anon_sym_and, - ACTIONS(111), 1, - anon_sym_or, - ACTIONS(113), 1, - anon_sym_xor, - STATE(10), 1, - sym_comment, - ACTIONS(99), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(103), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(105), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(107), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(97), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - ACTIONS(93), 5, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DQUOTE, - aux_sym_number_token2, - ACTIONS(95), 7, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - [494] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(11), 1, - sym_comment, - ACTIONS(117), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(115), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [532] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(12), 1, - sym_comment, - ACTIONS(121), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(119), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [570] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(13), 1, - sym_comment, - ACTIONS(125), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(123), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [608] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(14), 1, - sym_comment, - ACTIONS(75), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(71), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [646] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(15), 1, - sym_comment, - ACTIONS(129), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(127), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [684] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(16), 1, - sym_comment, - ACTIONS(133), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(131), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [722] = 13, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(101), 1, - anon_sym_SLASH, - ACTIONS(109), 1, - anon_sym_and, - ACTIONS(111), 1, - anon_sym_or, - ACTIONS(113), 1, - anon_sym_xor, - STATE(17), 1, - sym_comment, - ACTIONS(99), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(103), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(105), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(107), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(97), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - ACTIONS(135), 5, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DQUOTE, - aux_sym_number_token2, - ACTIONS(137), 7, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - [778] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(18), 1, - sym_comment, - ACTIONS(141), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(139), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [816] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(19), 1, - sym_comment, - ACTIONS(145), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(143), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [854] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(20), 1, - sym_comment, - ACTIONS(149), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(147), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [892] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(21), 1, - sym_comment, - ACTIONS(153), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(151), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [930] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(22), 1, - sym_comment, - ACTIONS(157), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(155), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [968] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(23), 1, - sym_comment, - ACTIONS(161), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(159), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1006] = 10, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(109), 1, - anon_sym_and, - ACTIONS(111), 1, - anon_sym_or, - ACTIONS(113), 1, - anon_sym_xor, - STATE(24), 1, - sym_comment, - ACTIONS(103), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(105), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(107), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(165), 8, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(163), 10, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1056] = 11, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(109), 1, - anon_sym_and, - ACTIONS(111), 1, - anon_sym_or, - ACTIONS(113), 1, - anon_sym_xor, - STATE(25), 1, - sym_comment, - ACTIONS(103), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(105), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(107), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(97), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - ACTIONS(163), 7, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_DQUOTE, - aux_sym_number_token2, - ACTIONS(165), 8, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - [1108] = 8, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(109), 1, - anon_sym_and, - ACTIONS(111), 1, - anon_sym_or, - ACTIONS(113), 1, - anon_sym_xor, - STATE(26), 1, - sym_comment, - ACTIONS(107), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(165), 10, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(163), 12, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1154] = 7, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(109), 1, - anon_sym_and, - ACTIONS(111), 1, - anon_sym_or, - ACTIONS(113), 1, - anon_sym_xor, - STATE(27), 1, - sym_comment, - ACTIONS(165), 10, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(163), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1198] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(111), 1, - anon_sym_or, - ACTIONS(113), 1, - anon_sym_xor, - STATE(28), 1, - sym_comment, - ACTIONS(165), 11, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(163), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1240] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(113), 1, - anon_sym_xor, - STATE(29), 1, - sym_comment, - ACTIONS(165), 12, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(163), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1280] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(30), 1, - sym_comment, - ACTIONS(165), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(163), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1318] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(31), 1, - sym_comment, - ACTIONS(169), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(167), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1356] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(32), 1, - sym_comment, - ACTIONS(173), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(171), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1394] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(33), 1, - sym_comment, - ACTIONS(177), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(175), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1432] = 17, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - ACTIONS(179), 1, - anon_sym_RBRACK, - STATE(34), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(98), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [1496] = 17, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - ACTIONS(181), 1, - anon_sym_RPAREN, - STATE(35), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(100), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [1560] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(36), 1, - sym_comment, - ACTIONS(185), 13, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - ACTIONS(183), 14, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - anon_sym_DQUOTE, - aux_sym_number_token2, - [1598] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - STATE(37), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(71), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [1659] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - STATE(38), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(72), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [1720] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(5), 1, - sym_member_access, - STATE(24), 1, - sym__expression, - STATE(39), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(15), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(14), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [1781] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(5), 1, - sym_member_access, - STATE(25), 1, - sym__expression, - STATE(40), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(15), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(14), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [1842] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(5), 1, - sym_member_access, - STATE(26), 1, - sym__expression, - STATE(41), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(15), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(14), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [1903] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(5), 1, - sym_member_access, - STATE(27), 1, - sym__expression, - STATE(42), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(15), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(14), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [1964] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(5), 1, - sym_member_access, - STATE(28), 1, - sym__expression, - STATE(43), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(15), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(14), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2025] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(5), 1, - sym_member_access, - STATE(29), 1, - sym__expression, - STATE(44), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(15), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(14), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2086] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(5), 1, - sym_member_access, - STATE(30), 1, - sym__expression, - STATE(45), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(15), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(14), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2147] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - STATE(46), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(79), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2208] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - STATE(47), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(94), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2269] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - STATE(48), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(101), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2330] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - STATE(49), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(106), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2391] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - STATE(50), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(105), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2452] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(5), 1, - sym_member_access, - STATE(10), 1, - sym__expression, - STATE(51), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(15), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(14), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2513] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - STATE(52), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(69), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2574] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - STATE(53), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(68), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2635] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - STATE(54), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(88), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2696] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - STATE(55), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(90), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2757] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(187), 1, - anon_sym_LPAREN, - ACTIONS(189), 1, - anon_sym_LBRACK, - ACTIONS(191), 1, - anon_sym_LBRACE, - ACTIONS(195), 1, - anon_sym_DQUOTE, - ACTIONS(197), 1, - aux_sym_number_token1, - ACTIONS(199), 1, - aux_sym_number_token2, - ACTIONS(205), 1, - sym_identifier, - STATE(5), 1, - sym_member_access, - STATE(17), 1, - sym__expression, - STATE(56), 1, - sym_comment, - ACTIONS(193), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(201), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(203), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(15), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(14), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2818] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - STATE(57), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(70), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2879] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - STATE(58), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(104), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [2940] = 16, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(11), 1, - anon_sym_LBRACK, - ACTIONS(13), 1, - anon_sym_LBRACE, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(89), 1, - sym_identifier, - STATE(59), 1, - sym_comment, - STATE(65), 1, - sym_member_access, - STATE(102), 1, - sym__expression, - ACTIONS(15), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_PI, - anon_sym_INFINITY, - STATE(81), 4, - sym_string, - sym_number, - sym_boolean, - sym_constant, - STATE(80), 7, - sym_function_call, - sym_binary_expression, - sym_unary_expression, - sym_parenthesized_expression, - sym_list_expression, - sym_table_expression, - sym_literal, - [3001] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(207), 1, - anon_sym_LPAREN, - ACTIONS(209), 1, - anon_sym_DOT, - STATE(60), 1, - sym_comment, - ACTIONS(75), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(71), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3039] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(61), 1, - sym_comment, - ACTIONS(157), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(155), 19, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3072] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(62), 1, - sym_comment, - ACTIONS(81), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(79), 19, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3105] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(63), 1, - sym_comment, - ACTIONS(117), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(115), 19, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3138] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(64), 1, - sym_comment, - ACTIONS(141), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(139), 19, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3171] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(207), 1, - anon_sym_LPAREN, - STATE(65), 1, - sym_comment, - ACTIONS(75), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(71), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3206] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(66), 1, - sym_comment, - ACTIONS(121), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(119), 19, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3239] = 9, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(207), 1, - anon_sym_LPAREN, - ACTIONS(209), 1, - anon_sym_DOT, - ACTIONS(211), 1, - anon_sym_COLON, - ACTIONS(213), 1, - sym_identifier, - STATE(67), 1, - sym_comment, - STATE(154), 1, - aux_sym_function_implementation_repeat1, - ACTIONS(75), 6, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - ACTIONS(71), 10, - anon_sym_SEMI, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - [3281] = 8, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(217), 1, - anon_sym_and, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - STATE(68), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(165), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(163), 13, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DOT_DOT, - [3321] = 7, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(217), 1, - anon_sym_and, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - STATE(69), 1, - sym_comment, - ACTIONS(165), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(163), 15, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_DOT_DOT, - [3359] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - STATE(70), 1, - sym_comment, - ACTIONS(165), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(163), 16, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_DOT_DOT, - [3395] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(221), 1, - anon_sym_xor, - STATE(71), 1, - sym_comment, - ACTIONS(165), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(163), 17, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_DOT_DOT, - [3429] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(72), 1, - sym_comment, - ACTIONS(165), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(163), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3461] = 15, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(223), 1, - anon_sym_SEMI, - ACTIONS(229), 1, - anon_sym_LBRACK, - ACTIONS(231), 1, - anon_sym_LBRACE, - STATE(73), 1, - sym_comment, - STATE(77), 1, - aux_sym_when_expression_repeat1, - STATE(118), 1, - sym_when_pattern, - STATE(193), 1, - sym__pattern, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(225), 2, - anon_sym_Ok, - anon_sym_Err, - ACTIONS(227), 2, - sym_wildcard_pattern, - sym_identifier, - STATE(137), 6, - sym_result_pattern, - sym_list_pattern, - sym_table_pattern, - sym_string, - sym_number, - sym_boolean, - [3515] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(74), 1, - sym_comment, - ACTIONS(169), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(167), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3547] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(75), 1, - sym_comment, - ACTIONS(85), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(83), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3579] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(76), 1, - sym_comment, - ACTIONS(173), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(171), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3611] = 14, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(233), 1, - anon_sym_SEMI, - ACTIONS(241), 1, - anon_sym_LBRACK, - ACTIONS(244), 1, - anon_sym_LBRACE, - ACTIONS(247), 1, - anon_sym_DQUOTE, - ACTIONS(250), 1, - aux_sym_number_token1, - ACTIONS(253), 1, - aux_sym_number_token2, - STATE(118), 1, - sym_when_pattern, - STATE(193), 1, - sym__pattern, - ACTIONS(235), 2, - anon_sym_Ok, - anon_sym_Err, - ACTIONS(238), 2, - sym_wildcard_pattern, - sym_identifier, - ACTIONS(256), 2, - anon_sym_true, - anon_sym_false, - STATE(77), 2, - sym_comment, - aux_sym_when_expression_repeat1, - STATE(137), 6, - sym_result_pattern, - sym_list_pattern, - sym_table_pattern, - sym_string, - sym_number, - sym_boolean, - [3663] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(78), 1, - sym_comment, - ACTIONS(177), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(175), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3695] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(217), 1, - anon_sym_and, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - ACTIONS(263), 1, - anon_sym_SLASH, - STATE(79), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(261), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(265), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(267), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(259), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - ACTIONS(135), 6, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - [3743] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(80), 1, - sym_comment, - ACTIONS(75), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(71), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3775] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(81), 1, - sym_comment, - ACTIONS(129), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(127), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3807] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(82), 1, - sym_comment, - ACTIONS(125), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(123), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3839] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(83), 1, - sym_comment, - ACTIONS(145), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(143), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3871] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(84), 1, - sym_comment, - ACTIONS(149), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(147), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3903] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(85), 1, - sym_comment, - ACTIONS(133), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(131), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3935] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(86), 1, - sym_comment, - ACTIONS(153), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(151), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3967] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(87), 1, - sym_comment, - ACTIONS(161), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(159), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [3999] = 10, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(165), 1, - anon_sym_SLASH, - ACTIONS(217), 1, - anon_sym_and, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - STATE(88), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(265), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(267), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(163), 11, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_DOT_DOT, - [4043] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(89), 1, - sym_comment, - ACTIONS(185), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(183), 18, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_BANG_EQ, - anon_sym_and, - anon_sym_or, - anon_sym_xor, - anon_sym_DOT_DOT, - [4075] = 11, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(165), 1, - anon_sym_SLASH, - ACTIONS(217), 1, - anon_sym_and, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - STATE(90), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(265), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(267), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(259), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - ACTIONS(163), 8, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_is, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR, - anon_sym_PERCENT, - [4121] = 14, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(229), 1, - anon_sym_LBRACK, - ACTIONS(231), 1, - anon_sym_LBRACE, - STATE(73), 1, - aux_sym_when_expression_repeat1, - STATE(91), 1, - sym_comment, - STATE(118), 1, - sym_when_pattern, - STATE(193), 1, - sym__pattern, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(225), 2, - anon_sym_Ok, - anon_sym_Err, - ACTIONS(227), 2, - sym_wildcard_pattern, - sym_identifier, - STATE(137), 6, - sym_result_pattern, - sym_list_pattern, - sym_table_pattern, - sym_string, - sym_number, - sym_boolean, - [4172] = 13, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(229), 1, - anon_sym_LBRACK, - ACTIONS(231), 1, - anon_sym_LBRACE, - ACTIONS(269), 1, - anon_sym_RBRACK, - STATE(92), 1, - sym_comment, - STATE(144), 1, - sym__pattern, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(225), 2, - anon_sym_Ok, - anon_sym_Err, - ACTIONS(227), 2, - sym_wildcard_pattern, - sym_identifier, - STATE(137), 6, - sym_result_pattern, - sym_list_pattern, - sym_table_pattern, - sym_string, - sym_number, - sym_boolean, - [4220] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(229), 1, - anon_sym_LBRACK, - ACTIONS(231), 1, - anon_sym_LBRACE, - STATE(93), 1, - sym_comment, - STATE(187), 1, - sym__pattern, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(225), 2, - anon_sym_Ok, - anon_sym_Err, - ACTIONS(227), 2, - sym_wildcard_pattern, - sym_identifier, - STATE(137), 6, - sym_result_pattern, - sym_list_pattern, - sym_table_pattern, - sym_string, - sym_number, - sym_boolean, - [4265] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(217), 1, - anon_sym_and, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - ACTIONS(263), 1, - anon_sym_SLASH, - STATE(94), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(261), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(265), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(267), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(259), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - ACTIONS(271), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - [4310] = 14, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(217), 1, - anon_sym_and, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - ACTIONS(263), 1, - anon_sym_SLASH, - ACTIONS(273), 1, - anon_sym_COMMA, - ACTIONS(275), 1, - anon_sym_RBRACK, - STATE(95), 1, - sym_comment, - STATE(160), 1, - aux_sym_function_call_repeat1, - ACTIONS(215), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(261), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(265), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(267), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(259), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4359] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(229), 1, - anon_sym_LBRACK, - ACTIONS(231), 1, - anon_sym_LBRACE, - STATE(96), 1, - sym_comment, - STATE(141), 1, - sym__pattern, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(225), 2, - anon_sym_Ok, - anon_sym_Err, - ACTIONS(227), 2, - sym_wildcard_pattern, - sym_identifier, - STATE(137), 6, - sym_result_pattern, - sym_list_pattern, - sym_table_pattern, - sym_string, - sym_number, - sym_boolean, - [4404] = 14, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(217), 1, - anon_sym_and, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - ACTIONS(263), 1, - anon_sym_SLASH, - ACTIONS(273), 1, - anon_sym_COMMA, - ACTIONS(277), 1, - anon_sym_RPAREN, - STATE(97), 1, - sym_comment, - STATE(158), 1, - aux_sym_function_call_repeat1, - ACTIONS(215), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(261), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(265), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(267), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(259), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4453] = 14, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(217), 1, - anon_sym_and, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - ACTIONS(263), 1, - anon_sym_SLASH, - ACTIONS(273), 1, - anon_sym_COMMA, - ACTIONS(279), 1, - anon_sym_RBRACK, - STATE(98), 1, - sym_comment, - STATE(173), 1, - aux_sym_function_call_repeat1, - ACTIONS(215), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(261), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(265), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(267), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(259), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4502] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(19), 1, - aux_sym_number_token1, - ACTIONS(21), 1, - aux_sym_number_token2, - ACTIONS(229), 1, - anon_sym_LBRACK, - ACTIONS(231), 1, - anon_sym_LBRACE, - STATE(99), 1, - sym_comment, - STATE(185), 1, - sym__pattern, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(225), 2, - anon_sym_Ok, - anon_sym_Err, - ACTIONS(227), 2, - sym_wildcard_pattern, - sym_identifier, - STATE(137), 6, - sym_result_pattern, - sym_list_pattern, - sym_table_pattern, - sym_string, - sym_number, - sym_boolean, - [4547] = 14, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(217), 1, - anon_sym_and, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - ACTIONS(263), 1, - anon_sym_SLASH, - ACTIONS(273), 1, - anon_sym_COMMA, - ACTIONS(281), 1, - anon_sym_RPAREN, - STATE(100), 1, - sym_comment, - STATE(175), 1, - aux_sym_function_call_repeat1, - ACTIONS(215), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(261), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(265), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(267), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(259), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4596] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(217), 1, - anon_sym_and, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - ACTIONS(263), 1, - anon_sym_SLASH, - STATE(101), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(261), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(265), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(267), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(283), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - ACTIONS(259), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4640] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(217), 1, - anon_sym_and, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - ACTIONS(263), 1, - anon_sym_SLASH, - ACTIONS(285), 1, - anon_sym_RPAREN, - STATE(102), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(261), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(265), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(267), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(259), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4683] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(217), 1, - anon_sym_and, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - ACTIONS(263), 1, - anon_sym_SLASH, - ACTIONS(287), 1, - anon_sym_SEMI, - STATE(103), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(261), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(265), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(267), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(259), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4726] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(217), 1, - anon_sym_and, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - ACTIONS(263), 1, - anon_sym_SLASH, - ACTIONS(289), 1, - anon_sym_RPAREN, - STATE(104), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(261), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(265), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(267), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(259), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4769] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(217), 1, - anon_sym_and, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - ACTIONS(263), 1, - anon_sym_SLASH, - ACTIONS(291), 1, - anon_sym_SEMI, - STATE(105), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(261), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(265), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(267), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(259), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4812] = 12, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(217), 1, - anon_sym_and, - ACTIONS(219), 1, - anon_sym_or, - ACTIONS(221), 1, - anon_sym_xor, - ACTIONS(263), 1, - anon_sym_SLASH, - ACTIONS(293), 1, - anon_sym_is, - STATE(106), 1, - sym_comment, - ACTIONS(215), 2, - anon_sym_EQ, - anon_sym_BANG_EQ, - ACTIONS(261), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(265), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(267), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(259), 3, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DOT_DOT, - [4855] = 9, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(295), 1, - anon_sym_LBRACK, - ACTIONS(297), 1, - anon_sym_LBRACE, - ACTIONS(301), 1, - anon_sym_Result, - ACTIONS(303), 1, - sym_identifier, - STATE(107), 1, - sym_comment, - STATE(183), 1, - sym__type, - ACTIONS(299), 5, - anon_sym_Bool, - anon_sym_Int, - anon_sym_Float, - anon_sym_String, - anon_sym_Number, - STATE(124), 5, - sym_primitive_type, - sym_list_type, - sym_table_type, - sym_result_type, - sym_function_type, - [4891] = 9, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(295), 1, - anon_sym_LBRACK, - ACTIONS(297), 1, - anon_sym_LBRACE, - ACTIONS(301), 1, - anon_sym_Result, - ACTIONS(303), 1, - sym_identifier, - STATE(108), 1, - sym_comment, - STATE(155), 1, - sym__type, - ACTIONS(299), 5, - anon_sym_Bool, - anon_sym_Int, - anon_sym_Float, - anon_sym_String, - anon_sym_Number, - STATE(124), 5, - sym_primitive_type, - sym_list_type, - sym_table_type, - sym_result_type, - sym_function_type, - [4927] = 3, - STATE(109), 1, - sym_comment, - ACTIONS(307), 7, - anon_sym_when, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - anon_sym_PI, - anon_sym_INFINITY, - sym_identifier, - ACTIONS(305), 9, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DQUOTE, - aux_sym_number_token2, - anon_sym_SLASH_SLASH, - [4951] = 3, - STATE(110), 1, - sym_comment, - ACTIONS(311), 7, - anon_sym_when, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - anon_sym_PI, - anon_sym_INFINITY, - sym_identifier, - ACTIONS(309), 9, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DQUOTE, - aux_sym_number_token2, - anon_sym_SLASH_SLASH, - [4975] = 3, - STATE(111), 1, - sym_comment, - ACTIONS(315), 7, - anon_sym_when, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - anon_sym_PI, - anon_sym_INFINITY, - sym_identifier, - ACTIONS(313), 9, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DQUOTE, - aux_sym_number_token2, - anon_sym_SLASH_SLASH, - [4999] = 9, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(295), 1, - anon_sym_LBRACK, - ACTIONS(297), 1, - anon_sym_LBRACE, - ACTIONS(301), 1, - anon_sym_Result, - ACTIONS(303), 1, - sym_identifier, - STATE(112), 1, - sym_comment, - STATE(178), 1, - sym__type, - ACTIONS(299), 5, - anon_sym_Bool, - anon_sym_Int, - anon_sym_Float, - anon_sym_String, - anon_sym_Number, - STATE(124), 5, - sym_primitive_type, - sym_list_type, - sym_table_type, - sym_result_type, - sym_function_type, - [5035] = 9, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(295), 1, - anon_sym_LBRACK, - ACTIONS(297), 1, - anon_sym_LBRACE, - ACTIONS(301), 1, - anon_sym_Result, - ACTIONS(303), 1, - sym_identifier, - STATE(113), 1, - sym_comment, - STATE(186), 1, - sym__type, - ACTIONS(299), 5, - anon_sym_Bool, - anon_sym_Int, - anon_sym_Float, - anon_sym_String, - anon_sym_Number, - STATE(124), 5, - sym_primitive_type, - sym_list_type, - sym_table_type, - sym_result_type, - sym_function_type, - [5071] = 3, - STATE(114), 1, - sym_comment, - ACTIONS(319), 7, - anon_sym_when, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - anon_sym_PI, - anon_sym_INFINITY, - sym_identifier, - ACTIONS(317), 9, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DQUOTE, - aux_sym_number_token2, - anon_sym_SLASH_SLASH, - [5095] = 3, - STATE(115), 1, - sym_comment, - ACTIONS(323), 7, - anon_sym_when, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - anon_sym_PI, - anon_sym_INFINITY, - sym_identifier, - ACTIONS(321), 9, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_DQUOTE, - aux_sym_number_token2, - anon_sym_SLASH_SLASH, - [5119] = 9, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(295), 1, - anon_sym_LBRACK, - ACTIONS(297), 1, - anon_sym_LBRACE, - ACTIONS(301), 1, - anon_sym_Result, - ACTIONS(303), 1, - sym_identifier, - STATE(116), 1, - sym_comment, - STATE(122), 1, - sym__type, - ACTIONS(299), 5, - anon_sym_Bool, - anon_sym_Int, - anon_sym_Float, - anon_sym_String, - anon_sym_Number, - STATE(124), 5, - sym_primitive_type, - sym_list_type, - sym_table_type, - sym_result_type, - sym_function_type, - [5155] = 9, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(295), 1, - anon_sym_LBRACK, - ACTIONS(297), 1, - anon_sym_LBRACE, - ACTIONS(301), 1, - anon_sym_Result, - ACTIONS(303), 1, - sym_identifier, - STATE(117), 1, - sym_comment, - STATE(147), 1, - sym__type, - ACTIONS(299), 5, - anon_sym_Bool, - anon_sym_Int, - anon_sym_Float, - anon_sym_String, - anon_sym_Number, - STATE(124), 5, - sym_primitive_type, - sym_list_type, - sym_table_type, - sym_result_type, - sym_function_type, - [5191] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(118), 1, - sym_comment, - ACTIONS(325), 5, - anon_sym_SEMI, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_DQUOTE, - aux_sym_number_token2, - ACTIONS(327), 7, - anon_sym_Ok, - anon_sym_Err, - sym_wildcard_pattern, - aux_sym_number_token1, - anon_sym_true, - anon_sym_false, - sym_identifier, - [5214] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(119), 1, - sym_comment, - ACTIONS(329), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5230] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(120), 1, - sym_comment, - ACTIONS(331), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5246] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(121), 1, - sym_comment, - ACTIONS(333), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5262] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(335), 1, - anon_sym_DASH_GT, - STATE(122), 1, - sym_comment, - ACTIONS(337), 6, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5280] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(123), 1, - sym_comment, - ACTIONS(339), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5296] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(124), 1, - sym_comment, - ACTIONS(341), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5312] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(125), 1, - sym_comment, - ACTIONS(343), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5328] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(126), 1, - sym_comment, - ACTIONS(345), 7, - anon_sym_DASH_GT, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_GT, - [5344] = 7, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(347), 1, - anon_sym_LPAREN, - ACTIONS(349), 1, - sym_identifier, - STATE(127), 1, - sym_comment, - STATE(167), 1, - sym_typed_parameter, - STATE(200), 1, - sym_parameter_list, - STATE(203), 1, - sym__parameter, - [5366] = 7, - ACTIONS(351), 1, - anon_sym_DQUOTE, - ACTIONS(353), 1, - aux_sym_string_token1, - ACTIONS(355), 1, - anon_sym_BSLASH, - ACTIONS(357), 1, - anon_sym_SLASH_SLASH, - STATE(128), 1, - sym_comment, - STATE(129), 1, - aux_sym_string_repeat1, - STATE(151), 1, - sym_escape_sequence, - [5388] = 7, - ACTIONS(353), 1, - aux_sym_string_token1, - ACTIONS(355), 1, - anon_sym_BSLASH, - ACTIONS(357), 1, - anon_sym_SLASH_SLASH, - ACTIONS(359), 1, - anon_sym_DQUOTE, - STATE(129), 1, - sym_comment, - STATE(131), 1, - aux_sym_string_repeat1, - STATE(151), 1, - sym_escape_sequence, - [5410] = 7, - ACTIONS(353), 1, - aux_sym_string_token1, - ACTIONS(355), 1, - anon_sym_BSLASH, - ACTIONS(357), 1, - anon_sym_SLASH_SLASH, - ACTIONS(361), 1, - anon_sym_DQUOTE, - STATE(130), 1, - sym_comment, - STATE(132), 1, - aux_sym_string_repeat1, - STATE(151), 1, - sym_escape_sequence, - [5432] = 6, - ACTIONS(357), 1, - anon_sym_SLASH_SLASH, - ACTIONS(363), 1, - anon_sym_DQUOTE, - ACTIONS(365), 1, - aux_sym_string_token1, - ACTIONS(368), 1, - anon_sym_BSLASH, - STATE(151), 1, - sym_escape_sequence, - STATE(131), 2, - sym_comment, - aux_sym_string_repeat1, - [5452] = 7, - ACTIONS(353), 1, - aux_sym_string_token1, - ACTIONS(355), 1, - anon_sym_BSLASH, - ACTIONS(357), 1, - anon_sym_SLASH_SLASH, - ACTIONS(371), 1, - anon_sym_DQUOTE, - STATE(131), 1, - aux_sym_string_repeat1, - STATE(132), 1, - sym_comment, - STATE(151), 1, - sym_escape_sequence, - [5474] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(373), 1, - anon_sym_COLON, - STATE(133), 1, - sym_comment, - ACTIONS(375), 3, - anon_sym_DASH_GT, - anon_sym_RPAREN, - anon_sym_COMMA, - [5489] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(134), 1, - sym_comment, - ACTIONS(377), 4, - anon_sym_COMMA, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - [5502] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(135), 1, - sym_comment, - ACTIONS(379), 4, - anon_sym_COMMA, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - [5515] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(136), 1, - sym_comment, - ACTIONS(381), 4, - anon_sym_COMMA, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - [5528] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(137), 1, - sym_comment, - ACTIONS(383), 4, - anon_sym_COMMA, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - [5541] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(385), 1, - anon_sym_COMMA, - ACTIONS(271), 2, - anon_sym_RPAREN, - anon_sym_RBRACK, - STATE(138), 2, - sym_comment, - aux_sym_function_call_repeat1, - [5556] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(139), 1, - sym_comment, - ACTIONS(388), 4, - anon_sym_COMMA, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - [5569] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(140), 1, - sym_comment, - ACTIONS(390), 4, - anon_sym_COMMA, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - [5582] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(141), 1, - sym_comment, - ACTIONS(392), 4, - anon_sym_COMMA, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - [5595] = 6, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(349), 1, - sym_identifier, - ACTIONS(394), 1, - anon_sym_RPAREN, - STATE(142), 1, - sym_comment, - STATE(153), 1, - sym__parameter, - STATE(167), 1, - sym_typed_parameter, - [5614] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(143), 1, - sym_comment, - ACTIONS(396), 4, - anon_sym_COMMA, - anon_sym_then, - anon_sym_RBRACK, - anon_sym_RBRACE, - [5627] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(398), 1, - anon_sym_COMMA, - ACTIONS(400), 1, - anon_sym_RBRACK, - STATE(144), 1, - sym_comment, - STATE(159), 1, - aux_sym_list_pattern_repeat1, - [5643] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(402), 1, - anon_sym_COMMA, - ACTIONS(404), 1, - anon_sym_RBRACE, - STATE(145), 1, - sym_comment, - STATE(148), 1, - aux_sym_table_type_repeat1, - [5659] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(406), 1, - anon_sym_COMMA, - ACTIONS(409), 1, - anon_sym_RBRACE, - STATE(146), 2, - sym_comment, - aux_sym_table_expression_repeat1, - [5673] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(335), 1, - anon_sym_DASH_GT, - STATE(147), 1, - sym_comment, - ACTIONS(411), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [5687] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(413), 1, - anon_sym_COMMA, - ACTIONS(416), 1, - anon_sym_RBRACE, - STATE(148), 2, - sym_comment, - aux_sym_table_type_repeat1, - [5701] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(349), 1, - sym_identifier, - STATE(149), 1, - sym_comment, - STATE(167), 1, - sym_typed_parameter, - STATE(180), 1, - sym__parameter, - [5717] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(418), 1, - anon_sym_RPAREN, - ACTIONS(420), 1, - anon_sym_COMMA, - STATE(150), 1, - sym_comment, - STATE(169), 1, - aux_sym_parameter_list_repeat1, - [5733] = 3, - ACTIONS(357), 1, - anon_sym_SLASH_SLASH, - STATE(151), 1, - sym_comment, - ACTIONS(422), 3, - anon_sym_DQUOTE, - aux_sym_string_token1, - anon_sym_BSLASH, - [5745] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(424), 1, - anon_sym_RBRACE, - ACTIONS(426), 1, - sym_identifier, - STATE(152), 1, - sym_comment, - STATE(172), 1, - sym_table_type_field, - [5761] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(420), 1, - anon_sym_COMMA, - ACTIONS(428), 1, - anon_sym_RPAREN, - STATE(150), 1, - aux_sym_parameter_list_repeat1, - STATE(153), 1, - sym_comment, - [5777] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(430), 1, - anon_sym_DASH_GT, - ACTIONS(432), 1, - sym_identifier, - STATE(154), 1, - sym_comment, - STATE(166), 1, - aux_sym_function_implementation_repeat1, - [5793] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(335), 1, - anon_sym_DASH_GT, - STATE(155), 1, - sym_comment, - ACTIONS(434), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [5807] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(436), 1, - anon_sym_RBRACE, - ACTIONS(438), 1, - sym_identifier, - STATE(156), 1, - sym_comment, - STATE(170), 1, - sym_table_field, - [5823] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(440), 1, - anon_sym_RBRACE, - ACTIONS(442), 1, - sym_identifier, - STATE(157), 1, - sym_comment, - STATE(165), 1, - sym_table_field_pattern, - [5839] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(273), 1, - anon_sym_COMMA, - ACTIONS(444), 1, - anon_sym_RPAREN, - STATE(138), 1, - aux_sym_function_call_repeat1, - STATE(158), 1, - sym_comment, - [5855] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(398), 1, - anon_sym_COMMA, - ACTIONS(446), 1, - anon_sym_RBRACK, - STATE(159), 1, - sym_comment, - STATE(176), 1, - aux_sym_list_pattern_repeat1, - [5871] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(273), 1, - anon_sym_COMMA, - ACTIONS(448), 1, - anon_sym_RBRACK, - STATE(138), 1, - aux_sym_function_call_repeat1, - STATE(160), 1, - sym_comment, - [5887] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(450), 1, - anon_sym_COMMA, - ACTIONS(452), 1, - anon_sym_RBRACE, - STATE(146), 1, - aux_sym_table_expression_repeat1, - STATE(161), 1, - sym_comment, - [5903] = 3, - ACTIONS(357), 1, - anon_sym_SLASH_SLASH, - STATE(162), 1, - sym_comment, - ACTIONS(454), 3, - anon_sym_DQUOTE, - aux_sym_string_token1, - anon_sym_BSLASH, - [5915] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(456), 1, - anon_sym_COMMA, - ACTIONS(458), 1, - anon_sym_RBRACE, - STATE(163), 1, - sym_comment, - STATE(164), 1, - aux_sym_table_pattern_repeat1, - [5931] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(460), 1, - anon_sym_COMMA, - ACTIONS(463), 1, - anon_sym_RBRACE, - STATE(164), 2, - sym_comment, - aux_sym_table_pattern_repeat1, - [5945] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(456), 1, - anon_sym_COMMA, - ACTIONS(465), 1, - anon_sym_RBRACE, - STATE(163), 1, - aux_sym_table_pattern_repeat1, - STATE(165), 1, - sym_comment, - [5961] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(467), 1, - anon_sym_DASH_GT, - ACTIONS(469), 1, - sym_identifier, - STATE(166), 2, - sym_comment, - aux_sym_function_implementation_repeat1, - [5975] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(167), 1, - sym_comment, - ACTIONS(375), 3, - anon_sym_DASH_GT, - anon_sym_RPAREN, - anon_sym_COMMA, - [5987] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(438), 1, - sym_identifier, - ACTIONS(472), 1, - anon_sym_RBRACE, - STATE(168), 1, - sym_comment, - STATE(171), 1, - sym_table_field, - [6003] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(474), 1, - anon_sym_RPAREN, - ACTIONS(476), 1, - anon_sym_COMMA, - STATE(169), 2, - sym_comment, - aux_sym_parameter_list_repeat1, - [6017] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(450), 1, - anon_sym_COMMA, - ACTIONS(479), 1, - anon_sym_RBRACE, - STATE(161), 1, - aux_sym_table_expression_repeat1, - STATE(170), 1, - sym_comment, - [6033] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(450), 1, - anon_sym_COMMA, - ACTIONS(481), 1, - anon_sym_RBRACE, - STATE(171), 1, - sym_comment, - STATE(174), 1, - aux_sym_table_expression_repeat1, - [6049] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(402), 1, - anon_sym_COMMA, - ACTIONS(483), 1, - anon_sym_RBRACE, - STATE(145), 1, - aux_sym_table_type_repeat1, - STATE(172), 1, - sym_comment, - [6065] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(273), 1, - anon_sym_COMMA, - ACTIONS(485), 1, - anon_sym_RBRACK, - STATE(138), 1, - aux_sym_function_call_repeat1, - STATE(173), 1, - sym_comment, - [6081] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(450), 1, - anon_sym_COMMA, - ACTIONS(487), 1, - anon_sym_RBRACE, - STATE(146), 1, - aux_sym_table_expression_repeat1, - STATE(174), 1, - sym_comment, - [6097] = 5, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(273), 1, - anon_sym_COMMA, - ACTIONS(489), 1, - anon_sym_RPAREN, - STATE(138), 1, - aux_sym_function_call_repeat1, - STATE(175), 1, - sym_comment, - [6113] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(491), 1, - anon_sym_COMMA, - ACTIONS(494), 1, - anon_sym_RBRACK, - STATE(176), 2, - sym_comment, - aux_sym_list_pattern_repeat1, - [6127] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(177), 1, - sym_comment, - ACTIONS(463), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [6138] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(335), 1, - anon_sym_DASH_GT, - ACTIONS(496), 1, - anon_sym_GT, - STATE(178), 1, - sym_comment, - [6151] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(179), 1, - sym_comment, - ACTIONS(409), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [6162] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(180), 1, - sym_comment, - ACTIONS(474), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [6173] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(181), 1, - sym_comment, - ACTIONS(416), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [6184] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(442), 1, - sym_identifier, - STATE(177), 1, - sym_table_field_pattern, - STATE(182), 1, - sym_comment, - [6197] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(335), 1, - anon_sym_DASH_GT, - ACTIONS(498), 1, - anon_sym_RBRACK, - STATE(183), 1, - sym_comment, - [6210] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(438), 1, - sym_identifier, - STATE(179), 1, - sym_table_field, - STATE(184), 1, - sym_comment, - [6223] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(185), 1, - sym_comment, - ACTIONS(494), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [6234] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(335), 1, - anon_sym_DASH_GT, - ACTIONS(500), 1, - anon_sym_SEMI, - STATE(186), 1, - sym_comment, - [6247] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(187), 1, - sym_comment, - ACTIONS(502), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [6258] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(188), 1, - sym_comment, - ACTIONS(504), 2, - anon_sym_DASH_GT, - sym_identifier, - [6269] = 4, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(426), 1, - sym_identifier, - STATE(181), 1, - sym_table_type_field, - STATE(189), 1, - sym_comment, - [6282] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - STATE(190), 1, - sym_comment, - ACTIONS(506), 2, - aux_sym_escape_sequence_token1, - aux_sym_escape_sequence_token2, - [6293] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(508), 1, - anon_sym_DASH_GT, - STATE(191), 1, - sym_comment, - [6303] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(510), 1, - anon_sym_LT, - STATE(192), 1, - sym_comment, - [6313] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(512), 1, - anon_sym_then, - STATE(193), 1, - sym_comment, - [6323] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(514), 1, - anon_sym_COLON, - STATE(194), 1, - sym_comment, - [6333] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(516), 1, - anon_sym_DASH_GT, - STATE(195), 1, - sym_comment, - [6343] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(518), 1, - sym_identifier, - STATE(196), 1, - sym_comment, - [6353] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(520), 1, - anon_sym_DASH_GT, - STATE(197), 1, - sym_comment, - [6363] = 3, - ACTIONS(357), 1, - anon_sym_SLASH_SLASH, - ACTIONS(522), 1, - aux_sym_comment_token1, - STATE(198), 1, - sym_comment, - [6373] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(524), 1, - anon_sym_COLON, - STATE(199), 1, - sym_comment, - [6383] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(526), 1, - anon_sym_DASH_GT, - STATE(200), 1, - sym_comment, - [6393] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(528), 1, - sym_identifier, - STATE(201), 1, - sym_comment, - [6403] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(530), 1, - ts_builtin_sym_end, - STATE(202), 1, - sym_comment, - [6413] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(532), 1, - anon_sym_DASH_GT, - STATE(203), 1, - sym_comment, - [6423] = 3, - ACTIONS(357), 1, - anon_sym_SLASH_SLASH, - ACTIONS(534), 1, - aux_sym_comment_token1, - STATE(204), 1, - sym_comment, - [6433] = 3, - ACTIONS(3), 1, - anon_sym_SLASH_SLASH, - ACTIONS(536), 1, - anon_sym_COLON, - STATE(205), 1, - sym_comment, - [6443] = 1, - ACTIONS(305), 1, - ts_builtin_sym_end, -}; - -static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 75, - [SMALL_STATE(4)] = 148, - [SMALL_STATE(5)] = 192, - [SMALL_STATE(6)] = 233, - [SMALL_STATE(7)] = 272, - [SMALL_STATE(8)] = 310, - [SMALL_STATE(9)] = 374, - [SMALL_STATE(10)] = 438, - [SMALL_STATE(11)] = 494, - [SMALL_STATE(12)] = 532, - [SMALL_STATE(13)] = 570, - [SMALL_STATE(14)] = 608, - [SMALL_STATE(15)] = 646, - [SMALL_STATE(16)] = 684, - [SMALL_STATE(17)] = 722, - [SMALL_STATE(18)] = 778, - [SMALL_STATE(19)] = 816, - [SMALL_STATE(20)] = 854, - [SMALL_STATE(21)] = 892, - [SMALL_STATE(22)] = 930, - [SMALL_STATE(23)] = 968, - [SMALL_STATE(24)] = 1006, - [SMALL_STATE(25)] = 1056, - [SMALL_STATE(26)] = 1108, - [SMALL_STATE(27)] = 1154, - [SMALL_STATE(28)] = 1198, - [SMALL_STATE(29)] = 1240, - [SMALL_STATE(30)] = 1280, - [SMALL_STATE(31)] = 1318, - [SMALL_STATE(32)] = 1356, - [SMALL_STATE(33)] = 1394, - [SMALL_STATE(34)] = 1432, - [SMALL_STATE(35)] = 1496, - [SMALL_STATE(36)] = 1560, - [SMALL_STATE(37)] = 1598, - [SMALL_STATE(38)] = 1659, - [SMALL_STATE(39)] = 1720, - [SMALL_STATE(40)] = 1781, - [SMALL_STATE(41)] = 1842, - [SMALL_STATE(42)] = 1903, - [SMALL_STATE(43)] = 1964, - [SMALL_STATE(44)] = 2025, - [SMALL_STATE(45)] = 2086, - [SMALL_STATE(46)] = 2147, - [SMALL_STATE(47)] = 2208, - [SMALL_STATE(48)] = 2269, - [SMALL_STATE(49)] = 2330, - [SMALL_STATE(50)] = 2391, - [SMALL_STATE(51)] = 2452, - [SMALL_STATE(52)] = 2513, - [SMALL_STATE(53)] = 2574, - [SMALL_STATE(54)] = 2635, - [SMALL_STATE(55)] = 2696, - [SMALL_STATE(56)] = 2757, - [SMALL_STATE(57)] = 2818, - [SMALL_STATE(58)] = 2879, - [SMALL_STATE(59)] = 2940, - [SMALL_STATE(60)] = 3001, - [SMALL_STATE(61)] = 3039, - [SMALL_STATE(62)] = 3072, - [SMALL_STATE(63)] = 3105, - [SMALL_STATE(64)] = 3138, - [SMALL_STATE(65)] = 3171, - [SMALL_STATE(66)] = 3206, - [SMALL_STATE(67)] = 3239, - [SMALL_STATE(68)] = 3281, - [SMALL_STATE(69)] = 3321, - [SMALL_STATE(70)] = 3359, - [SMALL_STATE(71)] = 3395, - [SMALL_STATE(72)] = 3429, - [SMALL_STATE(73)] = 3461, - [SMALL_STATE(74)] = 3515, - [SMALL_STATE(75)] = 3547, - [SMALL_STATE(76)] = 3579, - [SMALL_STATE(77)] = 3611, - [SMALL_STATE(78)] = 3663, - [SMALL_STATE(79)] = 3695, - [SMALL_STATE(80)] = 3743, - [SMALL_STATE(81)] = 3775, - [SMALL_STATE(82)] = 3807, - [SMALL_STATE(83)] = 3839, - [SMALL_STATE(84)] = 3871, - [SMALL_STATE(85)] = 3903, - [SMALL_STATE(86)] = 3935, - [SMALL_STATE(87)] = 3967, - [SMALL_STATE(88)] = 3999, - [SMALL_STATE(89)] = 4043, - [SMALL_STATE(90)] = 4075, - [SMALL_STATE(91)] = 4121, - [SMALL_STATE(92)] = 4172, - [SMALL_STATE(93)] = 4220, - [SMALL_STATE(94)] = 4265, - [SMALL_STATE(95)] = 4310, - [SMALL_STATE(96)] = 4359, - [SMALL_STATE(97)] = 4404, - [SMALL_STATE(98)] = 4453, - [SMALL_STATE(99)] = 4502, - [SMALL_STATE(100)] = 4547, - [SMALL_STATE(101)] = 4596, - [SMALL_STATE(102)] = 4640, - [SMALL_STATE(103)] = 4683, - [SMALL_STATE(104)] = 4726, - [SMALL_STATE(105)] = 4769, - [SMALL_STATE(106)] = 4812, - [SMALL_STATE(107)] = 4855, - [SMALL_STATE(108)] = 4891, - [SMALL_STATE(109)] = 4927, - [SMALL_STATE(110)] = 4951, - [SMALL_STATE(111)] = 4975, - [SMALL_STATE(112)] = 4999, - [SMALL_STATE(113)] = 5035, - [SMALL_STATE(114)] = 5071, - [SMALL_STATE(115)] = 5095, - [SMALL_STATE(116)] = 5119, - [SMALL_STATE(117)] = 5155, - [SMALL_STATE(118)] = 5191, - [SMALL_STATE(119)] = 5214, - [SMALL_STATE(120)] = 5230, - [SMALL_STATE(121)] = 5246, - [SMALL_STATE(122)] = 5262, - [SMALL_STATE(123)] = 5280, - [SMALL_STATE(124)] = 5296, - [SMALL_STATE(125)] = 5312, - [SMALL_STATE(126)] = 5328, - [SMALL_STATE(127)] = 5344, - [SMALL_STATE(128)] = 5366, - [SMALL_STATE(129)] = 5388, - [SMALL_STATE(130)] = 5410, - [SMALL_STATE(131)] = 5432, - [SMALL_STATE(132)] = 5452, - [SMALL_STATE(133)] = 5474, - [SMALL_STATE(134)] = 5489, - [SMALL_STATE(135)] = 5502, - [SMALL_STATE(136)] = 5515, - [SMALL_STATE(137)] = 5528, - [SMALL_STATE(138)] = 5541, - [SMALL_STATE(139)] = 5556, - [SMALL_STATE(140)] = 5569, - [SMALL_STATE(141)] = 5582, - [SMALL_STATE(142)] = 5595, - [SMALL_STATE(143)] = 5614, - [SMALL_STATE(144)] = 5627, - [SMALL_STATE(145)] = 5643, - [SMALL_STATE(146)] = 5659, - [SMALL_STATE(147)] = 5673, - [SMALL_STATE(148)] = 5687, - [SMALL_STATE(149)] = 5701, - [SMALL_STATE(150)] = 5717, - [SMALL_STATE(151)] = 5733, - [SMALL_STATE(152)] = 5745, - [SMALL_STATE(153)] = 5761, - [SMALL_STATE(154)] = 5777, - [SMALL_STATE(155)] = 5793, - [SMALL_STATE(156)] = 5807, - [SMALL_STATE(157)] = 5823, - [SMALL_STATE(158)] = 5839, - [SMALL_STATE(159)] = 5855, - [SMALL_STATE(160)] = 5871, - [SMALL_STATE(161)] = 5887, - [SMALL_STATE(162)] = 5903, - [SMALL_STATE(163)] = 5915, - [SMALL_STATE(164)] = 5931, - [SMALL_STATE(165)] = 5945, - [SMALL_STATE(166)] = 5961, - [SMALL_STATE(167)] = 5975, - [SMALL_STATE(168)] = 5987, - [SMALL_STATE(169)] = 6003, - [SMALL_STATE(170)] = 6017, - [SMALL_STATE(171)] = 6033, - [SMALL_STATE(172)] = 6049, - [SMALL_STATE(173)] = 6065, - [SMALL_STATE(174)] = 6081, - [SMALL_STATE(175)] = 6097, - [SMALL_STATE(176)] = 6113, - [SMALL_STATE(177)] = 6127, - [SMALL_STATE(178)] = 6138, - [SMALL_STATE(179)] = 6151, - [SMALL_STATE(180)] = 6162, - [SMALL_STATE(181)] = 6173, - [SMALL_STATE(182)] = 6184, - [SMALL_STATE(183)] = 6197, - [SMALL_STATE(184)] = 6210, - [SMALL_STATE(185)] = 6223, - [SMALL_STATE(186)] = 6234, - [SMALL_STATE(187)] = 6247, - [SMALL_STATE(188)] = 6258, - [SMALL_STATE(189)] = 6269, - [SMALL_STATE(190)] = 6282, - [SMALL_STATE(191)] = 6293, - [SMALL_STATE(192)] = 6303, - [SMALL_STATE(193)] = 6313, - [SMALL_STATE(194)] = 6323, - [SMALL_STATE(195)] = 6333, - [SMALL_STATE(196)] = 6343, - [SMALL_STATE(197)] = 6353, - [SMALL_STATE(198)] = 6363, - [SMALL_STATE(199)] = 6373, - [SMALL_STATE(200)] = 6383, - [SMALL_STATE(201)] = 6393, - [SMALL_STATE(202)] = 6403, - [SMALL_STATE(203)] = 6413, - [SMALL_STATE(204)] = 6423, - [SMALL_STATE(205)] = 6433, - [SMALL_STATE(206)] = 6443, -}; - -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(198), - [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 0, 0, 0), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), - [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 1, 0, 0), - [33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), - [35] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(58), - [38] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(49), - [41] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(8), - [44] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(156), - [47] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(46), - [50] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(128), - [53] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(63), - [56] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(63), - [59] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(66), - [62] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(82), - [65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(67), - [68] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(204), - [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [75] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), - [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(201), - [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_access, 3, 0, 3), - [81] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_access, 3, 0, 3), - [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_expression, 4, 0, 0), - [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_expression, 4, 0, 0), - [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), - [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [93] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_when_pattern, 3, 0, 9), - [95] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_when_pattern, 3, 0, 9), - [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), - [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), - [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), - [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44), - [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), - [115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number, 1, 0, 0), - [117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number, 1, 0, 0), - [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1, 0, 0), - [121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1, 0, 0), - [123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant, 1, 0, 0), - [125] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant, 1, 0, 0), - [127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), - [129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), - [131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 2, 0, 0), - [133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_expression, 2, 0, 0), - [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 1), - [137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 1), - [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2, 0, 0), - [141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2, 0, 0), - [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 3, 0, 0), - [149] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_expression, 3, 0, 0), - [151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_expression, 3, 0, 0), - [153] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_expression, 3, 0, 0), - [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3, 0, 0), - [157] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3, 0, 0), - [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, 0, 2), - [161] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, 0, 2), - [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 4), - [165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 4), - [167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expression, 4, 0, 0), - [169] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_expression, 4, 0, 0), - [171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, 0, 2), - [173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, 0, 2), - [175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 5, 0, 2), - [177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 5, 0, 2), - [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_expression, 2, 0, 0), - [185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_expression, 2, 0, 0), - [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), - [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), - [203] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), - [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), - [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(196), - [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(188), - [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), - [227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), - [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_when_expression_repeat1, 2, 0, 0), - [235] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_when_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(96), - [238] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_when_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(137), - [241] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_when_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(92), - [244] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_when_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(157), - [247] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_when_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(128), - [250] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_when_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(63), - [253] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_when_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(63), - [256] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_when_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(66), - [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [263] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), - [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), - [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2, 0, 0), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_field, 3, 0, 5), - [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120), - [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(192), - [303] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), - [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2, 0, 0), - [307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 2, 0, 0), - [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0), - [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), - [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_implementation, 5, 0, 8), - [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_implementation, 5, 0, 8), - [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_when_expression, 5, 0, 6), - [319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_when_expression, 5, 0, 6), - [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 10), - [323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 10), - [325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_when_expression_repeat1, 1, 0, 0), - [327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_when_expression_repeat1, 1, 0, 0), - [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_type, 3, 0, 0), - [331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_type, 1, 0, 0), - [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_result_type, 4, 0, 0), - [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 3, 0, 0), - [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_type, 4, 0, 0), - [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1, 0, 0), - [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_type, 2, 0, 0), - [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_type, 3, 0, 0), - [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [351] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [353] = {.entry = {.count = 1, .reusable = false}}, SHIFT(151), - [355] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190), - [357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(198), - [359] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), - [361] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), - [363] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2, 0, 0), - [365] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2, 0, 0), SHIFT_REPEAT(151), - [368] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2, 0, 0), SHIFT_REPEAT(190), - [371] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), - [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameter, 1, 0, 0), - [377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_pattern, 2, 0, 0), - [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 4, 0, 0), - [381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_pattern, 4, 0, 0), - [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pattern, 1, 0, 0), - [385] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2, 0, 0), SHIFT_REPEAT(47), - [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 3, 0, 0), - [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_pattern, 3, 0, 0), - [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_result_pattern, 2, 0, 0), - [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), - [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 2, 0, 0), - [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), - [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [406] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_table_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(184), - [409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_table_expression_repeat1, 2, 0, 0), - [411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_type_field, 3, 0, 5), - [413] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_table_type_repeat1, 2, 0, 0), SHIFT_REPEAT(189), - [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_table_type_repeat1, 2, 0, 0), - [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), - [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 1, 0, 0), - [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), - [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), - [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [434] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typed_parameter, 3, 0, 7), - [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), - [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), - [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [454] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_escape_sequence, 2, 0, 0), - [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), - [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [460] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_table_pattern_repeat1, 2, 0, 0), SHIFT_REPEAT(182), - [463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_table_pattern_repeat1, 2, 0, 0), - [465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_implementation_repeat1, 2, 0, 0), - [469] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_implementation_repeat1, 2, 0, 0), SHIFT_REPEAT(188), - [472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), - [476] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(149), - [479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [491] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_pattern_repeat1, 2, 0, 0), SHIFT_REPEAT(99), - [494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_pattern_repeat1, 2, 0, 0), - [496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_field_pattern, 3, 0, 5), - [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_implementation_repeat1, 1, 0, 0), - [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4, 0, 0), - [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), - [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [520] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), - [522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(206), - [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [530] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [532] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 1, 0, 0), - [534] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), - [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), -}; - -#ifdef __cplusplus -extern "C" { -#endif -#ifdef TREE_SITTER_HIDE_SYMBOLS -#define TS_PUBLIC -#elif defined(_WIN32) -#define TS_PUBLIC __declspec(dllexport) -#else -#define TS_PUBLIC __attribute__((visibility("default"))) -#endif - -TS_PUBLIC const TSLanguage *tree_sitter_baba_yaga(void) { - static const TSLanguage language = { - .abi_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 = (const void*)ts_lex_modes, - .lex_fn = ts_lex, - .primary_state_ids = ts_primary_state_ids, - }; - return &language; -} -#ifdef __cplusplus -} -#endif diff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/tree_sitter/alloc.h b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/tree_sitter/alloc.h deleted file mode 100644 index 1abdd12..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/tree_sitter/alloc.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef TREE_SITTER_ALLOC_H_ -#define TREE_SITTER_ALLOC_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include <stdbool.h> -#include <stdio.h> -#include <stdlib.h> - -// Allow clients to override allocation functions -#ifdef TREE_SITTER_REUSE_ALLOCATOR - -extern void *(*ts_current_malloc)(size_t size); -extern void *(*ts_current_calloc)(size_t count, size_t size); -extern void *(*ts_current_realloc)(void *ptr, size_t size); -extern void (*ts_current_free)(void *ptr); - -#ifndef ts_malloc -#define ts_malloc ts_current_malloc -#endif -#ifndef ts_calloc -#define ts_calloc ts_current_calloc -#endif -#ifndef ts_realloc -#define ts_realloc ts_current_realloc -#endif -#ifndef ts_free -#define ts_free ts_current_free -#endif - -#else - -#ifndef ts_malloc -#define ts_malloc malloc -#endif -#ifndef ts_calloc -#define ts_calloc calloc -#endif -#ifndef ts_realloc -#define ts_realloc realloc -#endif -#ifndef ts_free -#define ts_free free -#endif - -#endif - -#ifdef __cplusplus -} -#endif - -#endif // TREE_SITTER_ALLOC_H_ diff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/tree_sitter/array.h b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/tree_sitter/array.h deleted file mode 100644 index a17a574..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/tree_sitter/array.h +++ /dev/null @@ -1,291 +0,0 @@ -#ifndef TREE_SITTER_ARRAY_H_ -#define TREE_SITTER_ARRAY_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "./alloc.h" - -#include <assert.h> -#include <stdbool.h> -#include <stdint.h> -#include <stdlib.h> -#include <string.h> - -#ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable : 4101) -#elif defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wunused-variable" -#endif - -#define Array(T) \ - struct { \ - T *contents; \ - uint32_t size; \ - uint32_t capacity; \ - } - -/// Initialize an array. -#define array_init(self) \ - ((self)->size = 0, (self)->capacity = 0, (self)->contents = NULL) - -/// Create an empty array. -#define array_new() \ - { NULL, 0, 0 } - -/// Get a pointer to the element at a given `index` in the array. -#define array_get(self, _index) \ - (assert((uint32_t)(_index) < (self)->size), &(self)->contents[_index]) - -/// Get a pointer to the first element in the array. -#define array_front(self) array_get(self, 0) - -/// Get a pointer to the last element in the array. -#define array_back(self) array_get(self, (self)->size - 1) - -/// Clear the array, setting its size to zero. Note that this does not free any -/// memory allocated for the array's contents. -#define array_clear(self) ((self)->size = 0) - -/// Reserve `new_capacity` elements of space in the array. If `new_capacity` is -/// less than the array's current capacity, this function has no effect. -#define array_reserve(self, new_capacity) \ - _array__reserve((Array *)(self), array_elem_size(self), new_capacity) - -/// Free any memory allocated for this array. Note that this does not free any -/// memory allocated for the array's contents. -#define array_delete(self) _array__delete((Array *)(self)) - -/// Push a new `element` onto the end of the array. -#define array_push(self, element) \ - (_array__grow((Array *)(self), 1, array_elem_size(self)), \ - (self)->contents[(self)->size++] = (element)) - -/// Increase the array's size by `count` elements. -/// New elements are zero-initialized. -#define array_grow_by(self, count) \ - do { \ - if ((count) == 0) break; \ - _array__grow((Array *)(self), count, array_elem_size(self)); \ - memset((self)->contents + (self)->size, 0, (count) * array_elem_size(self)); \ - (self)->size += (count); \ - } while (0) - -/// Append all elements from one array to the end of another. -#define array_push_all(self, other) \ - array_extend((self), (other)->size, (other)->contents) - -/// Append `count` elements to the end of the array, reading their values from the -/// `contents` pointer. -#define array_extend(self, count, contents) \ - _array__splice( \ - (Array *)(self), array_elem_size(self), (self)->size, \ - 0, count, contents \ - ) - -/// Remove `old_count` elements from the array starting at the given `index`. At -/// the same index, insert `new_count` new elements, reading their values from the -/// `new_contents` pointer. -#define array_splice(self, _index, old_count, new_count, new_contents) \ - _array__splice( \ - (Array *)(self), array_elem_size(self), _index, \ - old_count, new_count, new_contents \ - ) - -/// Insert one `element` into the array at the given `index`. -#define array_insert(self, _index, element) \ - _array__splice((Array *)(self), array_elem_size(self), _index, 0, 1, &(element)) - -/// Remove one element from the array at the given `index`. -#define array_erase(self, _index) \ - _array__erase((Array *)(self), array_elem_size(self), _index) - -/// Pop the last element off the array, returning the element by value. -#define array_pop(self) ((self)->contents[--(self)->size]) - -/// Assign the contents of one array to another, reallocating if necessary. -#define array_assign(self, other) \ - _array__assign((Array *)(self), (const Array *)(other), array_elem_size(self)) - -/// Swap one array with another -#define array_swap(self, other) \ - _array__swap((Array *)(self), (Array *)(other)) - -/// Get the size of the array contents -#define array_elem_size(self) (sizeof *(self)->contents) - -/// Search a sorted array for a given `needle` value, using the given `compare` -/// callback to determine the order. -/// -/// If an existing element is found to be equal to `needle`, then the `index` -/// out-parameter is set to the existing value's index, and the `exists` -/// out-parameter is set to true. Otherwise, `index` is set to an index where -/// `needle` should be inserted in order to preserve the sorting, and `exists` -/// is set to false. -#define array_search_sorted_with(self, compare, needle, _index, _exists) \ - _array__search_sorted(self, 0, compare, , needle, _index, _exists) - -/// Search a sorted array for a given `needle` value, using integer comparisons -/// of a given struct field (specified with a leading dot) to determine the order. -/// -/// See also `array_search_sorted_with`. -#define array_search_sorted_by(self, field, needle, _index, _exists) \ - _array__search_sorted(self, 0, _compare_int, field, needle, _index, _exists) - -/// Insert a given `value` into a sorted array, using the given `compare` -/// callback to determine the order. -#define array_insert_sorted_with(self, compare, value) \ - do { \ - unsigned _index, _exists; \ - array_search_sorted_with(self, compare, &(value), &_index, &_exists); \ - if (!_exists) array_insert(self, _index, value); \ - } while (0) - -/// Insert a given `value` into a sorted array, using integer comparisons of -/// a given struct field (specified with a leading dot) to determine the order. -/// -/// See also `array_search_sorted_by`. -#define array_insert_sorted_by(self, field, value) \ - do { \ - unsigned _index, _exists; \ - array_search_sorted_by(self, field, (value) field, &_index, &_exists); \ - if (!_exists) array_insert(self, _index, value); \ - } while (0) - -// Private - -typedef Array(void) Array; - -/// This is not what you're looking for, see `array_delete`. -static inline void _array__delete(Array *self) { - if (self->contents) { - ts_free(self->contents); - self->contents = NULL; - self->size = 0; - self->capacity = 0; - } -} - -/// This is not what you're looking for, see `array_erase`. -static inline void _array__erase(Array *self, size_t element_size, - uint32_t index) { - assert(index < self->size); - char *contents = (char *)self->contents; - memmove(contents + index * element_size, contents + (index + 1) * element_size, - (self->size - index - 1) * element_size); - self->size--; -} - -/// This is not what you're looking for, see `array_reserve`. -static inline void _array__reserve(Array *self, size_t element_size, uint32_t new_capacity) { - if (new_capacity > self->capacity) { - if (self->contents) { - self->contents = ts_realloc(self->contents, new_capacity * element_size); - } else { - self->contents = ts_malloc(new_capacity * element_size); - } - self->capacity = new_capacity; - } -} - -/// This is not what you're looking for, see `array_assign`. -static inline void _array__assign(Array *self, const Array *other, size_t element_size) { - _array__reserve(self, element_size, other->size); - self->size = other->size; - memcpy(self->contents, other->contents, self->size * element_size); -} - -/// This is not what you're looking for, see `array_swap`. -static inline void _array__swap(Array *self, Array *other) { - Array swap = *other; - *other = *self; - *self = swap; -} - -/// This is not what you're looking for, see `array_push` or `array_grow_by`. -static inline void _array__grow(Array *self, uint32_t count, size_t element_size) { - uint32_t new_size = self->size + count; - if (new_size > self->capacity) { - uint32_t new_capacity = self->capacity * 2; - if (new_capacity < 8) new_capacity = 8; - if (new_capacity < new_size) new_capacity = new_size; - _array__reserve(self, element_size, new_capacity); - } -} - -/// This is not what you're looking for, see `array_splice`. -static inline void _array__splice(Array *self, size_t element_size, - uint32_t index, uint32_t old_count, - uint32_t new_count, const void *elements) { - uint32_t new_size = self->size + new_count - old_count; - uint32_t old_end = index + old_count; - uint32_t new_end = index + new_count; - assert(old_end <= self->size); - - _array__reserve(self, element_size, new_size); - - char *contents = (char *)self->contents; - if (self->size > old_end) { - memmove( - contents + new_end * element_size, - contents + old_end * element_size, - (self->size - old_end) * element_size - ); - } - if (new_count > 0) { - if (elements) { - memcpy( - (contents + index * element_size), - elements, - new_count * element_size - ); - } else { - memset( - (contents + index * element_size), - 0, - new_count * element_size - ); - } - } - self->size += new_count - old_count; -} - -/// A binary search routine, based on Rust's `std::slice::binary_search_by`. -/// This is not what you're looking for, see `array_search_sorted_with` or `array_search_sorted_by`. -#define _array__search_sorted(self, start, compare, suffix, needle, _index, _exists) \ - do { \ - *(_index) = start; \ - *(_exists) = false; \ - uint32_t size = (self)->size - *(_index); \ - if (size == 0) break; \ - int comparison; \ - while (size > 1) { \ - uint32_t half_size = size / 2; \ - uint32_t mid_index = *(_index) + half_size; \ - comparison = compare(&((self)->contents[mid_index] suffix), (needle)); \ - if (comparison <= 0) *(_index) = mid_index; \ - size -= half_size; \ - } \ - comparison = compare(&((self)->contents[*(_index)] suffix), (needle)); \ - if (comparison == 0) *(_exists) = true; \ - else if (comparison < 0) *(_index) += 1; \ - } while (0) - -/// Helper macro for the `_sorted_by` routines below. This takes the left (existing) -/// parameter by reference in order to work with the generic sorting function above. -#define _compare_int(a, b) ((int)*(a) - (int)(b)) - -#ifdef _MSC_VER -#pragma warning(pop) -#elif defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic pop -#endif - -#ifdef __cplusplus -} -#endif - -#endif // TREE_SITTER_ARRAY_H_ diff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/tree_sitter/parser.h b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/tree_sitter/parser.h deleted file mode 100644 index 858107d..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/src/tree_sitter/parser.h +++ /dev/null @@ -1,286 +0,0 @@ -#ifndef TREE_SITTER_PARSER_H_ -#define TREE_SITTER_PARSER_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include <stdbool.h> -#include <stdint.h> -#include <stdlib.h> - -#define ts_builtin_sym_error ((TSSymbol)-1) -#define ts_builtin_sym_end 0 -#define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024 - -#ifndef TREE_SITTER_API_H_ -typedef uint16_t TSStateId; -typedef uint16_t TSSymbol; -typedef uint16_t TSFieldId; -typedef struct TSLanguage TSLanguage; -typedef struct TSLanguageMetadata { - uint8_t major_version; - uint8_t minor_version; - uint8_t patch_version; -} TSLanguageMetadata; -#endif - -typedef struct { - TSFieldId field_id; - uint8_t child_index; - bool inherited; -} TSFieldMapEntry; - -// Used to index the field and supertype maps. -typedef struct { - uint16_t index; - uint16_t length; -} TSMapSlice; - -typedef struct { - bool visible; - bool named; - bool supertype; -} TSSymbolMetadata; - -typedef struct TSLexer TSLexer; - -struct TSLexer { - int32_t lookahead; - TSSymbol result_symbol; - void (*advance)(TSLexer *, bool); - void (*mark_end)(TSLexer *); - uint32_t (*get_column)(TSLexer *); - bool (*is_at_included_range_start)(const TSLexer *); - bool (*eof)(const TSLexer *); - void (*log)(const TSLexer *, const char *, ...); -}; - -typedef enum { - TSParseActionTypeShift, - TSParseActionTypeReduce, - TSParseActionTypeAccept, - TSParseActionTypeRecover, -} TSParseActionType; - -typedef union { - struct { - uint8_t type; - TSStateId state; - bool extra; - bool repetition; - } shift; - struct { - uint8_t type; - uint8_t child_count; - TSSymbol symbol; - int16_t dynamic_precedence; - uint16_t production_id; - } reduce; - uint8_t type; -} TSParseAction; - -typedef struct { - uint16_t lex_state; - uint16_t external_lex_state; -} TSLexMode; - -typedef struct { - uint16_t lex_state; - uint16_t external_lex_state; - uint16_t reserved_word_set_id; -} TSLexerMode; - -typedef union { - TSParseAction action; - struct { - uint8_t count; - bool reusable; - } entry; -} TSParseActionEntry; - -typedef struct { - int32_t start; - int32_t end; -} TSCharacterRange; - -struct TSLanguage { - uint32_t abi_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 TSMapSlice *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 TSLexerMode *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; - const char *name; - const TSSymbol *reserved_words; - uint16_t max_reserved_word_set_size; - uint32_t supertype_count; - const TSSymbol *supertype_symbols; - const TSMapSlice *supertype_map_slices; - const TSSymbol *supertype_map_entries; - TSLanguageMetadata metadata; -}; - -static inline bool set_contains(const TSCharacterRange *ranges, uint32_t len, int32_t lookahead) { - uint32_t index = 0; - uint32_t size = len - index; - while (size > 1) { - uint32_t half_size = size / 2; - uint32_t mid_index = index + half_size; - const TSCharacterRange *range = &ranges[mid_index]; - if (lookahead >= range->start && lookahead <= range->end) { - return true; - } else if (lookahead > range->end) { - index = mid_index; - } - size -= half_size; - } - const TSCharacterRange *range = &ranges[index]; - return (lookahead >= range->start && lookahead <= range->end); -} - -/* - * Lexer Macros - */ - -#ifdef _MSC_VER -#define UNUSED __pragma(warning(suppress : 4101)) -#else -#define UNUSED __attribute__((unused)) -#endif - -#define START_LEXER() \ - bool result = false; \ - bool skip = false; \ - UNUSED \ - bool eof = false; \ - int32_t lookahead; \ - goto start; \ - next_state: \ - lexer->advance(lexer, skip); \ - start: \ - skip = false; \ - lookahead = lexer->lookahead; - -#define ADVANCE(state_value) \ - { \ - state = state_value; \ - goto next_state; \ - } - -#define ADVANCE_MAP(...) \ - { \ - static const uint16_t map[] = { __VA_ARGS__ }; \ - for (uint32_t i = 0; i < sizeof(map) / sizeof(map[0]); i += 2) { \ - if (map[i] == lookahead) { \ - state = map[i + 1]; \ - goto next_state; \ - } \ - } \ - } - -#define SKIP(state_value) \ - { \ - skip = true; \ - state = state_value; \ - goto next_state; \ - } - -#define ACCEPT_TOKEN(symbol_value) \ - result = true; \ - lexer->result_symbol = symbol_value; \ - lexer->mark_end(lexer); - -#define END_STATE() return result; - -/* - * Parse Table Macros - */ - -#define SMALL_STATE(id) ((id) - LARGE_STATE_COUNT) - -#define STATE(id) id - -#define ACTIONS(id) id - -#define SHIFT(state_value) \ - {{ \ - .shift = { \ - .type = TSParseActionTypeShift, \ - .state = (state_value) \ - } \ - }} - -#define SHIFT_REPEAT(state_value) \ - {{ \ - .shift = { \ - .type = TSParseActionTypeShift, \ - .state = (state_value), \ - .repetition = true \ - } \ - }} - -#define SHIFT_EXTRA() \ - {{ \ - .shift = { \ - .type = TSParseActionTypeShift, \ - .extra = true \ - } \ - }} - -#define REDUCE(symbol_name, children, precedence, prod_id) \ - {{ \ - .reduce = { \ - .type = TSParseActionTypeReduce, \ - .symbol = symbol_name, \ - .child_count = children, \ - .dynamic_precedence = precedence, \ - .production_id = prod_id \ - }, \ - }} - -#define RECOVER() \ - {{ \ - .type = TSParseActionTypeRecover \ - }} - -#define ACCEPT_INPUT() \ - {{ \ - .type = TSParseActionTypeAccept \ - }} - -#ifdef __cplusplus -} -#endif - -#endif // TREE_SITTER_PARSER_H_ diff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/test.baba b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/test.baba deleted file mode 100644 index cbe8255..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/test.baba +++ /dev/null @@ -1,3 +0,0 @@ -add : (Int, Int) -> Int; -add a b -> a + b; - diff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/test/corpus/expressions.txt b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/test/corpus/expressions.txt deleted file mode 100644 index 25ece22..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/test/corpus/expressions.txt +++ /dev/null @@ -1,164 +0,0 @@ -================== -Function definitions and implementations -================== - -add : (Int, Int) -> Int; -add a b -> a + b; - -multiply : x -> y -> x * y; - ---- - -(program - (function_definition - name: (identifier) - parameters: (parameter_list - (typed_parameter - name: (identifier) - type: (primitive_type)) - (typed_parameter - name: (identifier) - type: (primitive_type))) - return_type: (primitive_type)) - (function_implementation - name: (identifier) - parameters: (identifier) - parameters: (identifier) - body: (binary_expression - left: (identifier) - operator: + - right: (identifier))) - (function_definition - name: (identifier) - parameters: (parameter_list - (identifier)) - return_type: (function_type - parameters: (parameter_list - (identifier)) - return_type: (binary_expression - left: (identifier) - operator: * - right: (identifier))))) - -================== -When expressions -================== - -result : when 5 is - 0 then "zero" - _ then "other"; - ---- - -(program - (expression_statement - (binary_expression - left: (identifier) - operator: : - right: (when_expression - subject: (number) - patterns: (when_pattern - pattern: (number) - result: (string)) - patterns: (when_pattern - pattern: (wildcard_pattern) - result: (string)))))) - -================== -Function calls -================== - -greet : String -> String; -greet name -> str.concat "Hello, " name; - ---- - -(program - (function_definition - name: (identifier) - parameters: (parameter_list - (typed_parameter - name: (identifier) - type: (primitive_type))) - return_type: (primitive_type)) - (function_implementation - name: (identifier) - parameters: (identifier) - body: (function_call - function: (member_access - object: (identifier) - member: (identifier)) - arguments: (string) - arguments: (identifier)))) - -================== -Lists and tables -================== - -numbers : [Int]; -numbers -> [1, 2, 3]; - -config : {name: String, age: Int}; -config -> {name: "Alice", age: 30}; - ---- - -(program - (expression_statement - (binary_expression - left: (identifier) - operator: : - right: (list_type - type: (primitive_type)))) - (expression_statement - (binary_expression - left: (identifier) - operator: -> - right: (list_expression - elements: (number) - elements: (number) - elements: (number)))) - (expression_statement - (binary_expression - left: (identifier) - operator: : - right: (table_type - fields: (table_type_field - key: (identifier) - value: (primitive_type)) - fields: (table_type_field - key: (identifier) - value: (primitive_type))))) - (expression_statement - (binary_expression - left: (identifier) - operator: -> - right: (table_expression - fields: (table_field - key: (identifier) - value: (string)) - fields: (table_field - key: (identifier) - value: (number)))))) - -================== -Comments -================== - -// This is a comment -add : (Int, Int) -> Int; - ---- - -(program - (comment) - (function_definition - name: (identifier) - parameters: (parameter_list - (typed_parameter - name: (identifier) - type: (primitive_type)) - (typed_parameter - name: (identifier) - type: (primitive_type))) - return_type: (primitive_type))) diff --git a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/test/corpus/simple.txt b/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/test/corpus/simple.txt deleted file mode 100644 index 3945781..0000000 --- a/js/baba-yaga/dev/helix/tree-sitter-baba-yaga/test/corpus/simple.txt +++ /dev/null @@ -1,154 +0,0 @@ -================== -Simple function definition -================== - -add : (Int, Int) -> Int; -add a b -> a + b; - ---- - -(program - (function_definition - name: (identifier) - parameters: (parameter_list - (typed_parameter - name: (identifier) - type: (primitive_type)) - (typed_parameter - name: (identifier) - type: (primitive_type))) - return_type: (primitive_type)) - (function_definition - name: (identifier) - parameters: (parameter_list - (identifier) - (identifier)) - return_type: (binary_expression - left: (identifier) - operator: + - right: (identifier)))) - -================== -Simple when expression -================== - -result : when 5 is - 0 then "zero" - _ then "other"; - ---- - -(program - (expression_statement - (binary_expression - left: (identifier) - operator: : - right: (when_expression - subject: (number) - patterns: (when_pattern - pattern: (number) - result: (string)) - patterns: (when_pattern - pattern: (wildcard_pattern) - result: (string)))))) - -================== -Simple function call -================== - -greet : String -> String; -greet name -> str.concat "Hello, " name; - ---- - -(program - (function_definition - name: (identifier) - parameters: (parameter_list - (typed_parameter - name: (identifier) - type: (primitive_type))) - return_type: (primitive_type)) - (function_definition - name: (identifier) - parameters: (parameter_list - (identifier)) - return_type: (function_call - function: (member_access - object: (identifier) - member: (identifier)) - arguments: (string) - arguments: (identifier)))) - -================== -Simple list and table -================== - -numbers : [Int]; -numbers -> [1, 2, 3]; - -config : {name: String, age: Int}; -config -> {name: "Alice", age: 30}; - ---- - -(program - (expression_statement - (binary_expression - left: (identifier) - operator: : - right: (list_type - type: (primitive_type)))) - (expression_statement - (binary_expression - left: (identifier) - operator: -> - right: (list_expression - elements: (number) - elements: (number) - elements: (number)))) - (expression_statement - (binary_expression - left: (identifier) - operator: : - right: (table_type - fields: (table_type_field - key: (identifier) - value: (primitive_type)) - fields: (table_type_field - key: (identifier) - value: (primitive_type))))) - (expression_statement - (binary_expression - left: (identifier) - operator: -> - right: (table_expression - fields: (table_field - key: (identifier) - value: (string)) - fields: (table_field - key: (identifier) - value: (number)))))) - -================== -Comments -================== - -// This is a comment -add : (Int, Int) -> Int; - ---- - -(program - (comment) - (function_definition - name: (identifier) - parameters: (parameter_list - (typed_parameter - name: (identifier) - type: (primitive_type)) - (typed_parameter - name: (identifier) - type: (primitive_type))) - return_type: (primitive_type))) - diff --git a/js/baba-yaga/dev/micro/README.md b/js/baba-yaga/dev/micro/README.md deleted file mode 100644 index 2eb608b..0000000 --- a/js/baba-yaga/dev/micro/README.md +++ /dev/null @@ -1,156 +0,0 @@ -# Baba Yaga Micro Editor Support - -Syntax highlighting for the Baba Yaga programming language in Micro editor. - -## Installation - -### Method 1: Simple Installation (Recommended) -1. Copy the simple syntax file to your Micro configuration directory: - ```bash - # Create the directory if it doesn't exist - mkdir -p ~/.config/micro/syntax - - # Copy the simple syntax file (recommended) - cp syntax/baba-yaga-simple.yaml ~/.config/micro/syntax/ - ``` - -2. Restart Micro - -### Method 2: Full Installation -If the simple version works, try the full version: -```bash -cp syntax/baba-yaga.yaml ~/.config/micro/syntax/ -``` - -### Method 3: Using Git -```bash -cd ~/.config/micro/syntax -git clone https://github.com/your-username/baba-yaga.git baba-yaga -ln -s baba-yaga/syntax/baba-yaga-simple.yaml . -``` - -### Method 4: Plugin Installation -If you have the Micro plugin manager installed: - -1. Open Micro -2. Press `Ctrl+E` to open the command palette -3. Type: `plugin install baba-yaga-syntax` - -## Features -- Syntax highlighting for Baba Yaga language -- Automatic filetype detection for `.baba` files -- Support for: - - Keywords (when, then, is, Ok, Err, true, false, etc.) - - Types (Bool, Int, Float, String, List, Table, Result, Number) - - Operators (->, =>, +, -, *, /, %, =, !=, >, <, >=, <=, ..) - - Functions and variables - - Strings and numbers - - Comments (// and /* */) - - When expressions - - Built-in functions (io.out, io.in, str.*, math.*, etc.) - - Lists and tables - - Result literals (Ok, Err) - -## Usage -Open any `.baba` file and Micro should automatically detect the language and apply syntax highlighting. - -## Configuration -You can customize the syntax highlighting by editing `~/.config/micro/settings.json`: - -```json -{ - "syntax": "baba-yaga", - "colorscheme": "default", - "tabsize": 2, - "indentchar": " ", - "autoindent": true -} -``` - -## File Structure -``` -dev/micro/ -โโโ syntax/ -โ โโโ baba-yaga.yaml # Full Micro syntax highlighting rules -โ โโโ baba-yaga-simple.yaml # Simple syntax highlighting rules -โโโ README.md # This file -``` - -## Troubleshooting - -### "Error parsing syntax file" or "Bad type []interface {}" -This error indicates a YAML parsing issue. Try these solutions: - -1. **Use the simple syntax file first**: - ```bash - cp syntax/baba-yaga-simple.yaml ~/.config/micro/syntax/ - ``` - -2. **Check YAML syntax**: - ```bash - # Validate the YAML file - python3 -c "import yaml; yaml.safe_load(open('syntax/baba-yaga-simple.yaml'))" - ``` - -3. **Remove problematic rules**: - If the simple version works, gradually add rules from the full version to identify the problematic one. - -4. **Check Micro version**: - ```bash - micro --version - ``` - Some older versions of Micro have different YAML parsing requirements. - -### Syntax highlighting doesn't work -If syntax highlighting doesn't work: - -1. Check that the syntax file is in the correct location: `~/.config/micro/syntax/baba-yaga.yaml` -2. Verify filetype detection: `Ctrl+Shift+P` then type `set filetype baba-yaga` -3. Force syntax highlighting: `Ctrl+Shift+P` then type `set syntax baba-yaga` -4. Check for errors: `Ctrl+Shift+P` then type `log` - -### Common Issues -- **"File not found"**: Make sure the syntax file is in the correct directory -- **"Invalid syntax"**: Try the simple version first -- **"No highlighting"**: Force the syntax mode manually - -## Customization -You can customize the colors by modifying your Micro colorscheme. The syntax file uses these token types: - -- `comment` - Comments (// and /* */) -- `string` - String literals -- `constant` - Numbers and constants -- `keyword` - Keywords and built-in functions -- `operator` - Operators -- `type` - Type names -- `variable` - Variables and identifiers - -## Building from Source -To modify the syntax highlighting: - -1. Edit `syntax/baba-yaga-simple.yaml` (start with the simple version) -2. Test with a sample `.baba` file -3. Copy to your Micro configuration directory -4. If it works, gradually add more rules from the full version - -## Example -The syntax highlighting will work with code like: - -```baba -// This is a comment -myVar : 42; -myString : "Hello, Baba Yaga!"; -myFunction : x -> x + 1; -myResult : when x is - 1 then "One" - _ then "Other"; -``` - -## Alternative: Use Built-in Syntax -If the custom syntax doesn't work, you can use Micro's built-in syntax highlighting: - -1. Open a `.baba` file -2. Press `Ctrl+Shift+P` and type `set syntax go` (similar syntax) -3. Or use `set syntax javascript` for basic highlighting - -This will provide basic syntax highlighting while you troubleshoot the custom configuration. diff --git a/js/baba-yaga/dev/micro/syntax/baba-yaga-simple.yaml b/js/baba-yaga/dev/micro/syntax/baba-yaga-simple.yaml deleted file mode 100644 index 04f4586..0000000 --- a/js/baba-yaga/dev/micro/syntax/baba-yaga-simple.yaml +++ /dev/null @@ -1,50 +0,0 @@ -filetype: baba-yaga -detect: - filename: "\\.baba$" - -rules: - - id: comment - type: comment - start: "//" - end: "$" - - - id: string - type: string - start: "\"" - end: "\"" - - - id: number - type: constant - match: "\\b\\d+\\b" - - - id: keyword - type: keyword - match: "\\b(when|then|is|Ok|Err|true|false|PI|INFINITY|and|or|xor)\\b" - - - id: function - type: keyword - match: "\\b(map|filter|reduce|append|set|merge|shape)\\b" - - - id: io - type: keyword - match: "\\b(io\\.out|io\\.in)\\b" - - - id: str-func - type: keyword - match: "\\b(str\\.concat|str\\.split|str\\.join|str\\.length|str\\.substring|str\\.replace|str\\.trim|str\\.upper|str\\.lower)\\b" - - - id: math-func - type: keyword - match: "\\b(math\\.abs|math\\.sign|math\\.floor|math\\.ceil|math\\.round|math\\.trunc|math\\.min|math\\.max|math\\.clamp|math\\.pow|math\\.sqrt|math\\.exp|math\\.log|math\\.sin|math\\.cos|math\\.tan|math\\.asin|math\\.acos|math\\.atan|math\\.atan2|math\\.deg|math\\.rad|math\\.random|math\\.randomInt)\\b" - - - id: operator - type: operator - match: "(\\+|-|\\*|/|%|=|!=|>|<|>=|<=|->|\\.\\.|:)" - - - id: type - type: type - match: "\\b(Bool|Int|Float|String|List|Table|Result|Number)\\b" - - - id: variable - type: variable - match: "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b" diff --git a/js/baba-yaga/dev/micro/syntax/baba-yaga.yaml b/js/baba-yaga/dev/micro/syntax/baba-yaga.yaml deleted file mode 100644 index f94c477..0000000 --- a/js/baba-yaga/dev/micro/syntax/baba-yaga.yaml +++ /dev/null @@ -1,61 +0,0 @@ -filetype: baba-yaga -detect: - filename: "\\.baba$" - -rules: - # Comments - - id: comment - type: comment - start: "//" - end: "$" - - # Strings - - id: string - type: string - start: "\"" - end: "\"" - - # Numbers - - id: number - type: constant - match: "\\b\\d+\\b" - - # Keywords - - id: keyword - type: keyword - match: "\\b(when|then|is|Ok|Err|true|false|PI|INFINITY|and|or|xor)\\b" - - # Built-in functions - - id: function - type: keyword - match: "\\b(map|filter|reduce|append|set|merge|shape)\\b" - - # IO functions - - id: io - type: keyword - match: "\\b(io\\.out|io\\.in)\\b" - - # String functions - - id: str-func - type: keyword - match: "\\b(str\\.concat|str\\.split|str\\.join|str\\.length|str\\.substring|str\\.replace|str\\.trim|str\\.upper|str\\.lower)\\b" - - # Math functions - - id: math-func - type: keyword - match: "\\b(math\\.abs|math\\.sign|math\\.floor|math\\.ceil|math\\.round|math\\.trunc|math\\.min|math\\.max|math\\.clamp|math\\.pow|math\\.sqrt|math\\.exp|math\\.log|math\\.sin|math\\.cos|math\\.tan|math\\.asin|math\\.acos|math\\.atan|math\\.atan2|math\\.deg|math\\.rad|math\\.random|math\\.randomInt)\\b" - - # Operators - - id: operator - type: operator - match: "(\\+|-|\\*|/|%|=|!=|>|<|>=|<=|->|\\.\\.|:)" - - # Types - - id: type - type: type - match: "\\b(Bool|Int|Float|String|List|Table|Result|Number)\\b" - - # Variables - - id: variable - type: variable - match: "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b" diff --git a/js/baba-yaga/dev/vscode/baba-yaga-1.0.3.vsix b/js/baba-yaga/dev/vscode/baba-yaga-1.0.3.vsix new file mode 100644 index 0000000..13f8b6e --- /dev/null +++ b/js/baba-yaga/dev/vscode/baba-yaga-1.0.3.vsix Binary files differdiff --git a/js/baba-yaga/dev/vscode/baba-yaga-1.0.4.vsix b/js/baba-yaga/dev/vscode/baba-yaga-1.0.4.vsix new file mode 100644 index 0000000..ba62b81 --- /dev/null +++ b/js/baba-yaga/dev/vscode/baba-yaga-1.0.4.vsix Binary files differdiff --git a/js/baba-yaga/dev/vscode/extension.js b/js/baba-yaga/dev/vscode/extension.js index 483c340..5759787 100644 --- a/js/baba-yaga/dev/vscode/extension.js +++ b/js/baba-yaga/dev/vscode/extension.js @@ -99,7 +99,7 @@ function isInBabaYagaCodeBlock(document, position) { for (let i = 0; i <= position.line; i++) { const currentLine = lines[i]; - if (currentLine.trim().startsWith('```baba')) { + if (currentLine.trim().startsWith('```baba') || currentLine.trim().startsWith('```baba-yaga') || currentLine.trim().startsWith('```by')) { inBabaBlock = true; } else if (currentLine.trim() === '```' && inBabaBlock) { inBabaBlock = false; @@ -270,7 +270,7 @@ class BabaYagaDiagnosticProvider { } onDidChangeTextDocument(event) { - if (event.document.languageId === 'baba-yaga' || event.document.languageId === 'markdown') { + if (event.document.languageId === 'baba-yaga' || event.document.languageId === 'markdown' || event.document.languageId === 'baba' || event.document.languageId === 'by') { this.updateDiagnostics(event.document); } } @@ -371,16 +371,16 @@ class BabaYagaTypeHintsProvider { } }); - // Above-line decorations (before expressions) - this.aboveDecorations = vscode.window.createTextEditorDecorationType({ - before: { - contentText: '', - color: new vscode.ThemeColor('editorCodeLens.foreground'), - fontStyle: 'italic', - fontSize: '0.8em', - textDecoration: 'none; display: block; text-align: right; margin-right: 1em; line-height: 1;' - } - }); + // Above-line decorations (on line above expressions) - DISABLED + // this.aboveDecorations = vscode.window.createTextEditorDecorationType({ + // after: { + // contentText: '', + // color: new vscode.ThemeColor('editorCodeLens.foreground'), + // fontStyle: 'italic', + // fontSize: '1em', + // textDecoration: 'none; display: block; text-align: right; margin-right: 1em; line-height: 1.5;' + // } + // }); } updateTypeHints(editor) { @@ -390,7 +390,7 @@ class BabaYagaTypeHintsProvider { // Clear previous decorations editor.setDecorations(this.inlineDecorations, []); - editor.setDecorations(this.aboveDecorations, []); + // editor.setDecorations(this.aboveDecorations, []); if (this.mode === 'none') { return; // No active type hints, only hover @@ -399,7 +399,7 @@ class BabaYagaTypeHintsProvider { const document = editor.document; const text = document.getText(); const inlineDecorations = []; - const aboveDecorations = []; + // const aboveDecorations = []; // Not used when above mode is disabled // Parse function definitions to build type map const functionTypes = new Map(); @@ -447,20 +447,22 @@ class BabaYagaTypeHintsProvider { } } }); - } else if (this.mode === 'above') { - const lineStart = new vscode.Position(startPos.line, 0); - aboveDecorations.push({ - range: new vscode.Range(lineStart, lineStart), - renderOptions: { - before: { - contentText: `${' '.repeat(Math.max(0, startPos.character - typeInfo.length - 3))} : ${typeInfo}\n`, - color: new vscode.ThemeColor('editorCodeLens.foreground'), - fontStyle: 'italic', - fontSize: '0.8em' - } - } - }); } + // Above mode disabled - commented out + // } else if (this.mode === 'above') { + // const lineAbove = new vscode.Position(Math.max(0, startPos.line - 1), 0); + // aboveDecorations.push({ + // range: new vscode.Range(lineAbove, lineAbove), + // renderOptions: { + // after: { + // contentText: `\n${' '.repeat(Math.max(0, startPos.character - typeInfo.length - 3))} : ${typeInfo}`, + // color: new vscode.ThemeColor('editorCodeLens.foreground'), + // fontStyle: 'italic', + // fontSize: '0.8em' + // } + // } + // }); + // } } }); } @@ -489,20 +491,22 @@ class BabaYagaTypeHintsProvider { } } }); - } else if (this.mode === 'above') { - const lineStart = new vscode.Position(startPos.line, 0); - aboveDecorations.push({ - range: new vscode.Range(lineStart, lineStart), - renderOptions: { - before: { - contentText: `${' '.repeat(Math.max(0, startPos.character - typeInfo.length - 3))} : ${typeInfo}\n`, - color: new vscode.ThemeColor('editorCodeLens.foreground'), - fontStyle: 'italic', - fontSize: '0.8em' - } - } - }); } + // Above mode disabled - commented out + // else if (this.mode === 'above') { + // const lineAbove = new vscode.Position(Math.max(0, startPos.line - 1), 0); + // aboveDecorations.push({ + // range: new vscode.Range(lineAbove, lineAbove), + // renderOptions: { + // after: { + // contentText: `\n${' '.repeat(Math.max(0, startPos.character - typeInfo.length - 3))} : ${typeInfo}`, + // color: new vscode.ThemeColor('editorCodeLens.foreground'), + // fontStyle: 'italic', + // fontSize: '0.8em' + // } + // } + // }); + // } } }); } @@ -526,20 +530,22 @@ class BabaYagaTypeHintsProvider { } } }); - } else if (this.mode === 'above') { - const lineStart = new vscode.Position(startPos.line, 0); - aboveDecorations.push({ - range: new vscode.Range(lineStart, lineStart), - renderOptions: { - before: { - contentText: `${' '.repeat(Math.max(0, startPos.character - 18))} : Pattern Matching\n`, - color: new vscode.ThemeColor('editorCodeLens.foreground'), - fontStyle: 'italic', - fontSize: '0.8em' - } - } - }); } + // Above mode disabled - commented out + // else if (this.mode === 'above') { + // const lineAbove = new vscode.Position(Math.max(0, startPos.line - 1), 0); + // aboveDecorations.push({ + // range: new vscode.Range(lineAbove, lineAbove), + // renderOptions: { + // after: { + // contentText: `\n${' '.repeat(Math.max(0, startPos.character - 18))} : Pattern Matching`, + // color: new vscode.ThemeColor('editorCodeLens.foreground'), + // fontStyle: 'italic', + // fontSize: '0.8em' + // } + // } + // }); + // } } // Result constructors @@ -565,20 +571,20 @@ class BabaYagaTypeHintsProvider { } } }); - } else if (this.mode === 'above') { - const lineStart = new vscode.Position(startPos.line, 0); - aboveDecorations.push({ - range: new vscode.Range(lineStart, lineStart), - renderOptions: { - before: { - contentText: `${' '.repeat(Math.max(0, startPos.character - 12))} : Result<T>\n`, - color: new vscode.ThemeColor('editorCodeLens.foreground'), - fontStyle: 'italic', - fontSize: '0.8em' - } - } - }); } + // Above mode disabled - commented out + // else if (this.mode === 'above') { + // const lineAbove = new vscode.Position(Math.max(0, startPos.line - 1), 0); + // aboveDecorations.push({ + // range: new vscode.Range(lineAbove, lineAbove), + // renderOptions: { + // after: { + // contentText: `\n${' '.repeat(Math.max(0, startPos.character - 12))} : Result<T>`, + // fontSize: '0.8em' + // } + // } + // }); + // } } } } @@ -586,9 +592,10 @@ class BabaYagaTypeHintsProvider { // Apply decorations based on mode if (this.mode === 'inline') { editor.setDecorations(this.inlineDecorations, inlineDecorations); - } else if (this.mode === 'above') { - editor.setDecorations(this.aboveDecorations, aboveDecorations); } + // if (this.mode === 'above') { + // editor.setDecorations(this.aboveDecorations, aboveDecorations); + // } } getTypeInfo(funcName, functionTypes) { @@ -618,7 +625,7 @@ class BabaYagaTypeHintsProvider { dispose() { this.inlineDecorations.dispose(); - this.aboveDecorations.dispose(); + // this.aboveDecorations.dispose(); } } diff --git a/js/baba-yaga/dev/vscode/package-lock.json b/js/baba-yaga/dev/vscode/package-lock.json index 9735a2d..060e0e9 100644 --- a/js/baba-yaga/dev/vscode/package-lock.json +++ b/js/baba-yaga/dev/vscode/package-lock.json @@ -1,12 +1,12 @@ { "name": "baba-yaga", - "version": "1.0.3", + "version": "1.0.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "baba-yaga", - "version": "1.0.3", + "version": "1.0.4", "license": "MIT", "devDependencies": { "@vscode/vsce": "^2.15.0" diff --git a/js/baba-yaga/dev/vscode/package.json b/js/baba-yaga/dev/vscode/package.json index ccf6105..8f48448 100644 --- a/js/baba-yaga/dev/vscode/package.json +++ b/js/baba-yaga/dev/vscode/package.json @@ -2,7 +2,7 @@ "name": "baba-yaga", "displayName": "Baba Yaga", "description": "Language support for Baba Yaga programming language", - "version": "1.0.3", + "version": "1.0.4", "publisher": "baba-yaga", "engines": { "vscode": "^1.74.0" |