diff --git a/crates/decodal-core/src/ast.rs b/crates/decodal-core/src/ast.rs index cadbf5a..ab01b76 100644 --- a/crates/decodal-core/src/ast.rs +++ b/crates/decodal-core/src/ast.rs @@ -71,6 +71,10 @@ pub enum Expr { scrutinee: ExprId, arms: Vec, }, + Unary { + op: UnaryOp, + expr: ExprId, + }, Binary { op: BinaryOp, lhs: ExprId, @@ -117,8 +121,17 @@ pub enum Literal { Bool(bool), } +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum UnaryOp { + Neg, +} + #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum BinaryOp { + Add, + Sub, + Mul, + Div, And, Patch, } diff --git a/crates/decodal-core/src/eval.rs b/crates/decodal-core/src/eval.rs index 6f29db2..24ded87 100644 --- a/crates/decodal-core/src/eval.rs +++ b/crates/decodal-core/src/eval.rs @@ -2,7 +2,7 @@ use alloc::{format, string::String, vec, vec::Vec}; use crate::{ ExprId, SourceForm, SourceId, Span, - ast::{Ast, BinaryOp, CompareOp, Expr, Field, Literal}, + ast::{Ast, BinaryOp, CompareOp, Expr, Field, Literal, UnaryOp}, constraints::normalize_constraints, diagnostic::{Diagnostic, DiagnosticKind, Result}, embedding::HostValue, @@ -337,6 +337,18 @@ impl Engine { "no match arm matched", )) } + Expr::Unary { op, expr } => { + let value = self.eval_expr( + ExprRef { + module: reference.module, + expr, + }, + env, + )?; + match op { + UnaryOp::Neg => negate_number(value, span), + } + } Expr::Binary { op, lhs, rhs } => { let lhs = self.eval_expr( ExprRef { @@ -353,6 +365,10 @@ impl Engine { env, )?; match op { + BinaryOp::Add => arithmetic(lhs, rhs, ArithmeticOp::Add, span), + BinaryOp::Sub => arithmetic(lhs, rhs, ArithmeticOp::Sub, span), + BinaryOp::Mul => arithmetic(lhs, rhs, ArithmeticOp::Mul, span), + BinaryOp::Div => arithmetic(lhs, rhs, ArithmeticOp::Div, span), BinaryOp::And => self.compose_and(lhs, rhs, span), BinaryOp::Patch => self.patch(lhs, rhs), } @@ -999,6 +1015,116 @@ fn satisfies_regex(_value: &RuntimeValue, _pattern: &str, span: Span) -> Result< )) } +#[derive(Debug, Clone, Copy)] +enum ArithmeticOp { + Add, + Sub, + Mul, + Div, +} + +#[derive(Debug, Clone, Copy)] +enum Number { + Int(i64), + Float(f64), +} + +fn negate_number(value: RuntimeValue, span: Span) -> Result { + match value { + RuntimeValue::Concrete(ConcreteValue::Int(value)) => value + .checked_neg() + .map(|value| RuntimeValue::Concrete(ConcreteValue::Int(value))) + .ok_or_else(|| arithmetic_error(span, "integer negation overflow")), + RuntimeValue::Concrete(ConcreteValue::Float(value)) => { + Ok(RuntimeValue::Concrete(ConcreteValue::Float(-value))) + } + _ => Err(Diagnostic::new( + DiagnosticKind::TypeMismatch, + span, + "unary '-' expects a numeric value", + )), + } +} + +fn arithmetic( + lhs: RuntimeValue, + rhs: RuntimeValue, + op: ArithmeticOp, + span: Span, +) -> Result { + let lhs = number_from_runtime(lhs).ok_or_else(|| arithmetic_type_error(span))?; + let rhs = number_from_runtime(rhs).ok_or_else(|| arithmetic_type_error(span))?; + match (lhs, rhs) { + (Number::Int(lhs), Number::Int(rhs)) => arithmetic_int(lhs, rhs, op, span), + (lhs, rhs) => arithmetic_float(number_to_f64(lhs), number_to_f64(rhs), op, span), + } +} + +fn arithmetic_int(lhs: i64, rhs: i64, op: ArithmeticOp, span: Span) -> Result { + match op { + ArithmeticOp::Add => lhs + .checked_add(rhs) + .map(|value| RuntimeValue::Concrete(ConcreteValue::Int(value))) + .ok_or_else(|| arithmetic_error(span, "integer addition overflow")), + ArithmeticOp::Sub => lhs + .checked_sub(rhs) + .map(|value| RuntimeValue::Concrete(ConcreteValue::Int(value))) + .ok_or_else(|| arithmetic_error(span, "integer subtraction overflow")), + ArithmeticOp::Mul => lhs + .checked_mul(rhs) + .map(|value| RuntimeValue::Concrete(ConcreteValue::Int(value))) + .ok_or_else(|| arithmetic_error(span, "integer multiplication overflow")), + ArithmeticOp::Div => { + if rhs == 0 { + return Err(arithmetic_error(span, "division by zero")); + } + Ok(RuntimeValue::Concrete(ConcreteValue::Float( + lhs as f64 / rhs as f64, + ))) + } + } +} + +fn arithmetic_float(lhs: f64, rhs: f64, op: ArithmeticOp, span: Span) -> Result { + if matches!(op, ArithmeticOp::Div) && rhs == 0.0 { + return Err(arithmetic_error(span, "division by zero")); + } + let value = match op { + ArithmeticOp::Add => lhs + rhs, + ArithmeticOp::Sub => lhs - rhs, + ArithmeticOp::Mul => lhs * rhs, + ArithmeticOp::Div => lhs / rhs, + }; + Ok(RuntimeValue::Concrete(ConcreteValue::Float(value))) +} + +fn number_from_runtime(value: RuntimeValue) -> Option { + match value { + RuntimeValue::Concrete(ConcreteValue::Int(value)) => Some(Number::Int(value)), + RuntimeValue::Concrete(ConcreteValue::Float(value)) => Some(Number::Float(value)), + _ => None, + } +} + +fn number_to_f64(value: Number) -> f64 { + match value { + Number::Int(value) => value as f64, + Number::Float(value) => value, + } +} + +fn arithmetic_type_error(span: Span) -> Diagnostic { + Diagnostic::new( + DiagnosticKind::TypeMismatch, + span, + "arithmetic operators expect numeric values", + ) +} + +fn arithmetic_error(span: Span, message: &'static str) -> Diagnostic { + Diagnostic::new(DiagnosticKind::Conflict, span, message) +} + fn compare_value(value: &RuntimeValue, op: CompareOp, expected: &LiteralValue) -> bool { match (value, expected) { (RuntimeValue::Concrete(ConcreteValue::Int(actual)), LiteralValue::Int(expected)) => { @@ -1072,6 +1198,41 @@ mod tests { assert!(matches!(data, Data::Object(_))); } + #[test] + fn evaluates_arithmetic_expressions() { + let data = eval_data( + r#" + { + sum = 1 + 2 * 3; + diff = 10 - 4; + product = (2 + 3) * 4; + quotient = 5 / 2; + negative = -3 + 1; + } + "#, + ); + let Data::Object(fields) = data else { panic!() }; + assert_eq!(fields[0].value, Data::Int(7)); + assert_eq!(fields[1].value, Data::Int(6)); + assert_eq!(fields[2].value, Data::Int(20)); + assert_eq!(fields[3].value, Data::Float(2.5)); + assert_eq!(fields[4].value, Data::Int(-2)); + } + + #[test] + fn arithmetic_can_feed_constraints() { + let data = eval_data("port = Int & > 4000 + 42 default 8080;"); + let Data::Object(fields) = data else { panic!() }; + assert_eq!(fields[0].value, Data::Int(8080)); + } + + #[test] + fn rejects_division_by_zero() { + let parsed = parse_source("1 / 0").unwrap(); + let mut engine = Engine::from_parse(parsed.ast, parsed.root); + assert!(engine.eval_root().is_err()); + } + #[test] fn composes_schema_and_value() { let data = eval_data( diff --git a/crates/decodal-core/src/lexer.rs b/crates/decodal-core/src/lexer.rs index bf7abb0..7e4d125 100644 --- a/crates/decodal-core/src/lexer.rs +++ b/crates/decodal-core/src/lexer.rs @@ -36,6 +36,10 @@ pub enum TokenKind { Equal, Arrow, Amp, + Plus, + Minus, + Star, + Slash, SlashSlash, Gt, Gte, @@ -67,9 +71,13 @@ impl<'a> Lexer<'a> { pub fn tokenize(mut self) -> Result> { let mut tokens = Vec::new(); + let mut previous = None; loop { - let token = self.next_token()?; + let token = self.next_token(previous.as_ref())?; let is_eof = token.kind == TokenKind::Eof; + if !is_eof { + previous = Some(token.kind.clone()); + } tokens.push(token); if is_eof { return Ok(tokens); @@ -77,7 +85,7 @@ impl<'a> Lexer<'a> { } } - fn next_token(&mut self) -> Result { + fn next_token(&mut self, previous: Option<&TokenKind>) -> Result { self.skip_ws_and_comments(); let start = self.pos; let Some(ch) = self.peek() else { @@ -136,6 +144,18 @@ impl<'a> Lexer<'a> { self.pos += 1; TokenKind::Amp } + b'+' => { + self.pos += 1; + TokenKind::Plus + } + b'-' => { + self.pos += 1; + TokenKind::Minus + } + b'*' => { + self.pos += 1; + TokenKind::Star + } b'=' => { self.pos += 1; if self.consume(b'>') { @@ -164,6 +184,8 @@ impl<'a> Lexer<'a> { self.pos += 1; if self.consume(b'/') { TokenKind::SlashSlash + } else if previous.is_some_and(token_can_end_expr) { + TokenKind::Slash } else { self.lex_regex(start)? } @@ -341,6 +363,23 @@ fn is_ident_continue(c: u8) -> bool { c.is_ascii_alphanumeric() || c == b'_' } +fn token_can_end_expr(kind: &TokenKind) -> bool { + matches!( + kind, + TokenKind::Ident(_) + | TokenKind::Int(_) + | TokenKind::Float(_) + | TokenKind::String(_) + | TokenKind::Regex(_) + | TokenKind::True + | TokenKind::False + | TokenKind::Underscore + | TokenKind::RBrace + | TokenKind::RBracket + | TokenKind::RParen + ) +} + #[cfg(test)] mod tests { use super::*; diff --git a/crates/decodal-core/src/parser.rs b/crates/decodal-core/src/parser.rs index cdcd1e5..cf51ee9 100644 --- a/crates/decodal-core/src/parser.rs +++ b/crates/decodal-core/src/parser.rs @@ -2,7 +2,7 @@ use alloc::{string::String, vec::Vec}; use crate::{ SourceId, Span, - ast::{Ast, BinaryOp, CompareOp, Expr, ExprId, Field, Literal, MatchArm, Param}, + ast::{Ast, BinaryOp, CompareOp, Expr, ExprId, Field, Literal, MatchArm, Param, UnaryOp}, diagnostic::{Diagnostic, Result}, lexer::{Lexer, Token, TokenKind}, }; @@ -115,6 +115,38 @@ impl Parser { let rhs = self.parse_expr(r_bp)?; let span = self.ast.span(lhs).join(self.ast.span(rhs)).join(op_span); lhs = match kind { + InfixKind::Add => self.ast.push( + Expr::Binary { + op: BinaryOp::Add, + lhs, + rhs, + }, + span, + ), + InfixKind::Sub => self.ast.push( + Expr::Binary { + op: BinaryOp::Sub, + lhs, + rhs, + }, + span, + ), + InfixKind::Mul => self.ast.push( + Expr::Binary { + op: BinaryOp::Mul, + lhs, + rhs, + }, + span, + ), + InfixKind::Div => self.ast.push( + Expr::Binary { + op: BinaryOp::Div, + lhs, + rhs, + }, + span, + ), InfixKind::And => self.ast.push( Expr::Binary { op: BinaryOp::And, @@ -173,6 +205,17 @@ impl Parser { TokenKind::Let => self.parse_let(token.span), TokenKind::Match => self.parse_match(token.span), TokenKind::Import => self.parse_import(token.span), + TokenKind::Minus => { + let expr = self.parse_expr(11)?; + let span = token.span.join(self.ast.span(expr)); + Ok(self.ast.push( + Expr::Unary { + op: UnaryOp::Neg, + expr, + }, + span, + )) + } TokenKind::Gt | TokenKind::Gte | TokenKind::Lt | TokenKind::Lte => { let op = match token.kind { TokenKind::Gt => CompareOp::Gt, @@ -181,7 +224,7 @@ impl Parser { TokenKind::Lte => CompareOp::Lte, _ => unreachable!(), }; - let value = self.parse_expr(8)?; + let value = self.parse_expr(6)?; let span = token.span.join(self.ast.span(value)); Ok(self.ast.push(Expr::CompareConstraint { op, value }, span)) } @@ -406,6 +449,10 @@ impl Parser { TokenKind::Default => Some((InfixKind::Default, 1, 2)), TokenKind::SlashSlash => Some((InfixKind::Patch, 3, 4)), TokenKind::Amp => Some((InfixKind::And, 5, 6)), + TokenKind::Plus => Some((InfixKind::Add, 7, 8)), + TokenKind::Minus => Some((InfixKind::Sub, 7, 8)), + TokenKind::Star => Some((InfixKind::Mul, 9, 10)), + TokenKind::Slash => Some((InfixKind::Div, 9, 10)), _ => None, } } @@ -498,6 +545,10 @@ impl Parser { #[derive(Debug, Clone, Copy)] enum InfixKind { + Add, + Sub, + Mul, + Div, And, Patch, Default, diff --git a/doc/manual/souce/language/expression/arithmetic.md b/doc/manual/souce/language/expression/arithmetic.md new file mode 100644 index 0000000..2942851 --- /dev/null +++ b/doc/manual/souce/language/expression/arithmetic.md @@ -0,0 +1,43 @@ +# Arithmetic Expression + +Decodal supports arithmetic over concrete numeric values. + +```dcdl +{ + workers = 2 + 2; + timeout = 30.0 / 2; + port = 8000 + 80; + negative = -1; +} +``` + +## Operators + +- `+` addition +- `-` subtraction +- `*` multiplication +- `/` division +- unary `-` negation + +`*` and `/` bind tighter than `+` and `-`. +Parentheses can be used to make grouping explicit. + +```dcdl +2 + 3 * 4 # 14 +(2 + 3) * 4 # 20 +``` + +## Numeric behavior + +Arithmetic requires concrete `Int` or `Float` operands. +`Int + Int`, `Int - Int`, and `Int * Int` produce `Int` when no overflow occurs. +Mixed `Int` / `Float` arithmetic produces `Float`. +Division always produces `Float`. + +Division by zero and integer overflow are evaluation errors. + +Arithmetic expressions can be used anywhere a concrete numeric expression is expected, including defaults and numeric constraints. + +```dcdl +port = Int & > 4000 + 42 default 8080; +``` diff --git a/doc/manual/souce/language/operators.md b/doc/manual/souce/language/operators.md index 391cab5..5457f82 100644 --- a/doc/manual/souce/language/operators.md +++ b/doc/manual/souce/language/operators.md @@ -1,6 +1,26 @@ -# 合成演算子 +# 演算子 -この章では、`&` と `//` の意味を定義する。 +この章では、Decodal の演算子の意味を定義する。 + +## 優先順位 + +優先順位は高い順に以下である。 + +1. 関数呼び出しとフィールド参照 +2. unary `-` +3. `*` `/` +4. `+` `-` +5. `&` +6. `//` +7. `default` + +同じ優先順位の二項演算子は左結合である。 +`default` は右結合である。 + +## Arithmetic operators + +`+` `-` `*` `/` は具体的な `Int` / `Float` に対する四則演算である。 +詳しくは [Arithmetic Expression](./expression/arithmetic.md) を参照する。 ## `&`: 制約合成 diff --git a/doc/manual/souce/language/syntax.md b/doc/manual/souce/language/syntax.md index f9176fc..cfcc564 100644 --- a/doc/manual/souce/language/syntax.md +++ b/doc/manual/souce/language/syntax.md @@ -115,6 +115,7 @@ rec 主要な演算子は以下である。 ```text ++ - * / 四則演算 & 制約合成 // patch 合成 default fallback 指定 @@ -122,5 +123,4 @@ default fallback 指定 . フィールド参照 / ドットパス定義 ``` -演算子の優先順位は未確定である。 -詳細は [合成演算子](./operators.md) で定義する。 +演算子の優先順位は [合成演算子](./operators.md) で定義する。 diff --git a/editors/tree-sitter-decodal/corpus/basic.txt b/editors/tree-sitter-decodal/corpus/basic.txt index d9922d5..17903c2 100644 --- a/editors/tree-sitter-decodal/corpus/basic.txt +++ b/editors/tree-sitter-decodal/corpus/basic.txt @@ -74,3 +74,31 @@ base // { body: (literal (string))) (match_arm body: (literal (string)))))))) + +================== +Arithmetic +================== +{ + value = 1 + 2 * 3; + grouped = (1 + 2) / -3; +} +--- + +(source_file + (object + (field_definition + path: (field_path (identifier)) + value: (binary_expression + left: (literal (integer)) + right: (binary_expression + left: (literal (integer)) + right: (literal (integer))))) + (field_definition + path: (field_path (identifier)) + value: (binary_expression + left: (parenthesized_expression + (binary_expression + left: (literal (integer)) + right: (literal (integer)))) + right: (unary_expression + operand: (literal (integer))))))) diff --git a/editors/tree-sitter-decodal/grammar.js b/editors/tree-sitter-decodal/grammar.js index 86e5416..8f8c3ff 100644 --- a/editors/tree-sitter-decodal/grammar.js +++ b/editors/tree-sitter-decodal/grammar.js @@ -2,6 +2,9 @@ const PREC = { DEFAULT: 1, PATCH: 2, AND: 3, + ADD: 4, + MUL: 5, + UNARY: 6, CALL: 7, PATH: 8, }; @@ -52,6 +55,7 @@ module.exports = grammar({ $.parenthesized_expression, $.call_expression, $.path_expression, + $.unary_expression, $.binary_expression, $.default_expression, ), @@ -161,10 +165,25 @@ module.exports = grammar({ comparison_constraint: $ => prec(6, seq( field('operator', choice('>', '>=', '<', '<=')), - field('value', choice($.integer, $.float)), + field('value', $._expression), + )), + + unary_expression: $ => prec(PREC.UNARY, seq( + field('operator', '-'), + field('operand', $._expression), )), binary_expression: $ => choice( + prec.left(PREC.ADD, seq( + field('left', $._expression), + field('operator', choice('+', '-')), + field('right', $._expression), + )), + prec.left(PREC.MUL, seq( + field('left', $._expression), + field('operator', choice('*', '/')), + field('right', $._expression), + )), prec.left(PREC.AND, seq( field('left', $._expression), field('operator', '&'), diff --git a/editors/tree-sitter-decodal/queries/highlights.scm b/editors/tree-sitter-decodal/queries/highlights.scm index 8cb604b..db5f6b9 100644 --- a/editors/tree-sitter-decodal/queries/highlights.scm +++ b/editors/tree-sitter-decodal/queries/highlights.scm @@ -17,6 +17,10 @@ [ "&" "//" + "+" + "-" + "*" + "/" "=>" "=" ">" diff --git a/editors/tree-sitter-decodal/src/grammar.json b/editors/tree-sitter-decodal/src/grammar.json index f2f9e0b..f6a3eae 100644 --- a/editors/tree-sitter-decodal/src/grammar.json +++ b/editors/tree-sitter-decodal/src/grammar.json @@ -127,6 +127,10 @@ "type": "SYMBOL", "name": "path_expression" }, + { + "type": "SYMBOL", + "name": "unary_expression" + }, { "type": "SYMBOL", "name": "binary_expression" @@ -844,17 +848,33 @@ "type": "FIELD", "name": "value", "content": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "integer" - }, - { - "type": "SYMBOL", - "name": "float" - } - ] + "type": "SYMBOL", + "name": "_expression" + } + } + ] + } + }, + "unary_expression": { + "type": "PREC", + "value": 6, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "-" + } + }, + { + "type": "FIELD", + "name": "operand", + "content": { + "type": "SYMBOL", + "name": "_expression" } } ] @@ -863,6 +883,90 @@ "binary_expression": { "type": "CHOICE", "members": [ + { + "type": "PREC_LEFT", + "value": 4, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "+" + }, + { + "type": "STRING", + "value": "-" + } + ] + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 5, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "*" + }, + { + "type": "STRING", + "value": "/" + } + ] + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + } + }, { "type": "PREC_LEFT", "value": 3, diff --git a/editors/tree-sitter-decodal/src/node-types.json b/editors/tree-sitter-decodal/src/node-types.json index 58e43bc..fb9d48c 100644 --- a/editors/tree-sitter-decodal/src/node-types.json +++ b/editors/tree-sitter-decodal/src/node-types.json @@ -66,6 +66,10 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] } @@ -137,6 +141,10 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] }, @@ -148,6 +156,22 @@ "type": "&", "named": false }, + { + "type": "*", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "/", + "named": false + }, { "type": "//", "named": false @@ -217,6 +241,10 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] } @@ -294,6 +322,10 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] } @@ -361,6 +393,10 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] } @@ -396,11 +432,67 @@ "required": true, "types": [ { - "type": "float", + "type": "array", "named": true }, { - "type": "integer", + "type": "binary_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "comparison_constraint", + "named": true + }, + { + "type": "default_expression", + "named": true + }, + { + "type": "function_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "import_expression", + "named": true + }, + { + "type": "let_expression", + "named": true + }, + { + "type": "literal", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "object", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "path_expression", + "named": true + }, + { + "type": "regex_literal", + "named": true + }, + { + "type": "unary_expression", "named": true } ] @@ -474,6 +566,10 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] }, @@ -540,6 +636,10 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] } @@ -622,6 +722,10 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] } @@ -709,6 +813,10 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] } @@ -807,6 +915,10 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] } @@ -916,6 +1028,10 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] }, @@ -986,6 +1102,10 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] } @@ -1058,6 +1178,10 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] } @@ -1155,6 +1279,10 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] }, @@ -1237,6 +1365,10 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] } @@ -1318,6 +1450,10 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] } @@ -1394,10 +1530,100 @@ { "type": "regex_literal", "named": true + }, + { + "type": "unary_expression", + "named": true } ] } }, + { + "type": "unary_expression", + "named": true, + "fields": { + "operand": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "comparison_constraint", + "named": true + }, + { + "type": "default_expression", + "named": true + }, + { + "type": "function_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "import_expression", + "named": true + }, + { + "type": "let_expression", + "named": true + }, + { + "type": "literal", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "object", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "path_expression", + "named": true + }, + { + "type": "regex_literal", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "-", + "named": false + } + ] + } + } + }, { "type": "&", "named": false @@ -1410,14 +1636,30 @@ "type": ")", "named": false }, + { + "type": "*", + "named": false + }, + { + "type": "+", + "named": false + }, { "type": ",", "named": false }, + { + "type": "-", + "named": false + }, { "type": ".", "named": false }, + { + "type": "/", + "named": false + }, { "type": "//", "named": false diff --git a/editors/tree-sitter-decodal/src/parser.c b/editors/tree-sitter-decodal/src/parser.c index 32813aa..897a73f 100644 --- a/editors/tree-sitter-decodal/src/parser.c +++ b/editors/tree-sitter-decodal/src/parser.c @@ -5,15 +5,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 117 -#define LARGE_STATE_COUNT 29 -#define SYMBOL_COUNT 61 +#define STATE_COUNT 209 +#define LARGE_STATE_COUNT 58 +#define SYMBOL_COUNT 66 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 33 +#define TOKEN_COUNT 37 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 16 +#define FIELD_COUNT 17 #define MAX_ALIAS_SEQUENCE_LENGTH 7 -#define PRODUCTION_ID_COUNT 17 +#define PRODUCTION_ID_COUNT 18 enum ts_symbol_identifiers { sym_identifier = 1, @@ -45,37 +45,42 @@ enum ts_symbol_identifiers { anon_sym_GT_EQ = 27, anon_sym_LT = 28, anon_sym_LT_EQ = 29, - anon_sym_AMP = 30, - anon_sym_SLASH_SLASH = 31, - anon_sym_default = 32, - sym_source_file = 33, - sym__statement = 34, - sym__expression = 35, - sym_literal = 36, - sym_boolean = 37, - sym_object = 38, - sym_field_definition = 39, - sym_field_path = 40, - sym_array = 41, - sym_let_expression = 42, - sym_function_expression = 43, - sym_parameter = 44, - sym_match_expression = 45, - sym_match_arm = 46, - sym_import_expression = 47, - sym_parenthesized_expression = 48, - sym_call_expression = 49, - sym_path_expression = 50, - sym_comparison_constraint = 51, - sym_binary_expression = 52, - sym_default_expression = 53, - aux_sym_source_file_repeat1 = 54, - aux_sym_object_repeat1 = 55, - aux_sym_field_path_repeat1 = 56, - aux_sym_array_repeat1 = 57, - aux_sym_let_expression_repeat1 = 58, - aux_sym_function_expression_repeat1 = 59, - aux_sym_match_expression_repeat1 = 60, + anon_sym_DASH = 30, + anon_sym_PLUS = 31, + anon_sym_STAR = 32, + anon_sym_SLASH = 33, + anon_sym_AMP = 34, + anon_sym_SLASH_SLASH = 35, + anon_sym_default = 36, + sym_source_file = 37, + sym__statement = 38, + sym__expression = 39, + sym_literal = 40, + sym_boolean = 41, + sym_object = 42, + sym_field_definition = 43, + sym_field_path = 44, + sym_array = 45, + sym_let_expression = 46, + sym_function_expression = 47, + sym_parameter = 48, + sym_match_expression = 49, + sym_match_arm = 50, + sym_import_expression = 51, + sym_parenthesized_expression = 52, + sym_call_expression = 53, + sym_path_expression = 54, + sym_comparison_constraint = 55, + sym_unary_expression = 56, + sym_binary_expression = 57, + sym_default_expression = 58, + aux_sym_source_file_repeat1 = 59, + aux_sym_object_repeat1 = 60, + aux_sym_field_path_repeat1 = 61, + aux_sym_array_repeat1 = 62, + aux_sym_let_expression_repeat1 = 63, + aux_sym_function_expression_repeat1 = 64, + aux_sym_match_expression_repeat1 = 65, }; static const char * const ts_symbol_names[] = { @@ -109,6 +114,10 @@ static const char * const ts_symbol_names[] = { [anon_sym_GT_EQ] = ">=", [anon_sym_LT] = "<", [anon_sym_LT_EQ] = "<=", + [anon_sym_DASH] = "-", + [anon_sym_PLUS] = "+", + [anon_sym_STAR] = "*", + [anon_sym_SLASH] = "/", [anon_sym_AMP] = "&", [anon_sym_SLASH_SLASH] = "//", [anon_sym_default] = "default", @@ -131,6 +140,7 @@ static const char * const ts_symbol_names[] = { [sym_call_expression] = "call_expression", [sym_path_expression] = "path_expression", [sym_comparison_constraint] = "comparison_constraint", + [sym_unary_expression] = "unary_expression", [sym_binary_expression] = "binary_expression", [sym_default_expression] = "default_expression", [aux_sym_source_file_repeat1] = "source_file_repeat1", @@ -173,6 +183,10 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_GT_EQ] = anon_sym_GT_EQ, [anon_sym_LT] = anon_sym_LT, [anon_sym_LT_EQ] = anon_sym_LT_EQ, + [anon_sym_DASH] = anon_sym_DASH, + [anon_sym_PLUS] = anon_sym_PLUS, + [anon_sym_STAR] = anon_sym_STAR, + [anon_sym_SLASH] = anon_sym_SLASH, [anon_sym_AMP] = anon_sym_AMP, [anon_sym_SLASH_SLASH] = anon_sym_SLASH_SLASH, [anon_sym_default] = anon_sym_default, @@ -195,6 +209,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_call_expression] = sym_call_expression, [sym_path_expression] = sym_path_expression, [sym_comparison_constraint] = sym_comparison_constraint, + [sym_unary_expression] = sym_unary_expression, [sym_binary_expression] = sym_binary_expression, [sym_default_expression] = sym_default_expression, [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, @@ -327,6 +342,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH] = { + .visible = true, + .named = false, + }, [anon_sym_AMP] = { .visible = true, .named = false, @@ -415,6 +446,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_unary_expression] = { + .visible = true, + .named = true, + }, [sym_binary_expression] = { .visible = true, .named = true, @@ -463,13 +498,14 @@ enum ts_field_identifiers { field_left = 7, field_name = 8, field_object = 9, - field_operator = 10, - field_path = 11, - field_pattern = 12, - field_right = 13, - field_scrutinee = 14, - field_specifier = 15, - field_value = 16, + field_operand = 10, + field_operator = 11, + field_path = 12, + field_pattern = 13, + field_right = 14, + field_scrutinee = 15, + field_specifier = 16, + field_value = 17, }; static const char * const ts_field_names[] = { @@ -483,6 +519,7 @@ static const char * const ts_field_names[] = { [field_left] = "left", [field_name] = "name", [field_object] = "object", + [field_operand] = "operand", [field_operator] = "operator", [field_path] = "path", [field_pattern] = "pattern", @@ -496,19 +533,20 @@ 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 = 1}, - [5] = {.index = 5, .length = 2}, - [6] = {.index = 7, .length = 1}, - [7] = {.index = 8, .length = 3}, - [8] = {.index = 11, .length = 2}, + [4] = {.index = 4, .length = 2}, + [5] = {.index = 6, .length = 1}, + [6] = {.index = 7, .length = 2}, + [7] = {.index = 9, .length = 1}, + [8] = {.index = 10, .length = 3}, [9] = {.index = 13, .length = 2}, - [10] = {.index = 15, .length = 1}, - [11] = {.index = 16, .length = 2}, - [12] = {.index = 18, .length = 1}, - [13] = {.index = 19, .length = 1}, - [14] = {.index = 20, .length = 1}, - [15] = {.index = 21, .length = 2}, - [16] = {.index = 23, .length = 1}, + [10] = {.index = 15, .length = 2}, + [11] = {.index = 17, .length = 1}, + [12] = {.index = 18, .length = 2}, + [13] = {.index = 20, .length = 1}, + [14] = {.index = 21, .length = 1}, + [15] = {.index = 22, .length = 1}, + [16] = {.index = 23, .length = 2}, + [17] = {.index = 25, .length = 1}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -520,37 +558,40 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_operator, 0}, {field_value, 1}, [4] = + {field_operand, 1}, + {field_operator, 0}, + [6] = {field_body, 2}, - [5] = + [7] = {field_field, 2}, {field_object, 0}, - [7] = + [9] = {field_function, 0}, - [8] = + [10] = {field_left, 0}, {field_operator, 1}, {field_right, 2}, - [11] = + [13] = {field_base, 0}, {field_fallback, 2}, - [13] = + [15] = {field_path, 0}, {field_value, 2}, - [15] = + [17] = {field_body, 3}, - [16] = + [18] = {field_constraint, 2}, {field_name, 0}, - [18] = - {field_scrutinee, 1}, - [19] = - {field_body, 4}, [20] = - {field_body, 5}, + {field_scrutinee, 1}, [21] = + {field_body, 4}, + [22] = + {field_body, 5}, + [23] = {field_body, 2}, {field_pattern, 0}, - [23] = + [25] = {field_body, 6}, }; @@ -568,59 +609,59 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [2] = 2, [3] = 3, [4] = 4, - [5] = 5, + [5] = 4, [6] = 6, [7] = 7, - [8] = 8, - [9] = 9, + [8] = 7, + [9] = 6, [10] = 10, - [11] = 11, + [11] = 10, [12] = 12, [13] = 13, [14] = 14, - [15] = 15, + [15] = 13, [16] = 16, [17] = 17, - [18] = 18, + [18] = 17, [19] = 19, [20] = 20, - [21] = 21, - [22] = 22, - [23] = 23, - [24] = 24, + [21] = 19, + [22] = 14, + [23] = 16, + [24] = 20, [25] = 25, [26] = 26, [27] = 27, [28] = 28, [29] = 29, [30] = 30, - [31] = 31, + [31] = 27, [32] = 32, [33] = 33, [34] = 34, [35] = 35, - [36] = 36, + [36] = 32, [37] = 37, - [38] = 38, + [38] = 37, [39] = 39, [40] = 40, [41] = 41, - [42] = 42, + [42] = 25, [43] = 43, [44] = 44, - [45] = 45, - [46] = 46, - [47] = 47, - [48] = 48, - [49] = 49, - [50] = 50, + [45] = 39, + [46] = 44, + [47] = 43, + [48] = 30, + [49] = 26, + [50] = 41, [51] = 51, - [52] = 52, - [53] = 53, + [52] = 33, + [53] = 40, [54] = 54, - [55] = 55, - [56] = 56, - [57] = 57, + [55] = 29, + [56] = 34, + [57] = 51, [58] = 58, [59] = 59, [60] = 60, @@ -660,26 +701,118 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [94] = 94, [95] = 95, [96] = 96, - [97] = 97, - [98] = 98, - [99] = 99, - [100] = 100, - [101] = 101, - [102] = 102, - [103] = 103, - [104] = 104, - [105] = 105, - [106] = 106, - [107] = 107, - [108] = 108, - [109] = 109, - [110] = 110, - [111] = 111, - [112] = 112, - [113] = 113, - [114] = 114, - [115] = 115, - [116] = 116, + [97] = 82, + [98] = 88, + [99] = 77, + [100] = 72, + [101] = 76, + [102] = 87, + [103] = 59, + [104] = 71, + [105] = 63, + [106] = 67, + [107] = 75, + [108] = 78, + [109] = 70, + [110] = 81, + [111] = 85, + [112] = 69, + [113] = 86, + [114] = 79, + [115] = 66, + [116] = 68, + [117] = 92, + [118] = 89, + [119] = 61, + [120] = 91, + [121] = 83, + [122] = 65, + [123] = 64, + [124] = 80, + [125] = 84, + [126] = 60, + [127] = 94, + [128] = 93, + [129] = 74, + [130] = 90, + [131] = 131, + [132] = 132, + [133] = 133, + [134] = 134, + [135] = 134, + [136] = 131, + [137] = 73, + [138] = 138, + [139] = 139, + [140] = 140, + [141] = 140, + [142] = 142, + [143] = 143, + [144] = 143, + [145] = 145, + [146] = 146, + [147] = 145, + [148] = 148, + [149] = 146, + [150] = 150, + [151] = 151, + [152] = 152, + [153] = 151, + [154] = 154, + [155] = 152, + [156] = 150, + [157] = 157, + [158] = 158, + [159] = 159, + [160] = 160, + [161] = 161, + [162] = 162, + [163] = 163, + [164] = 164, + [165] = 164, + [166] = 166, + [167] = 162, + [168] = 168, + [169] = 161, + [170] = 170, + [171] = 171, + [172] = 171, + [173] = 173, + [174] = 174, + [175] = 157, + [176] = 176, + [177] = 177, + [178] = 178, + [179] = 163, + [180] = 177, + [181] = 181, + [182] = 178, + [183] = 173, + [184] = 170, + [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] = 192, + [198] = 198, + [199] = 199, + [200] = 194, + [201] = 201, + [202] = 195, + [203] = 193, + [204] = 204, + [205] = 196, + [206] = 191, + [207] = 207, + [208] = 199, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -687,164 +820,199 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(9); + if (eof) ADVANCE(8); ADVANCE_MAP( '"', 1, - '#', 11, - '&', 33, - '(', 24, - ')', 25, - ',', 22, - '.', 20, - '/', 3, - ':', 27, - ';', 10, - '<', 31, - '=', 19, - '>', 29, - '[', 21, - ']', 23, - '_', 28, - '{', 17, - '}', 18, + '#', 10, + '&', 37, + '(', 23, + ')', 24, + '*', 34, + '+', 33, + ',', 21, + '-', 32, + '.', 19, + '/', 36, + ':', 26, + ';', 9, + '<', 30, + '=', 18, + '>', 28, + '[', 20, + ']', 22, + '_', 27, + '{', 16, + '}', 17, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(0); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(13); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(12); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(15); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(14); END_STATE(); case 1: - if (lookahead == '"') ADVANCE(12); - if (lookahead == '\\') ADVANCE(7); + if (lookahead == '"') ADVANCE(11); + if (lookahead == '\\') ADVANCE(6); if (lookahead != 0 && lookahead != '\n') ADVANCE(1); END_STATE(); case 2: - if (lookahead == '#') ADVANCE(11); - if (lookahead == '=') ADVANCE(5); + ADVANCE_MAP( + '#', 10, + '&', 37, + '(', 23, + ')', 24, + '*', 34, + '+', 33, + ',', 21, + '-', 32, + '.', 19, + '/', 35, + ':', 26, + ';', 9, + '=', 4, + ']', 22, + '{', 16, + '}', 17, + ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(2); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(14); END_STATE(); case 3: - if (lookahead == '/') ADVANCE(34); - if (lookahead == '\\') ADVANCE(8); + if (lookahead == '/') ADVANCE(15); + if (lookahead == '\\') ADVANCE(7); if (lookahead != 0 && - lookahead != '\n') ADVANCE(4); + lookahead != '\n') ADVANCE(3); END_STATE(); case 4: - if (lookahead == '/') ADVANCE(16); - if (lookahead == '\\') ADVANCE(8); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(4); + if (lookahead == '>') ADVANCE(25); END_STATE(); case 5: - if (lookahead == '>') ADVANCE(26); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(13); END_STATE(); case 6: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(14); - END_STATE(); - case 7: if (lookahead != 0 && lookahead != '\n') ADVANCE(1); END_STATE(); - case 8: + case 7: if (lookahead != 0 && - lookahead != '\n') ADVANCE(4); + lookahead != '\n') ADVANCE(3); END_STATE(); - case 9: + case 8: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 10: + case 9: ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); - case 11: + case 10: ACCEPT_TOKEN(sym_comment); if (lookahead != 0 && - lookahead != '\n') ADVANCE(11); + lookahead != '\n') ADVANCE(10); END_STATE(); - case 12: + case 11: ACCEPT_TOKEN(sym_string); END_STATE(); - case 13: + case 12: ACCEPT_TOKEN(sym_integer); - if (lookahead == '.') ADVANCE(6); + if (lookahead == '.') ADVANCE(5); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(12); + END_STATE(); + case 13: + ACCEPT_TOKEN(sym_float); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(13); END_STATE(); case 14: - ACCEPT_TOKEN(sym_float); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(14); - END_STATE(); - case 15: ACCEPT_TOKEN(sym_identifier); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(15); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(14); END_STATE(); - case 16: + case 15: ACCEPT_TOKEN(sym_regex_literal); END_STATE(); - case 17: + case 16: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 18: + case 17: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 19: + case 18: ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); - case 20: + case 19: ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); - case 21: + case 20: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 22: + case 21: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 23: + case 22: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 24: + case 23: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 25: + case 24: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 26: + case 25: ACCEPT_TOKEN(anon_sym_EQ_GT); END_STATE(); - case 27: + case 26: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 28: + case 27: ACCEPT_TOKEN(anon_sym__); END_STATE(); - case 29: + case 28: ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(30); + if (lookahead == '=') ADVANCE(29); END_STATE(); - case 30: + case 29: ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); - case 31: + case 30: ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '=') ADVANCE(32); + if (lookahead == '=') ADVANCE(31); END_STATE(); - case 32: + case 31: ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); + case 32: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); case 33: - ACCEPT_TOKEN(anon_sym_AMP); + ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); case 34: + ACCEPT_TOKEN(anon_sym_STAR); + END_STATE(); + case 35: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '/') ADVANCE(38); + END_STATE(); + case 36: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '/') ADVANCE(38); + if (lookahead == '\\') ADVANCE(7); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(3); + END_STATE(); + case 37: + ACCEPT_TOKEN(anon_sym_AMP); + END_STATE(); + case 38: ACCEPT_TOKEN(anon_sym_SLASH_SLASH); END_STATE(); default: @@ -1066,26 +1234,118 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [94] = {.lex_state = 0}, [95] = {.lex_state = 0}, [96] = {.lex_state = 0}, - [97] = {.lex_state = 0}, - [98] = {.lex_state = 0}, - [99] = {.lex_state = 0}, - [100] = {.lex_state = 0}, - [101] = {.lex_state = 0}, - [102] = {.lex_state = 0}, - [103] = {.lex_state = 0}, - [104] = {.lex_state = 0}, - [105] = {.lex_state = 0}, + [97] = {.lex_state = 2}, + [98] = {.lex_state = 2}, + [99] = {.lex_state = 2}, + [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 = 0}, - [108] = {.lex_state = 0}, + [107] = {.lex_state = 2}, + [108] = {.lex_state = 2}, [109] = {.lex_state = 2}, - [110] = {.lex_state = 0}, + [110] = {.lex_state = 2}, [111] = {.lex_state = 2}, - [112] = {.lex_state = 0}, - [113] = {.lex_state = 0}, - [114] = {.lex_state = 0}, - [115] = {.lex_state = 0}, + [112] = {.lex_state = 2}, + [113] = {.lex_state = 2}, + [114] = {.lex_state = 2}, + [115] = {.lex_state = 2}, [116] = {.lex_state = 2}, + [117] = {.lex_state = 2}, + [118] = {.lex_state = 2}, + [119] = {.lex_state = 2}, + [120] = {.lex_state = 2}, + [121] = {.lex_state = 2}, + [122] = {.lex_state = 2}, + [123] = {.lex_state = 2}, + [124] = {.lex_state = 2}, + [125] = {.lex_state = 2}, + [126] = {.lex_state = 2}, + [127] = {.lex_state = 2}, + [128] = {.lex_state = 2}, + [129] = {.lex_state = 2}, + [130] = {.lex_state = 2}, + [131] = {.lex_state = 2}, + [132] = {.lex_state = 2}, + [133] = {.lex_state = 2}, + [134] = {.lex_state = 2}, + [135] = {.lex_state = 2}, + [136] = {.lex_state = 2}, + [137] = {.lex_state = 2}, + [138] = {.lex_state = 2}, + [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 = 0}, + [146] = {.lex_state = 0}, + [147] = {.lex_state = 0}, + [148] = {.lex_state = 0}, + [149] = {.lex_state = 0}, + [150] = {.lex_state = 0}, + [151] = {.lex_state = 0}, + [152] = {.lex_state = 0}, + [153] = {.lex_state = 0}, + [154] = {.lex_state = 0}, + [155] = {.lex_state = 0}, + [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 = 0}, + [165] = {.lex_state = 0}, + [166] = {.lex_state = 0}, + [167] = {.lex_state = 0}, + [168] = {.lex_state = 0}, + [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 = 0}, + [179] = {.lex_state = 0}, + [180] = {.lex_state = 0}, + [181] = {.lex_state = 0}, + [182] = {.lex_state = 0}, + [183] = {.lex_state = 0}, + [184] = {.lex_state = 0}, + [185] = {.lex_state = 0}, + [186] = {.lex_state = 0}, + [187] = {.lex_state = 0}, + [188] = {.lex_state = 0}, + [189] = {.lex_state = 0}, + [190] = {.lex_state = 0}, + [191] = {.lex_state = 2}, + [192] = {.lex_state = 2}, + [193] = {.lex_state = 2}, + [194] = {.lex_state = 0}, + [195] = {.lex_state = 0}, + [196] = {.lex_state = 0}, + [197] = {.lex_state = 2}, + [198] = {.lex_state = 0}, + [199] = {.lex_state = 2}, + [200] = {.lex_state = 0}, + [201] = {.lex_state = 0}, + [202] = {.lex_state = 0}, + [203] = {.lex_state = 2}, + [204] = {.lex_state = 0}, + [205] = {.lex_state = 0}, + [206] = {.lex_state = 2}, + [207] = {.lex_state = 0}, + [208] = {.lex_state = 2}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -1119,19 +1379,23 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_GT_EQ] = ACTIONS(1), [anon_sym_LT] = ACTIONS(1), [anon_sym_LT_EQ] = ACTIONS(1), + [anon_sym_DASH] = ACTIONS(1), + [anon_sym_PLUS] = ACTIONS(1), + [anon_sym_STAR] = ACTIONS(1), + [anon_sym_SLASH] = ACTIONS(1), [anon_sym_AMP] = ACTIONS(1), [anon_sym_SLASH_SLASH] = ACTIONS(1), [anon_sym_default] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(115), + [sym_source_file] = STATE(201), [sym__statement] = STATE(3), [sym__expression] = STATE(62), [sym_literal] = STATE(62), - [sym_boolean] = STATE(32), + [sym_boolean] = STATE(80), [sym_object] = STATE(62), - [sym_field_definition] = STATE(63), - [sym_field_path] = STATE(114), + [sym_field_definition] = STATE(95), + [sym_field_path] = STATE(200), [sym_array] = STATE(62), [sym_let_expression] = STATE(62), [sym_function_expression] = STATE(62), @@ -1141,6 +1405,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_call_expression] = STATE(62), [sym_path_expression] = STATE(62), [sym_comparison_constraint] = STATE(62), + [sym_unary_expression] = STATE(62), [sym_binary_expression] = STATE(62), [sym_default_expression] = STATE(62), [aux_sym_source_file_repeat1] = STATE(3), @@ -1163,15 +1428,16 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_GT_EQ] = ACTIONS(31), [anon_sym_LT] = ACTIONS(29), [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_DASH] = ACTIONS(33), }, [2] = { [sym__statement] = STATE(2), [sym__expression] = STATE(62), [sym_literal] = STATE(62), - [sym_boolean] = STATE(32), + [sym_boolean] = STATE(80), [sym_object] = STATE(62), - [sym_field_definition] = STATE(63), - [sym_field_path] = STATE(114), + [sym_field_definition] = STATE(95), + [sym_field_path] = STATE(200), [sym_array] = STATE(62), [sym_let_expression] = STATE(62), [sym_function_expression] = STATE(62), @@ -1181,37 +1447,39 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_call_expression] = STATE(62), [sym_path_expression] = STATE(62), [sym_comparison_constraint] = STATE(62), + [sym_unary_expression] = STATE(62), [sym_binary_expression] = STATE(62), [sym_default_expression] = STATE(62), [aux_sym_source_file_repeat1] = STATE(2), - [ts_builtin_sym_end] = ACTIONS(33), - [sym_identifier] = ACTIONS(35), + [ts_builtin_sym_end] = ACTIONS(35), + [sym_identifier] = ACTIONS(37), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(38), - [anon_sym_false] = ACTIONS(38), - [sym_string] = ACTIONS(41), - [sym_integer] = ACTIONS(44), - [sym_float] = ACTIONS(41), - [sym_regex_literal] = ACTIONS(47), - [anon_sym_LBRACE] = ACTIONS(50), - [anon_sym_LBRACK] = ACTIONS(53), - [anon_sym_let] = ACTIONS(56), - [anon_sym_LPAREN] = ACTIONS(59), - [anon_sym_match] = ACTIONS(62), - [anon_sym_import] = ACTIONS(65), - [anon_sym_GT] = ACTIONS(68), - [anon_sym_GT_EQ] = ACTIONS(71), - [anon_sym_LT] = ACTIONS(68), - [anon_sym_LT_EQ] = ACTIONS(71), + [anon_sym_true] = ACTIONS(40), + [anon_sym_false] = ACTIONS(40), + [sym_string] = ACTIONS(43), + [sym_integer] = ACTIONS(46), + [sym_float] = ACTIONS(43), + [sym_regex_literal] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(52), + [anon_sym_LBRACK] = ACTIONS(55), + [anon_sym_let] = ACTIONS(58), + [anon_sym_LPAREN] = ACTIONS(61), + [anon_sym_match] = ACTIONS(64), + [anon_sym_import] = ACTIONS(67), + [anon_sym_GT] = ACTIONS(70), + [anon_sym_GT_EQ] = ACTIONS(73), + [anon_sym_LT] = ACTIONS(70), + [anon_sym_LT_EQ] = ACTIONS(73), + [anon_sym_DASH] = ACTIONS(76), }, [3] = { [sym__statement] = STATE(2), [sym__expression] = STATE(62), [sym_literal] = STATE(62), - [sym_boolean] = STATE(32), + [sym_boolean] = STATE(80), [sym_object] = STATE(62), - [sym_field_definition] = STATE(63), - [sym_field_path] = STATE(114), + [sym_field_definition] = STATE(95), + [sym_field_path] = STATE(200), [sym_array] = STATE(62), [sym_let_expression] = STATE(62), [sym_function_expression] = STATE(62), @@ -1221,10 +1489,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_call_expression] = STATE(62), [sym_path_expression] = STATE(62), [sym_comparison_constraint] = STATE(62), + [sym_unary_expression] = STATE(62), [sym_binary_expression] = STATE(62), [sym_default_expression] = STATE(62), [aux_sym_source_file_repeat1] = STATE(2), - [ts_builtin_sym_end] = ACTIONS(74), + [ts_builtin_sym_end] = ACTIONS(79), [sym_identifier] = ACTIONS(7), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(9), @@ -1243,610 +1512,920 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_GT_EQ] = ACTIONS(31), [anon_sym_LT] = ACTIONS(29), [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_DASH] = ACTIONS(33), }, [4] = { - [sym__expression] = STATE(73), - [sym_literal] = STATE(73), - [sym_boolean] = STATE(32), - [sym_object] = STATE(73), - [sym_array] = STATE(73), - [sym_let_expression] = STATE(73), - [sym_function_expression] = STATE(73), - [sym_match_expression] = STATE(73), - [sym_match_arm] = STATE(88), - [sym_import_expression] = STATE(73), - [sym_parenthesized_expression] = STATE(73), - [sym_call_expression] = STATE(73), - [sym_path_expression] = STATE(73), - [sym_comparison_constraint] = STATE(73), - [sym_binary_expression] = STATE(73), - [sym_default_expression] = STATE(73), - [sym_identifier] = ACTIONS(76), + [sym__expression] = STATE(142), + [sym_literal] = STATE(142), + [sym_boolean] = STATE(124), + [sym_object] = STATE(142), + [sym_array] = STATE(142), + [sym_let_expression] = STATE(142), + [sym_function_expression] = STATE(142), + [sym_match_expression] = STATE(142), + [sym_match_arm] = STATE(185), + [sym_import_expression] = STATE(142), + [sym_parenthesized_expression] = STATE(142), + [sym_call_expression] = STATE(142), + [sym_path_expression] = STATE(142), + [sym_comparison_constraint] = STATE(142), + [sym_unary_expression] = STATE(142), + [sym_binary_expression] = STATE(142), + [sym_default_expression] = STATE(142), + [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(78), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_RBRACE] = ACTIONS(80), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_match] = ACTIONS(25), - [anon_sym__] = ACTIONS(82), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(89), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_RBRACE] = ACTIONS(93), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym__] = ACTIONS(103), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, [5] = { - [sym__expression] = STATE(73), - [sym_literal] = STATE(73), - [sym_boolean] = STATE(32), - [sym_object] = STATE(73), - [sym_array] = STATE(73), - [sym_let_expression] = STATE(73), - [sym_function_expression] = STATE(73), - [sym_match_expression] = STATE(73), - [sym_match_arm] = STATE(101), - [sym_import_expression] = STATE(73), - [sym_parenthesized_expression] = STATE(73), - [sym_call_expression] = STATE(73), - [sym_path_expression] = STATE(73), - [sym_comparison_constraint] = STATE(73), - [sym_binary_expression] = STATE(73), - [sym_default_expression] = STATE(73), - [sym_identifier] = ACTIONS(76), + [sym__expression] = STATE(142), + [sym_literal] = STATE(142), + [sym_boolean] = STATE(124), + [sym_object] = STATE(142), + [sym_array] = STATE(142), + [sym_let_expression] = STATE(142), + [sym_function_expression] = STATE(142), + [sym_match_expression] = STATE(142), + [sym_match_arm] = STATE(185), + [sym_import_expression] = STATE(142), + [sym_parenthesized_expression] = STATE(142), + [sym_call_expression] = STATE(142), + [sym_path_expression] = STATE(142), + [sym_comparison_constraint] = STATE(142), + [sym_unary_expression] = STATE(142), + [sym_binary_expression] = STATE(142), + [sym_default_expression] = STATE(142), + [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(78), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_RBRACE] = ACTIONS(84), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_match] = ACTIONS(25), - [anon_sym__] = ACTIONS(82), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(89), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_RBRACE] = ACTIONS(113), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym__] = ACTIONS(103), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, [6] = { - [sym__expression] = STATE(73), - [sym_literal] = STATE(73), - [sym_boolean] = STATE(32), - [sym_object] = STATE(73), - [sym_array] = STATE(73), - [sym_let_expression] = STATE(73), - [sym_function_expression] = STATE(73), - [sym_match_expression] = STATE(73), - [sym_match_arm] = STATE(101), - [sym_import_expression] = STATE(73), - [sym_parenthesized_expression] = STATE(73), - [sym_call_expression] = STATE(73), - [sym_path_expression] = STATE(73), - [sym_comparison_constraint] = STATE(73), - [sym_binary_expression] = STATE(73), - [sym_default_expression] = STATE(73), - [sym_identifier] = ACTIONS(76), + [sym__expression] = STATE(142), + [sym_literal] = STATE(142), + [sym_boolean] = STATE(124), + [sym_object] = STATE(142), + [sym_array] = STATE(142), + [sym_let_expression] = STATE(142), + [sym_function_expression] = STATE(142), + [sym_match_expression] = STATE(142), + [sym_match_arm] = STATE(175), + [sym_import_expression] = STATE(142), + [sym_parenthesized_expression] = STATE(142), + [sym_call_expression] = STATE(142), + [sym_path_expression] = STATE(142), + [sym_comparison_constraint] = STATE(142), + [sym_unary_expression] = STATE(142), + [sym_binary_expression] = STATE(142), + [sym_default_expression] = STATE(142), + [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(78), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_RBRACE] = ACTIONS(86), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_match] = ACTIONS(25), - [anon_sym__] = ACTIONS(82), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(89), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_RBRACE] = ACTIONS(115), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym__] = ACTIONS(103), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, [7] = { - [sym__expression] = STATE(72), - [sym_literal] = STATE(72), - [sym_boolean] = STATE(32), - [sym_object] = STATE(72), - [sym_array] = STATE(72), - [sym_let_expression] = STATE(72), - [sym_function_expression] = STATE(72), - [sym_parameter] = STATE(86), - [sym_match_expression] = STATE(72), - [sym_import_expression] = STATE(72), - [sym_parenthesized_expression] = STATE(72), - [sym_call_expression] = STATE(72), - [sym_path_expression] = STATE(72), - [sym_comparison_constraint] = STATE(72), - [sym_binary_expression] = STATE(72), - [sym_default_expression] = STATE(72), - [sym_identifier] = ACTIONS(88), + [sym__expression] = STATE(142), + [sym_literal] = STATE(142), + [sym_boolean] = STATE(124), + [sym_object] = STATE(142), + [sym_array] = STATE(142), + [sym_let_expression] = STATE(142), + [sym_function_expression] = STATE(142), + [sym_match_expression] = STATE(142), + [sym_match_arm] = STATE(185), + [sym_import_expression] = STATE(142), + [sym_parenthesized_expression] = STATE(142), + [sym_call_expression] = STATE(142), + [sym_path_expression] = STATE(142), + [sym_comparison_constraint] = STATE(142), + [sym_unary_expression] = STATE(142), + [sym_binary_expression] = STATE(142), + [sym_default_expression] = STATE(142), + [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(90), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_RPAREN] = ACTIONS(92), - [anon_sym_match] = ACTIONS(25), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(89), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_RBRACE] = ACTIONS(117), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym__] = ACTIONS(103), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, [8] = { - [sym__expression] = STATE(73), - [sym_literal] = STATE(73), - [sym_boolean] = STATE(32), - [sym_object] = STATE(73), - [sym_array] = STATE(73), - [sym_let_expression] = STATE(73), - [sym_function_expression] = STATE(73), - [sym_match_expression] = STATE(73), - [sym_match_arm] = STATE(101), - [sym_import_expression] = STATE(73), - [sym_parenthesized_expression] = STATE(73), - [sym_call_expression] = STATE(73), - [sym_path_expression] = STATE(73), - [sym_comparison_constraint] = STATE(73), - [sym_binary_expression] = STATE(73), - [sym_default_expression] = STATE(73), - [sym_identifier] = ACTIONS(76), + [sym__expression] = STATE(142), + [sym_literal] = STATE(142), + [sym_boolean] = STATE(124), + [sym_object] = STATE(142), + [sym_array] = STATE(142), + [sym_let_expression] = STATE(142), + [sym_function_expression] = STATE(142), + [sym_match_expression] = STATE(142), + [sym_match_arm] = STATE(185), + [sym_import_expression] = STATE(142), + [sym_parenthesized_expression] = STATE(142), + [sym_call_expression] = STATE(142), + [sym_path_expression] = STATE(142), + [sym_comparison_constraint] = STATE(142), + [sym_unary_expression] = STATE(142), + [sym_binary_expression] = STATE(142), + [sym_default_expression] = STATE(142), + [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(78), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_match] = ACTIONS(25), - [anon_sym__] = ACTIONS(82), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(89), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_RBRACE] = ACTIONS(119), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym__] = ACTIONS(103), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, [9] = { - [sym__expression] = STATE(67), - [sym_literal] = STATE(67), - [sym_boolean] = STATE(32), - [sym_object] = STATE(67), - [sym_array] = STATE(67), - [sym_let_expression] = STATE(67), - [sym_function_expression] = STATE(67), - [sym_match_expression] = STATE(67), - [sym_import_expression] = STATE(67), - [sym_parenthesized_expression] = STATE(67), - [sym_call_expression] = STATE(67), - [sym_path_expression] = STATE(67), - [sym_comparison_constraint] = STATE(67), - [sym_binary_expression] = STATE(67), - [sym_default_expression] = STATE(67), - [sym_identifier] = ACTIONS(94), + [sym__expression] = STATE(142), + [sym_literal] = STATE(142), + [sym_boolean] = STATE(124), + [sym_object] = STATE(142), + [sym_array] = STATE(142), + [sym_let_expression] = STATE(142), + [sym_function_expression] = STATE(142), + [sym_match_expression] = STATE(142), + [sym_match_arm] = STATE(157), + [sym_import_expression] = STATE(142), + [sym_parenthesized_expression] = STATE(142), + [sym_call_expression] = STATE(142), + [sym_path_expression] = STATE(142), + [sym_comparison_constraint] = STATE(142), + [sym_unary_expression] = STATE(142), + [sym_binary_expression] = STATE(142), + [sym_default_expression] = STATE(142), + [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(96), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_RPAREN] = ACTIONS(98), - [anon_sym_match] = ACTIONS(25), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(89), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_RBRACE] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym__] = ACTIONS(103), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, [10] = { - [sym__expression] = STATE(68), - [sym_literal] = STATE(68), - [sym_boolean] = STATE(32), - [sym_object] = STATE(68), - [sym_array] = STATE(68), - [sym_let_expression] = STATE(68), - [sym_function_expression] = STATE(68), - [sym_match_expression] = STATE(68), - [sym_import_expression] = STATE(68), - [sym_parenthesized_expression] = STATE(68), - [sym_call_expression] = STATE(68), - [sym_path_expression] = STATE(68), - [sym_comparison_constraint] = STATE(68), - [sym_binary_expression] = STATE(68), - [sym_default_expression] = STATE(68), - [sym_identifier] = ACTIONS(100), + [sym__expression] = STATE(141), + [sym_literal] = STATE(141), + [sym_boolean] = STATE(124), + [sym_object] = STATE(141), + [sym_array] = STATE(141), + [sym_let_expression] = STATE(141), + [sym_function_expression] = STATE(141), + [sym_parameter] = STATE(169), + [sym_match_expression] = STATE(141), + [sym_import_expression] = STATE(141), + [sym_parenthesized_expression] = STATE(141), + [sym_call_expression] = STATE(141), + [sym_path_expression] = STATE(141), + [sym_comparison_constraint] = STATE(141), + [sym_unary_expression] = STATE(141), + [sym_binary_expression] = STATE(141), + [sym_default_expression] = STATE(141), + [sym_identifier] = ACTIONS(123), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(102), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_RPAREN] = ACTIONS(104), - [anon_sym_match] = ACTIONS(25), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(125), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_RPAREN] = ACTIONS(127), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, [11] = { - [sym__expression] = STATE(68), - [sym_literal] = STATE(68), - [sym_boolean] = STATE(32), - [sym_object] = STATE(68), - [sym_array] = STATE(68), - [sym_let_expression] = STATE(68), - [sym_function_expression] = STATE(68), - [sym_match_expression] = STATE(68), - [sym_import_expression] = STATE(68), - [sym_parenthesized_expression] = STATE(68), - [sym_call_expression] = STATE(68), - [sym_path_expression] = STATE(68), - [sym_comparison_constraint] = STATE(68), - [sym_binary_expression] = STATE(68), - [sym_default_expression] = STATE(68), - [sym_identifier] = ACTIONS(100), + [sym__expression] = STATE(140), + [sym_literal] = STATE(140), + [sym_boolean] = STATE(124), + [sym_object] = STATE(140), + [sym_array] = STATE(140), + [sym_let_expression] = STATE(140), + [sym_function_expression] = STATE(140), + [sym_parameter] = STATE(161), + [sym_match_expression] = STATE(140), + [sym_import_expression] = STATE(140), + [sym_parenthesized_expression] = STATE(140), + [sym_call_expression] = STATE(140), + [sym_path_expression] = STATE(140), + [sym_comparison_constraint] = STATE(140), + [sym_unary_expression] = STATE(140), + [sym_binary_expression] = STATE(140), + [sym_default_expression] = STATE(140), + [sym_identifier] = ACTIONS(123), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(102), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_RBRACK] = ACTIONS(106), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_match] = ACTIONS(25), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(129), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_RPAREN] = ACTIONS(131), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, [12] = { - [sym__expression] = STATE(66), - [sym_literal] = STATE(66), - [sym_boolean] = STATE(32), - [sym_object] = STATE(66), - [sym_array] = STATE(66), - [sym_let_expression] = STATE(66), - [sym_function_expression] = STATE(66), - [sym_match_expression] = STATE(66), - [sym_import_expression] = STATE(66), - [sym_parenthesized_expression] = STATE(66), - [sym_call_expression] = STATE(66), - [sym_path_expression] = STATE(66), - [sym_comparison_constraint] = STATE(66), - [sym_binary_expression] = STATE(66), - [sym_default_expression] = STATE(66), - [sym_identifier] = ACTIONS(108), + [sym__expression] = STATE(142), + [sym_literal] = STATE(142), + [sym_boolean] = STATE(124), + [sym_object] = STATE(142), + [sym_array] = STATE(142), + [sym_let_expression] = STATE(142), + [sym_function_expression] = STATE(142), + [sym_match_expression] = STATE(142), + [sym_match_arm] = STATE(185), + [sym_import_expression] = STATE(142), + [sym_parenthesized_expression] = STATE(142), + [sym_call_expression] = STATE(142), + [sym_path_expression] = STATE(142), + [sym_comparison_constraint] = STATE(142), + [sym_unary_expression] = STATE(142), + [sym_binary_expression] = STATE(142), + [sym_default_expression] = STATE(142), + [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(110), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_RBRACK] = ACTIONS(112), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_match] = ACTIONS(25), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(89), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym__] = ACTIONS(103), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, [13] = { - [sym__expression] = STATE(68), - [sym_literal] = STATE(68), - [sym_boolean] = STATE(32), - [sym_object] = STATE(68), - [sym_array] = STATE(68), - [sym_let_expression] = STATE(68), - [sym_function_expression] = STATE(68), - [sym_match_expression] = STATE(68), - [sym_import_expression] = STATE(68), - [sym_parenthesized_expression] = STATE(68), - [sym_call_expression] = STATE(68), - [sym_path_expression] = STATE(68), - [sym_comparison_constraint] = STATE(68), - [sym_binary_expression] = STATE(68), - [sym_default_expression] = STATE(68), - [sym_identifier] = ACTIONS(100), + [sym__expression] = STATE(135), + [sym_literal] = STATE(135), + [sym_boolean] = STATE(124), + [sym_object] = STATE(135), + [sym_array] = STATE(135), + [sym_let_expression] = STATE(135), + [sym_function_expression] = STATE(135), + [sym_match_expression] = STATE(135), + [sym_import_expression] = STATE(135), + [sym_parenthesized_expression] = STATE(135), + [sym_call_expression] = STATE(135), + [sym_path_expression] = STATE(135), + [sym_comparison_constraint] = STATE(135), + [sym_unary_expression] = STATE(135), + [sym_binary_expression] = STATE(135), + [sym_default_expression] = STATE(135), + [sym_identifier] = ACTIONS(133), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(102), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_RBRACK] = ACTIONS(114), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_match] = ACTIONS(25), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(135), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_RBRACK] = ACTIONS(137), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, [14] = { - [sym__expression] = STATE(68), - [sym_literal] = STATE(68), - [sym_boolean] = STATE(32), - [sym_object] = STATE(68), - [sym_array] = STATE(68), - [sym_let_expression] = STATE(68), - [sym_function_expression] = STATE(68), - [sym_match_expression] = STATE(68), - [sym_import_expression] = STATE(68), - [sym_parenthesized_expression] = STATE(68), - [sym_call_expression] = STATE(68), - [sym_path_expression] = STATE(68), - [sym_comparison_constraint] = STATE(68), - [sym_binary_expression] = STATE(68), - [sym_default_expression] = STATE(68), - [sym_identifier] = ACTIONS(100), + [sym__expression] = STATE(132), + [sym_literal] = STATE(132), + [sym_boolean] = STATE(124), + [sym_object] = STATE(132), + [sym_array] = STATE(132), + [sym_let_expression] = STATE(132), + [sym_function_expression] = STATE(132), + [sym_match_expression] = STATE(132), + [sym_import_expression] = STATE(132), + [sym_parenthesized_expression] = STATE(132), + [sym_call_expression] = STATE(132), + [sym_path_expression] = STATE(132), + [sym_comparison_constraint] = STATE(132), + [sym_unary_expression] = STATE(132), + [sym_binary_expression] = STATE(132), + [sym_default_expression] = STATE(132), + [sym_identifier] = ACTIONS(139), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(102), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_RPAREN] = ACTIONS(116), - [anon_sym_match] = ACTIONS(25), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(141), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_RBRACK] = ACTIONS(143), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, [15] = { - [sym__expression] = STATE(47), - [sym_literal] = STATE(47), - [sym_boolean] = STATE(32), - [sym_object] = STATE(47), - [sym_array] = STATE(47), - [sym_let_expression] = STATE(47), - [sym_function_expression] = STATE(47), - [sym_match_expression] = STATE(47), - [sym_import_expression] = STATE(47), - [sym_parenthesized_expression] = STATE(47), - [sym_call_expression] = STATE(47), - [sym_path_expression] = STATE(47), - [sym_comparison_constraint] = STATE(47), - [sym_binary_expression] = STATE(47), - [sym_default_expression] = STATE(47), - [sym_identifier] = ACTIONS(118), + [sym__expression] = STATE(134), + [sym_literal] = STATE(134), + [sym_boolean] = STATE(124), + [sym_object] = STATE(134), + [sym_array] = STATE(134), + [sym_let_expression] = STATE(134), + [sym_function_expression] = STATE(134), + [sym_match_expression] = STATE(134), + [sym_import_expression] = STATE(134), + [sym_parenthesized_expression] = STATE(134), + [sym_call_expression] = STATE(134), + [sym_path_expression] = STATE(134), + [sym_comparison_constraint] = STATE(134), + [sym_unary_expression] = STATE(134), + [sym_binary_expression] = STATE(134), + [sym_default_expression] = STATE(134), + [sym_identifier] = ACTIONS(145), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(120), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_match] = ACTIONS(25), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(147), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_RBRACK] = ACTIONS(149), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, [16] = { - [sym__expression] = STATE(53), - [sym_literal] = STATE(53), - [sym_boolean] = STATE(32), - [sym_object] = STATE(53), - [sym_array] = STATE(53), - [sym_let_expression] = STATE(53), - [sym_function_expression] = STATE(53), - [sym_match_expression] = STATE(53), - [sym_import_expression] = STATE(53), - [sym_parenthesized_expression] = STATE(53), - [sym_call_expression] = STATE(53), - [sym_path_expression] = STATE(53), - [sym_comparison_constraint] = STATE(53), - [sym_binary_expression] = STATE(53), - [sym_default_expression] = STATE(53), - [sym_identifier] = ACTIONS(122), + [sym__expression] = STATE(132), + [sym_literal] = STATE(132), + [sym_boolean] = STATE(124), + [sym_object] = STATE(132), + [sym_array] = STATE(132), + [sym_let_expression] = STATE(132), + [sym_function_expression] = STATE(132), + [sym_match_expression] = STATE(132), + [sym_import_expression] = STATE(132), + [sym_parenthesized_expression] = STATE(132), + [sym_call_expression] = STATE(132), + [sym_path_expression] = STATE(132), + [sym_comparison_constraint] = STATE(132), + [sym_unary_expression] = STATE(132), + [sym_binary_expression] = STATE(132), + [sym_default_expression] = STATE(132), + [sym_identifier] = ACTIONS(139), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(124), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_match] = ACTIONS(25), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(141), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_RPAREN] = ACTIONS(151), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, [17] = { - [sym__expression] = STATE(46), - [sym_literal] = STATE(46), - [sym_boolean] = STATE(32), - [sym_object] = STATE(46), - [sym_array] = STATE(46), - [sym_let_expression] = STATE(46), - [sym_function_expression] = STATE(46), - [sym_match_expression] = STATE(46), - [sym_import_expression] = STATE(46), - [sym_parenthesized_expression] = STATE(46), - [sym_call_expression] = STATE(46), - [sym_path_expression] = STATE(46), - [sym_comparison_constraint] = STATE(46), - [sym_binary_expression] = STATE(46), - [sym_default_expression] = STATE(46), - [sym_identifier] = ACTIONS(126), + [sym__expression] = STATE(132), + [sym_literal] = STATE(132), + [sym_boolean] = STATE(124), + [sym_object] = STATE(132), + [sym_array] = STATE(132), + [sym_let_expression] = STATE(132), + [sym_function_expression] = STATE(132), + [sym_match_expression] = STATE(132), + [sym_import_expression] = STATE(132), + [sym_parenthesized_expression] = STATE(132), + [sym_call_expression] = STATE(132), + [sym_path_expression] = STATE(132), + [sym_comparison_constraint] = STATE(132), + [sym_unary_expression] = STATE(132), + [sym_binary_expression] = STATE(132), + [sym_default_expression] = STATE(132), + [sym_identifier] = ACTIONS(139), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(128), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_match] = ACTIONS(25), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(141), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_RPAREN] = ACTIONS(153), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, [18] = { - [sym__expression] = STATE(34), - [sym_literal] = STATE(34), - [sym_boolean] = STATE(32), - [sym_object] = STATE(34), - [sym_array] = STATE(34), - [sym_let_expression] = STATE(34), - [sym_function_expression] = STATE(34), - [sym_match_expression] = STATE(34), - [sym_import_expression] = STATE(34), - [sym_parenthesized_expression] = STATE(34), - [sym_call_expression] = STATE(34), - [sym_path_expression] = STATE(34), - [sym_comparison_constraint] = STATE(34), - [sym_binary_expression] = STATE(34), - [sym_default_expression] = STATE(34), - [sym_identifier] = ACTIONS(130), + [sym__expression] = STATE(132), + [sym_literal] = STATE(132), + [sym_boolean] = STATE(124), + [sym_object] = STATE(132), + [sym_array] = STATE(132), + [sym_let_expression] = STATE(132), + [sym_function_expression] = STATE(132), + [sym_match_expression] = STATE(132), + [sym_import_expression] = STATE(132), + [sym_parenthesized_expression] = STATE(132), + [sym_call_expression] = STATE(132), + [sym_path_expression] = STATE(132), + [sym_comparison_constraint] = STATE(132), + [sym_unary_expression] = STATE(132), + [sym_binary_expression] = STATE(132), + [sym_default_expression] = STATE(132), + [sym_identifier] = ACTIONS(139), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(132), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_match] = ACTIONS(25), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(141), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_RPAREN] = ACTIONS(155), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, [19] = { - [sym__expression] = STATE(70), - [sym_literal] = STATE(70), - [sym_boolean] = STATE(32), - [sym_object] = STATE(70), - [sym_array] = STATE(70), - [sym_let_expression] = STATE(70), - [sym_function_expression] = STATE(70), - [sym_match_expression] = STATE(70), - [sym_import_expression] = STATE(70), - [sym_parenthesized_expression] = STATE(70), - [sym_call_expression] = STATE(70), - [sym_path_expression] = STATE(70), - [sym_comparison_constraint] = STATE(70), - [sym_binary_expression] = STATE(70), - [sym_default_expression] = STATE(70), - [sym_identifier] = ACTIONS(134), + [sym__expression] = STATE(132), + [sym_literal] = STATE(132), + [sym_boolean] = STATE(124), + [sym_object] = STATE(132), + [sym_array] = STATE(132), + [sym_let_expression] = STATE(132), + [sym_function_expression] = STATE(132), + [sym_match_expression] = STATE(132), + [sym_import_expression] = STATE(132), + [sym_parenthesized_expression] = STATE(132), + [sym_call_expression] = STATE(132), + [sym_path_expression] = STATE(132), + [sym_comparison_constraint] = STATE(132), + [sym_unary_expression] = STATE(132), + [sym_binary_expression] = STATE(132), + [sym_default_expression] = STATE(132), + [sym_identifier] = ACTIONS(139), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(136), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_match] = ACTIONS(25), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(141), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_RBRACK] = ACTIONS(157), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, [20] = { - [sym__expression] = STATE(36), - [sym_literal] = STATE(36), - [sym_boolean] = STATE(32), - [sym_object] = STATE(36), - [sym_array] = STATE(36), - [sym_let_expression] = STATE(36), - [sym_function_expression] = STATE(36), - [sym_match_expression] = STATE(36), - [sym_import_expression] = STATE(36), - [sym_parenthesized_expression] = STATE(36), - [sym_call_expression] = STATE(36), - [sym_path_expression] = STATE(36), - [sym_comparison_constraint] = STATE(36), - [sym_binary_expression] = STATE(36), - [sym_default_expression] = STATE(36), - [sym_identifier] = ACTIONS(138), + [sym__expression] = STATE(131), + [sym_literal] = STATE(131), + [sym_boolean] = STATE(124), + [sym_object] = STATE(131), + [sym_array] = STATE(131), + [sym_let_expression] = STATE(131), + [sym_function_expression] = STATE(131), + [sym_match_expression] = STATE(131), + [sym_import_expression] = STATE(131), + [sym_parenthesized_expression] = STATE(131), + [sym_call_expression] = STATE(131), + [sym_path_expression] = STATE(131), + [sym_comparison_constraint] = STATE(131), + [sym_unary_expression] = STATE(131), + [sym_binary_expression] = STATE(131), + [sym_default_expression] = STATE(131), + [sym_identifier] = ACTIONS(159), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(161), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_RPAREN] = ACTIONS(163), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [21] = { + [sym__expression] = STATE(132), + [sym_literal] = STATE(132), + [sym_boolean] = STATE(124), + [sym_object] = STATE(132), + [sym_array] = STATE(132), + [sym_let_expression] = STATE(132), + [sym_function_expression] = STATE(132), + [sym_match_expression] = STATE(132), + [sym_import_expression] = STATE(132), + [sym_parenthesized_expression] = STATE(132), + [sym_call_expression] = STATE(132), + [sym_path_expression] = STATE(132), + [sym_comparison_constraint] = STATE(132), + [sym_unary_expression] = STATE(132), + [sym_binary_expression] = STATE(132), + [sym_default_expression] = STATE(132), + [sym_identifier] = ACTIONS(139), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(141), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_RBRACK] = ACTIONS(165), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [22] = { + [sym__expression] = STATE(132), + [sym_literal] = STATE(132), + [sym_boolean] = STATE(124), + [sym_object] = STATE(132), + [sym_array] = STATE(132), + [sym_let_expression] = STATE(132), + [sym_function_expression] = STATE(132), + [sym_match_expression] = STATE(132), + [sym_import_expression] = STATE(132), + [sym_parenthesized_expression] = STATE(132), + [sym_call_expression] = STATE(132), + [sym_path_expression] = STATE(132), + [sym_comparison_constraint] = STATE(132), + [sym_unary_expression] = STATE(132), + [sym_binary_expression] = STATE(132), + [sym_default_expression] = STATE(132), + [sym_identifier] = ACTIONS(139), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(141), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_RBRACK] = ACTIONS(167), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [23] = { + [sym__expression] = STATE(132), + [sym_literal] = STATE(132), + [sym_boolean] = STATE(124), + [sym_object] = STATE(132), + [sym_array] = STATE(132), + [sym_let_expression] = STATE(132), + [sym_function_expression] = STATE(132), + [sym_match_expression] = STATE(132), + [sym_import_expression] = STATE(132), + [sym_parenthesized_expression] = STATE(132), + [sym_call_expression] = STATE(132), + [sym_path_expression] = STATE(132), + [sym_comparison_constraint] = STATE(132), + [sym_unary_expression] = STATE(132), + [sym_binary_expression] = STATE(132), + [sym_default_expression] = STATE(132), + [sym_identifier] = ACTIONS(139), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(141), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_RPAREN] = ACTIONS(169), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [24] = { + [sym__expression] = STATE(136), + [sym_literal] = STATE(136), + [sym_boolean] = STATE(124), + [sym_object] = STATE(136), + [sym_array] = STATE(136), + [sym_let_expression] = STATE(136), + [sym_function_expression] = STATE(136), + [sym_match_expression] = STATE(136), + [sym_import_expression] = STATE(136), + [sym_parenthesized_expression] = STATE(136), + [sym_call_expression] = STATE(136), + [sym_path_expression] = STATE(136), + [sym_comparison_constraint] = STATE(136), + [sym_unary_expression] = STATE(136), + [sym_binary_expression] = STATE(136), + [sym_default_expression] = STATE(136), + [sym_identifier] = ACTIONS(171), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(173), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_RPAREN] = ACTIONS(175), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [25] = { + [sym__expression] = STATE(109), + [sym_literal] = STATE(109), + [sym_boolean] = STATE(124), + [sym_object] = STATE(109), + [sym_array] = STATE(109), + [sym_let_expression] = STATE(109), + [sym_function_expression] = STATE(109), + [sym_match_expression] = STATE(109), + [sym_import_expression] = STATE(109), + [sym_parenthesized_expression] = STATE(109), + [sym_call_expression] = STATE(109), + [sym_path_expression] = STATE(109), + [sym_comparison_constraint] = STATE(109), + [sym_unary_expression] = STATE(109), + [sym_binary_expression] = STATE(109), + [sym_default_expression] = STATE(109), + [sym_identifier] = ACTIONS(177), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(179), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [26] = { + [sym__expression] = STATE(98), + [sym_literal] = STATE(98), + [sym_boolean] = STATE(124), + [sym_object] = STATE(98), + [sym_array] = STATE(98), + [sym_let_expression] = STATE(98), + [sym_function_expression] = STATE(98), + [sym_match_expression] = STATE(98), + [sym_import_expression] = STATE(98), + [sym_parenthesized_expression] = STATE(98), + [sym_call_expression] = STATE(98), + [sym_path_expression] = STATE(98), + [sym_comparison_constraint] = STATE(98), + [sym_unary_expression] = STATE(98), + [sym_binary_expression] = STATE(98), + [sym_default_expression] = STATE(98), + [sym_identifier] = ACTIONS(181), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(183), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [27] = { + [sym__expression] = STATE(81), + [sym_literal] = STATE(81), + [sym_boolean] = STATE(80), + [sym_object] = STATE(81), + [sym_array] = STATE(81), + [sym_let_expression] = STATE(81), + [sym_function_expression] = STATE(81), + [sym_match_expression] = STATE(81), + [sym_import_expression] = STATE(81), + [sym_parenthesized_expression] = STATE(81), + [sym_call_expression] = STATE(81), + [sym_path_expression] = STATE(81), + [sym_comparison_constraint] = STATE(81), + [sym_unary_expression] = STATE(81), + [sym_binary_expression] = STATE(81), + [sym_default_expression] = STATE(81), + [sym_identifier] = ACTIONS(185), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(9), [anon_sym_false] = ACTIONS(9), [sym_string] = ACTIONS(11), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(140), + [sym_regex_literal] = ACTIONS(187), [anon_sym_LBRACE] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_let] = ACTIONS(21), @@ -1857,11 +2436,308 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_GT_EQ] = ACTIONS(31), [anon_sym_LT] = ACTIONS(29), [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_DASH] = ACTIONS(33), }, - [21] = { + [28] = { + [sym__expression] = STATE(132), + [sym_literal] = STATE(132), + [sym_boolean] = STATE(124), + [sym_object] = STATE(132), + [sym_array] = STATE(132), + [sym_let_expression] = STATE(132), + [sym_function_expression] = STATE(132), + [sym_match_expression] = STATE(132), + [sym_import_expression] = STATE(132), + [sym_parenthesized_expression] = STATE(132), + [sym_call_expression] = STATE(132), + [sym_path_expression] = STATE(132), + [sym_comparison_constraint] = STATE(132), + [sym_unary_expression] = STATE(132), + [sym_binary_expression] = STATE(132), + [sym_default_expression] = STATE(132), + [sym_identifier] = ACTIONS(139), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(141), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [29] = { + [sym__expression] = STATE(76), + [sym_literal] = STATE(76), + [sym_boolean] = STATE(80), + [sym_object] = STATE(76), + [sym_array] = STATE(76), + [sym_let_expression] = STATE(76), + [sym_function_expression] = STATE(76), + [sym_match_expression] = STATE(76), + [sym_import_expression] = STATE(76), + [sym_parenthesized_expression] = STATE(76), + [sym_call_expression] = STATE(76), + [sym_path_expression] = STATE(76), + [sym_comparison_constraint] = STATE(76), + [sym_unary_expression] = STATE(76), + [sym_binary_expression] = STATE(76), + [sym_default_expression] = STATE(76), + [sym_identifier] = ACTIONS(189), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(9), + [anon_sym_false] = ACTIONS(9), + [sym_string] = ACTIONS(11), + [sym_integer] = ACTIONS(13), + [sym_float] = ACTIONS(11), + [sym_regex_literal] = ACTIONS(191), + [anon_sym_LBRACE] = ACTIONS(17), + [anon_sym_LBRACK] = ACTIONS(19), + [anon_sym_let] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_match] = ACTIONS(25), + [anon_sym_import] = ACTIONS(27), + [anon_sym_GT] = ACTIONS(29), + [anon_sym_GT_EQ] = ACTIONS(31), + [anon_sym_LT] = ACTIONS(29), + [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_DASH] = ACTIONS(33), + }, + [30] = { + [sym__expression] = STATE(106), + [sym_literal] = STATE(106), + [sym_boolean] = STATE(124), + [sym_object] = STATE(106), + [sym_array] = STATE(106), + [sym_let_expression] = STATE(106), + [sym_function_expression] = STATE(106), + [sym_match_expression] = STATE(106), + [sym_import_expression] = STATE(106), + [sym_parenthesized_expression] = STATE(106), + [sym_call_expression] = STATE(106), + [sym_path_expression] = STATE(106), + [sym_comparison_constraint] = STATE(106), + [sym_unary_expression] = STATE(106), + [sym_binary_expression] = STATE(106), + [sym_default_expression] = STATE(106), + [sym_identifier] = ACTIONS(193), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(195), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [31] = { + [sym__expression] = STATE(110), + [sym_literal] = STATE(110), + [sym_boolean] = STATE(124), + [sym_object] = STATE(110), + [sym_array] = STATE(110), + [sym_let_expression] = STATE(110), + [sym_function_expression] = STATE(110), + [sym_match_expression] = STATE(110), + [sym_import_expression] = STATE(110), + [sym_parenthesized_expression] = STATE(110), + [sym_call_expression] = STATE(110), + [sym_path_expression] = STATE(110), + [sym_comparison_constraint] = STATE(110), + [sym_unary_expression] = STATE(110), + [sym_binary_expression] = STATE(110), + [sym_default_expression] = STATE(110), + [sym_identifier] = ACTIONS(197), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(199), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [32] = { + [sym__expression] = STATE(116), + [sym_literal] = STATE(116), + [sym_boolean] = STATE(124), + [sym_object] = STATE(116), + [sym_array] = STATE(116), + [sym_let_expression] = STATE(116), + [sym_function_expression] = STATE(116), + [sym_match_expression] = STATE(116), + [sym_import_expression] = STATE(116), + [sym_parenthesized_expression] = STATE(116), + [sym_call_expression] = STATE(116), + [sym_path_expression] = STATE(116), + [sym_comparison_constraint] = STATE(116), + [sym_unary_expression] = STATE(116), + [sym_binary_expression] = STATE(116), + [sym_default_expression] = STATE(116), + [sym_identifier] = ACTIONS(201), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(203), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [33] = { + [sym__expression] = STATE(125), + [sym_literal] = STATE(125), + [sym_boolean] = STATE(124), + [sym_object] = STATE(125), + [sym_array] = STATE(125), + [sym_let_expression] = STATE(125), + [sym_function_expression] = STATE(125), + [sym_match_expression] = STATE(125), + [sym_import_expression] = STATE(125), + [sym_parenthesized_expression] = STATE(125), + [sym_call_expression] = STATE(125), + [sym_path_expression] = STATE(125), + [sym_comparison_constraint] = STATE(125), + [sym_unary_expression] = STATE(125), + [sym_binary_expression] = STATE(125), + [sym_default_expression] = STATE(125), + [sym_identifier] = ACTIONS(205), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(207), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [34] = { + [sym__expression] = STATE(97), + [sym_literal] = STATE(97), + [sym_boolean] = STATE(124), + [sym_object] = STATE(97), + [sym_array] = STATE(97), + [sym_let_expression] = STATE(97), + [sym_function_expression] = STATE(97), + [sym_match_expression] = STATE(97), + [sym_import_expression] = STATE(97), + [sym_parenthesized_expression] = STATE(97), + [sym_call_expression] = STATE(97), + [sym_path_expression] = STATE(97), + [sym_comparison_constraint] = STATE(97), + [sym_unary_expression] = STATE(97), + [sym_binary_expression] = STATE(97), + [sym_default_expression] = STATE(97), + [sym_identifier] = ACTIONS(209), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(211), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [35] = { + [sym__expression] = STATE(138), + [sym_literal] = STATE(138), + [sym_boolean] = STATE(124), + [sym_object] = STATE(138), + [sym_array] = STATE(138), + [sym_let_expression] = STATE(138), + [sym_function_expression] = STATE(138), + [sym_match_expression] = STATE(138), + [sym_import_expression] = STATE(138), + [sym_parenthesized_expression] = STATE(138), + [sym_call_expression] = STATE(138), + [sym_path_expression] = STATE(138), + [sym_comparison_constraint] = STATE(138), + [sym_unary_expression] = STATE(138), + [sym_binary_expression] = STATE(138), + [sym_default_expression] = STATE(138), + [sym_identifier] = ACTIONS(213), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(215), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [36] = { [sym__expression] = STATE(68), [sym_literal] = STATE(68), - [sym_boolean] = STATE(32), + [sym_boolean] = STATE(80), [sym_object] = STATE(68), [sym_array] = STATE(68), [sym_let_expression] = STATE(68), @@ -1872,16 +2748,17 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_call_expression] = STATE(68), [sym_path_expression] = STATE(68), [sym_comparison_constraint] = STATE(68), + [sym_unary_expression] = STATE(68), [sym_binary_expression] = STATE(68), [sym_default_expression] = STATE(68), - [sym_identifier] = ACTIONS(100), + [sym_identifier] = ACTIONS(217), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(9), [anon_sym_false] = ACTIONS(9), [sym_string] = ACTIONS(11), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(102), + [sym_regex_literal] = ACTIONS(219), [anon_sym_LBRACE] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_let] = ACTIONS(21), @@ -1892,31 +2769,144 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_GT_EQ] = ACTIONS(31), [anon_sym_LT] = ACTIONS(29), [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_DASH] = ACTIONS(33), }, - [22] = { - [sym__expression] = STATE(31), - [sym_literal] = STATE(31), - [sym_boolean] = STATE(32), - [sym_object] = STATE(31), - [sym_array] = STATE(31), - [sym_let_expression] = STATE(31), - [sym_function_expression] = STATE(31), - [sym_match_expression] = STATE(31), - [sym_import_expression] = STATE(31), - [sym_parenthesized_expression] = STATE(31), - [sym_call_expression] = STATE(31), - [sym_path_expression] = STATE(31), - [sym_comparison_constraint] = STATE(31), - [sym_binary_expression] = STATE(31), - [sym_default_expression] = STATE(31), - [sym_identifier] = ACTIONS(142), + [37] = { + [sym__expression] = STATE(144), + [sym_literal] = STATE(144), + [sym_boolean] = STATE(124), + [sym_object] = STATE(144), + [sym_array] = STATE(144), + [sym_let_expression] = STATE(144), + [sym_function_expression] = STATE(144), + [sym_match_expression] = STATE(144), + [sym_import_expression] = STATE(144), + [sym_parenthesized_expression] = STATE(144), + [sym_call_expression] = STATE(144), + [sym_path_expression] = STATE(144), + [sym_comparison_constraint] = STATE(144), + [sym_unary_expression] = STATE(144), + [sym_binary_expression] = STATE(144), + [sym_default_expression] = STATE(144), + [sym_identifier] = ACTIONS(221), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(223), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [38] = { + [sym__expression] = STATE(143), + [sym_literal] = STATE(143), + [sym_boolean] = STATE(124), + [sym_object] = STATE(143), + [sym_array] = STATE(143), + [sym_let_expression] = STATE(143), + [sym_function_expression] = STATE(143), + [sym_match_expression] = STATE(143), + [sym_import_expression] = STATE(143), + [sym_parenthesized_expression] = STATE(143), + [sym_call_expression] = STATE(143), + [sym_path_expression] = STATE(143), + [sym_comparison_constraint] = STATE(143), + [sym_unary_expression] = STATE(143), + [sym_binary_expression] = STATE(143), + [sym_default_expression] = STATE(143), + [sym_identifier] = ACTIONS(225), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(227), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [39] = { + [sym__expression] = STATE(137), + [sym_literal] = STATE(137), + [sym_boolean] = STATE(124), + [sym_object] = STATE(137), + [sym_array] = STATE(137), + [sym_let_expression] = STATE(137), + [sym_function_expression] = STATE(137), + [sym_match_expression] = STATE(137), + [sym_import_expression] = STATE(137), + [sym_parenthesized_expression] = STATE(137), + [sym_call_expression] = STATE(137), + [sym_path_expression] = STATE(137), + [sym_comparison_constraint] = STATE(137), + [sym_unary_expression] = STATE(137), + [sym_binary_expression] = STATE(137), + [sym_default_expression] = STATE(137), + [sym_identifier] = ACTIONS(229), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(231), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [40] = { + [sym__expression] = STATE(79), + [sym_literal] = STATE(79), + [sym_boolean] = STATE(80), + [sym_object] = STATE(79), + [sym_array] = STATE(79), + [sym_let_expression] = STATE(79), + [sym_function_expression] = STATE(79), + [sym_match_expression] = STATE(79), + [sym_import_expression] = STATE(79), + [sym_parenthesized_expression] = STATE(79), + [sym_call_expression] = STATE(79), + [sym_path_expression] = STATE(79), + [sym_comparison_constraint] = STATE(79), + [sym_unary_expression] = STATE(79), + [sym_binary_expression] = STATE(79), + [sym_default_expression] = STATE(79), + [sym_identifier] = ACTIONS(233), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(9), [anon_sym_false] = ACTIONS(9), [sym_string] = ACTIONS(11), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(144), + [sym_regex_literal] = ACTIONS(235), [anon_sym_LBRACE] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_let] = ACTIONS(21), @@ -1927,151 +2917,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_GT_EQ] = ACTIONS(31), [anon_sym_LT] = ACTIONS(29), [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_DASH] = ACTIONS(33), }, - [23] = { - [sym__expression] = STATE(37), - [sym_literal] = STATE(37), - [sym_boolean] = STATE(32), - [sym_object] = STATE(37), - [sym_array] = STATE(37), - [sym_let_expression] = STATE(37), - [sym_function_expression] = STATE(37), - [sym_match_expression] = STATE(37), - [sym_import_expression] = STATE(37), - [sym_parenthesized_expression] = STATE(37), - [sym_call_expression] = STATE(37), - [sym_path_expression] = STATE(37), - [sym_comparison_constraint] = STATE(37), - [sym_binary_expression] = STATE(37), - [sym_default_expression] = STATE(37), - [sym_identifier] = ACTIONS(146), - [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(148), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_match] = ACTIONS(25), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), - }, - [24] = { - [sym__expression] = STATE(71), - [sym_literal] = STATE(71), - [sym_boolean] = STATE(32), - [sym_object] = STATE(71), - [sym_array] = STATE(71), - [sym_let_expression] = STATE(71), - [sym_function_expression] = STATE(71), - [sym_match_expression] = STATE(71), - [sym_import_expression] = STATE(71), - [sym_parenthesized_expression] = STATE(71), - [sym_call_expression] = STATE(71), - [sym_path_expression] = STATE(71), - [sym_comparison_constraint] = STATE(71), - [sym_binary_expression] = STATE(71), - [sym_default_expression] = STATE(71), - [sym_identifier] = ACTIONS(150), - [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(152), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_match] = ACTIONS(25), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), - }, - [25] = { - [sym__expression] = STATE(52), - [sym_literal] = STATE(52), - [sym_boolean] = STATE(32), - [sym_object] = STATE(52), - [sym_array] = STATE(52), - [sym_let_expression] = STATE(52), - [sym_function_expression] = STATE(52), - [sym_match_expression] = STATE(52), - [sym_import_expression] = STATE(52), - [sym_parenthesized_expression] = STATE(52), - [sym_call_expression] = STATE(52), - [sym_path_expression] = STATE(52), - [sym_comparison_constraint] = STATE(52), - [sym_binary_expression] = STATE(52), - [sym_default_expression] = STATE(52), - [sym_identifier] = ACTIONS(154), - [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(156), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_match] = ACTIONS(25), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), - }, - [26] = { - [sym__expression] = STATE(50), - [sym_literal] = STATE(50), - [sym_boolean] = STATE(32), - [sym_object] = STATE(50), - [sym_array] = STATE(50), - [sym_let_expression] = STATE(50), - [sym_function_expression] = STATE(50), - [sym_match_expression] = STATE(50), - [sym_import_expression] = STATE(50), - [sym_parenthesized_expression] = STATE(50), - [sym_call_expression] = STATE(50), - [sym_path_expression] = STATE(50), - [sym_comparison_constraint] = STATE(50), - [sym_binary_expression] = STATE(50), - [sym_default_expression] = STATE(50), - [sym_identifier] = ACTIONS(158), - [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(9), - [anon_sym_false] = ACTIONS(9), - [sym_string] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(160), - [anon_sym_LBRACE] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_let] = ACTIONS(21), - [anon_sym_LPAREN] = ACTIONS(23), - [anon_sym_match] = ACTIONS(25), - [anon_sym_import] = ACTIONS(27), - [anon_sym_GT] = ACTIONS(29), - [anon_sym_GT_EQ] = ACTIONS(31), - [anon_sym_LT] = ACTIONS(29), - [anon_sym_LT_EQ] = ACTIONS(31), - }, - [27] = { + [41] = { [sym__expression] = STATE(69), [sym_literal] = STATE(69), - [sym_boolean] = STATE(32), + [sym_boolean] = STATE(80), [sym_object] = STATE(69), [sym_array] = STATE(69), [sym_let_expression] = STATE(69), @@ -2082,16 +2933,17 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_call_expression] = STATE(69), [sym_path_expression] = STATE(69), [sym_comparison_constraint] = STATE(69), + [sym_unary_expression] = STATE(69), [sym_binary_expression] = STATE(69), [sym_default_expression] = STATE(69), - [sym_identifier] = ACTIONS(162), + [sym_identifier] = ACTIONS(237), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(9), [anon_sym_false] = ACTIONS(9), [sym_string] = ACTIONS(11), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(164), + [sym_regex_literal] = ACTIONS(239), [anon_sym_LBRACE] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_let] = ACTIONS(21), @@ -2102,31 +2954,33 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_GT_EQ] = ACTIONS(31), [anon_sym_LT] = ACTIONS(29), [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_DASH] = ACTIONS(33), }, - [28] = { - [sym__expression] = STATE(61), - [sym_literal] = STATE(61), - [sym_boolean] = STATE(32), - [sym_object] = STATE(61), - [sym_array] = STATE(61), - [sym_let_expression] = STATE(61), - [sym_function_expression] = STATE(61), - [sym_match_expression] = STATE(61), - [sym_import_expression] = STATE(61), - [sym_parenthesized_expression] = STATE(61), - [sym_call_expression] = STATE(61), - [sym_path_expression] = STATE(61), - [sym_comparison_constraint] = STATE(61), - [sym_binary_expression] = STATE(61), - [sym_default_expression] = STATE(61), - [sym_identifier] = ACTIONS(166), + [42] = { + [sym__expression] = STATE(70), + [sym_literal] = STATE(70), + [sym_boolean] = STATE(80), + [sym_object] = STATE(70), + [sym_array] = STATE(70), + [sym_let_expression] = STATE(70), + [sym_function_expression] = STATE(70), + [sym_match_expression] = STATE(70), + [sym_import_expression] = STATE(70), + [sym_parenthesized_expression] = STATE(70), + [sym_call_expression] = STATE(70), + [sym_path_expression] = STATE(70), + [sym_comparison_constraint] = STATE(70), + [sym_unary_expression] = STATE(70), + [sym_binary_expression] = STATE(70), + [sym_default_expression] = STATE(70), + [sym_identifier] = ACTIONS(241), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(9), [anon_sym_false] = ACTIONS(9), [sym_string] = ACTIONS(11), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(11), - [sym_regex_literal] = ACTIONS(168), + [sym_regex_literal] = ACTIONS(243), [anon_sym_LBRACE] = ACTIONS(17), [anon_sym_LBRACK] = ACTIONS(19), [anon_sym_let] = ACTIONS(21), @@ -2137,14 +2991,576 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_GT_EQ] = ACTIONS(31), [anon_sym_LT] = ACTIONS(29), [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_DASH] = ACTIONS(33), + }, + [43] = { + [sym__expression] = STATE(71), + [sym_literal] = STATE(71), + [sym_boolean] = STATE(80), + [sym_object] = STATE(71), + [sym_array] = STATE(71), + [sym_let_expression] = STATE(71), + [sym_function_expression] = STATE(71), + [sym_match_expression] = STATE(71), + [sym_import_expression] = STATE(71), + [sym_parenthesized_expression] = STATE(71), + [sym_call_expression] = STATE(71), + [sym_path_expression] = STATE(71), + [sym_comparison_constraint] = STATE(71), + [sym_unary_expression] = STATE(71), + [sym_binary_expression] = STATE(71), + [sym_default_expression] = STATE(71), + [sym_identifier] = ACTIONS(245), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(9), + [anon_sym_false] = ACTIONS(9), + [sym_string] = ACTIONS(11), + [sym_integer] = ACTIONS(13), + [sym_float] = ACTIONS(11), + [sym_regex_literal] = ACTIONS(247), + [anon_sym_LBRACE] = ACTIONS(17), + [anon_sym_LBRACK] = ACTIONS(19), + [anon_sym_let] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_match] = ACTIONS(25), + [anon_sym_import] = ACTIONS(27), + [anon_sym_GT] = ACTIONS(29), + [anon_sym_GT_EQ] = ACTIONS(31), + [anon_sym_LT] = ACTIONS(29), + [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_DASH] = ACTIONS(33), + }, + [44] = { + [sym__expression] = STATE(72), + [sym_literal] = STATE(72), + [sym_boolean] = STATE(80), + [sym_object] = STATE(72), + [sym_array] = STATE(72), + [sym_let_expression] = STATE(72), + [sym_function_expression] = STATE(72), + [sym_match_expression] = STATE(72), + [sym_import_expression] = STATE(72), + [sym_parenthesized_expression] = STATE(72), + [sym_call_expression] = STATE(72), + [sym_path_expression] = STATE(72), + [sym_comparison_constraint] = STATE(72), + [sym_unary_expression] = STATE(72), + [sym_binary_expression] = STATE(72), + [sym_default_expression] = STATE(72), + [sym_identifier] = ACTIONS(249), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(9), + [anon_sym_false] = ACTIONS(9), + [sym_string] = ACTIONS(11), + [sym_integer] = ACTIONS(13), + [sym_float] = ACTIONS(11), + [sym_regex_literal] = ACTIONS(251), + [anon_sym_LBRACE] = ACTIONS(17), + [anon_sym_LBRACK] = ACTIONS(19), + [anon_sym_let] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_match] = ACTIONS(25), + [anon_sym_import] = ACTIONS(27), + [anon_sym_GT] = ACTIONS(29), + [anon_sym_GT_EQ] = ACTIONS(31), + [anon_sym_LT] = ACTIONS(29), + [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_DASH] = ACTIONS(33), + }, + [45] = { + [sym__expression] = STATE(73), + [sym_literal] = STATE(73), + [sym_boolean] = STATE(80), + [sym_object] = STATE(73), + [sym_array] = STATE(73), + [sym_let_expression] = STATE(73), + [sym_function_expression] = STATE(73), + [sym_match_expression] = STATE(73), + [sym_import_expression] = STATE(73), + [sym_parenthesized_expression] = STATE(73), + [sym_call_expression] = STATE(73), + [sym_path_expression] = STATE(73), + [sym_comparison_constraint] = STATE(73), + [sym_unary_expression] = STATE(73), + [sym_binary_expression] = STATE(73), + [sym_default_expression] = STATE(73), + [sym_identifier] = ACTIONS(253), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(9), + [anon_sym_false] = ACTIONS(9), + [sym_string] = ACTIONS(11), + [sym_integer] = ACTIONS(13), + [sym_float] = ACTIONS(11), + [sym_regex_literal] = ACTIONS(255), + [anon_sym_LBRACE] = ACTIONS(17), + [anon_sym_LBRACK] = ACTIONS(19), + [anon_sym_let] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_match] = ACTIONS(25), + [anon_sym_import] = ACTIONS(27), + [anon_sym_GT] = ACTIONS(29), + [anon_sym_GT_EQ] = ACTIONS(31), + [anon_sym_LT] = ACTIONS(29), + [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_DASH] = ACTIONS(33), + }, + [46] = { + [sym__expression] = STATE(100), + [sym_literal] = STATE(100), + [sym_boolean] = STATE(124), + [sym_object] = STATE(100), + [sym_array] = STATE(100), + [sym_let_expression] = STATE(100), + [sym_function_expression] = STATE(100), + [sym_match_expression] = STATE(100), + [sym_import_expression] = STATE(100), + [sym_parenthesized_expression] = STATE(100), + [sym_call_expression] = STATE(100), + [sym_path_expression] = STATE(100), + [sym_comparison_constraint] = STATE(100), + [sym_unary_expression] = STATE(100), + [sym_binary_expression] = STATE(100), + [sym_default_expression] = STATE(100), + [sym_identifier] = ACTIONS(257), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(259), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [47] = { + [sym__expression] = STATE(104), + [sym_literal] = STATE(104), + [sym_boolean] = STATE(124), + [sym_object] = STATE(104), + [sym_array] = STATE(104), + [sym_let_expression] = STATE(104), + [sym_function_expression] = STATE(104), + [sym_match_expression] = STATE(104), + [sym_import_expression] = STATE(104), + [sym_parenthesized_expression] = STATE(104), + [sym_call_expression] = STATE(104), + [sym_path_expression] = STATE(104), + [sym_comparison_constraint] = STATE(104), + [sym_unary_expression] = STATE(104), + [sym_binary_expression] = STATE(104), + [sym_default_expression] = STATE(104), + [sym_identifier] = ACTIONS(261), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(263), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [48] = { + [sym__expression] = STATE(67), + [sym_literal] = STATE(67), + [sym_boolean] = STATE(80), + [sym_object] = STATE(67), + [sym_array] = STATE(67), + [sym_let_expression] = STATE(67), + [sym_function_expression] = STATE(67), + [sym_match_expression] = STATE(67), + [sym_import_expression] = STATE(67), + [sym_parenthesized_expression] = STATE(67), + [sym_call_expression] = STATE(67), + [sym_path_expression] = STATE(67), + [sym_comparison_constraint] = STATE(67), + [sym_unary_expression] = STATE(67), + [sym_binary_expression] = STATE(67), + [sym_default_expression] = STATE(67), + [sym_identifier] = ACTIONS(265), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(9), + [anon_sym_false] = ACTIONS(9), + [sym_string] = ACTIONS(11), + [sym_integer] = ACTIONS(13), + [sym_float] = ACTIONS(11), + [sym_regex_literal] = ACTIONS(267), + [anon_sym_LBRACE] = ACTIONS(17), + [anon_sym_LBRACK] = ACTIONS(19), + [anon_sym_let] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_match] = ACTIONS(25), + [anon_sym_import] = ACTIONS(27), + [anon_sym_GT] = ACTIONS(29), + [anon_sym_GT_EQ] = ACTIONS(31), + [anon_sym_LT] = ACTIONS(29), + [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_DASH] = ACTIONS(33), + }, + [49] = { + [sym__expression] = STATE(88), + [sym_literal] = STATE(88), + [sym_boolean] = STATE(80), + [sym_object] = STATE(88), + [sym_array] = STATE(88), + [sym_let_expression] = STATE(88), + [sym_function_expression] = STATE(88), + [sym_match_expression] = STATE(88), + [sym_import_expression] = STATE(88), + [sym_parenthesized_expression] = STATE(88), + [sym_call_expression] = STATE(88), + [sym_path_expression] = STATE(88), + [sym_comparison_constraint] = STATE(88), + [sym_unary_expression] = STATE(88), + [sym_binary_expression] = STATE(88), + [sym_default_expression] = STATE(88), + [sym_identifier] = ACTIONS(269), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(9), + [anon_sym_false] = ACTIONS(9), + [sym_string] = ACTIONS(11), + [sym_integer] = ACTIONS(13), + [sym_float] = ACTIONS(11), + [sym_regex_literal] = ACTIONS(271), + [anon_sym_LBRACE] = ACTIONS(17), + [anon_sym_LBRACK] = ACTIONS(19), + [anon_sym_let] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_match] = ACTIONS(25), + [anon_sym_import] = ACTIONS(27), + [anon_sym_GT] = ACTIONS(29), + [anon_sym_GT_EQ] = ACTIONS(31), + [anon_sym_LT] = ACTIONS(29), + [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_DASH] = ACTIONS(33), + }, + [50] = { + [sym__expression] = STATE(112), + [sym_literal] = STATE(112), + [sym_boolean] = STATE(124), + [sym_object] = STATE(112), + [sym_array] = STATE(112), + [sym_let_expression] = STATE(112), + [sym_function_expression] = STATE(112), + [sym_match_expression] = STATE(112), + [sym_import_expression] = STATE(112), + [sym_parenthesized_expression] = STATE(112), + [sym_call_expression] = STATE(112), + [sym_path_expression] = STATE(112), + [sym_comparison_constraint] = STATE(112), + [sym_unary_expression] = STATE(112), + [sym_binary_expression] = STATE(112), + [sym_default_expression] = STATE(112), + [sym_identifier] = ACTIONS(273), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(275), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [51] = { + [sym__expression] = STATE(83), + [sym_literal] = STATE(83), + [sym_boolean] = STATE(80), + [sym_object] = STATE(83), + [sym_array] = STATE(83), + [sym_let_expression] = STATE(83), + [sym_function_expression] = STATE(83), + [sym_match_expression] = STATE(83), + [sym_import_expression] = STATE(83), + [sym_parenthesized_expression] = STATE(83), + [sym_call_expression] = STATE(83), + [sym_path_expression] = STATE(83), + [sym_comparison_constraint] = STATE(83), + [sym_unary_expression] = STATE(83), + [sym_binary_expression] = STATE(83), + [sym_default_expression] = STATE(83), + [sym_identifier] = ACTIONS(277), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(9), + [anon_sym_false] = ACTIONS(9), + [sym_string] = ACTIONS(11), + [sym_integer] = ACTIONS(13), + [sym_float] = ACTIONS(11), + [sym_regex_literal] = ACTIONS(279), + [anon_sym_LBRACE] = ACTIONS(17), + [anon_sym_LBRACK] = ACTIONS(19), + [anon_sym_let] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_match] = ACTIONS(25), + [anon_sym_import] = ACTIONS(27), + [anon_sym_GT] = ACTIONS(29), + [anon_sym_GT_EQ] = ACTIONS(31), + [anon_sym_LT] = ACTIONS(29), + [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_DASH] = ACTIONS(33), + }, + [52] = { + [sym__expression] = STATE(84), + [sym_literal] = STATE(84), + [sym_boolean] = STATE(80), + [sym_object] = STATE(84), + [sym_array] = STATE(84), + [sym_let_expression] = STATE(84), + [sym_function_expression] = STATE(84), + [sym_match_expression] = STATE(84), + [sym_import_expression] = STATE(84), + [sym_parenthesized_expression] = STATE(84), + [sym_call_expression] = STATE(84), + [sym_path_expression] = STATE(84), + [sym_comparison_constraint] = STATE(84), + [sym_unary_expression] = STATE(84), + [sym_binary_expression] = STATE(84), + [sym_default_expression] = STATE(84), + [sym_identifier] = ACTIONS(281), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(9), + [anon_sym_false] = ACTIONS(9), + [sym_string] = ACTIONS(11), + [sym_integer] = ACTIONS(13), + [sym_float] = ACTIONS(11), + [sym_regex_literal] = ACTIONS(283), + [anon_sym_LBRACE] = ACTIONS(17), + [anon_sym_LBRACK] = ACTIONS(19), + [anon_sym_let] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_match] = ACTIONS(25), + [anon_sym_import] = ACTIONS(27), + [anon_sym_GT] = ACTIONS(29), + [anon_sym_GT_EQ] = ACTIONS(31), + [anon_sym_LT] = ACTIONS(29), + [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_DASH] = ACTIONS(33), + }, + [53] = { + [sym__expression] = STATE(114), + [sym_literal] = STATE(114), + [sym_boolean] = STATE(124), + [sym_object] = STATE(114), + [sym_array] = STATE(114), + [sym_let_expression] = STATE(114), + [sym_function_expression] = STATE(114), + [sym_match_expression] = STATE(114), + [sym_import_expression] = STATE(114), + [sym_parenthesized_expression] = STATE(114), + [sym_call_expression] = STATE(114), + [sym_path_expression] = STATE(114), + [sym_comparison_constraint] = STATE(114), + [sym_unary_expression] = STATE(114), + [sym_binary_expression] = STATE(114), + [sym_default_expression] = STATE(114), + [sym_identifier] = ACTIONS(285), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(287), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [54] = { + [sym__expression] = STATE(139), + [sym_literal] = STATE(139), + [sym_boolean] = STATE(124), + [sym_object] = STATE(139), + [sym_array] = STATE(139), + [sym_let_expression] = STATE(139), + [sym_function_expression] = STATE(139), + [sym_match_expression] = STATE(139), + [sym_import_expression] = STATE(139), + [sym_parenthesized_expression] = STATE(139), + [sym_call_expression] = STATE(139), + [sym_path_expression] = STATE(139), + [sym_comparison_constraint] = STATE(139), + [sym_unary_expression] = STATE(139), + [sym_binary_expression] = STATE(139), + [sym_default_expression] = STATE(139), + [sym_identifier] = ACTIONS(289), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(291), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [55] = { + [sym__expression] = STATE(101), + [sym_literal] = STATE(101), + [sym_boolean] = STATE(124), + [sym_object] = STATE(101), + [sym_array] = STATE(101), + [sym_let_expression] = STATE(101), + [sym_function_expression] = STATE(101), + [sym_match_expression] = STATE(101), + [sym_import_expression] = STATE(101), + [sym_parenthesized_expression] = STATE(101), + [sym_call_expression] = STATE(101), + [sym_path_expression] = STATE(101), + [sym_comparison_constraint] = STATE(101), + [sym_unary_expression] = STATE(101), + [sym_binary_expression] = STATE(101), + [sym_default_expression] = STATE(101), + [sym_identifier] = ACTIONS(293), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(295), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), + }, + [56] = { + [sym__expression] = STATE(82), + [sym_literal] = STATE(82), + [sym_boolean] = STATE(80), + [sym_object] = STATE(82), + [sym_array] = STATE(82), + [sym_let_expression] = STATE(82), + [sym_function_expression] = STATE(82), + [sym_match_expression] = STATE(82), + [sym_import_expression] = STATE(82), + [sym_parenthesized_expression] = STATE(82), + [sym_call_expression] = STATE(82), + [sym_path_expression] = STATE(82), + [sym_comparison_constraint] = STATE(82), + [sym_unary_expression] = STATE(82), + [sym_binary_expression] = STATE(82), + [sym_default_expression] = STATE(82), + [sym_identifier] = ACTIONS(297), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(9), + [anon_sym_false] = ACTIONS(9), + [sym_string] = ACTIONS(11), + [sym_integer] = ACTIONS(13), + [sym_float] = ACTIONS(11), + [sym_regex_literal] = ACTIONS(299), + [anon_sym_LBRACE] = ACTIONS(17), + [anon_sym_LBRACK] = ACTIONS(19), + [anon_sym_let] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_match] = ACTIONS(25), + [anon_sym_import] = ACTIONS(27), + [anon_sym_GT] = ACTIONS(29), + [anon_sym_GT_EQ] = ACTIONS(31), + [anon_sym_LT] = ACTIONS(29), + [anon_sym_LT_EQ] = ACTIONS(31), + [anon_sym_DASH] = ACTIONS(33), + }, + [57] = { + [sym__expression] = STATE(121), + [sym_literal] = STATE(121), + [sym_boolean] = STATE(124), + [sym_object] = STATE(121), + [sym_array] = STATE(121), + [sym_let_expression] = STATE(121), + [sym_function_expression] = STATE(121), + [sym_match_expression] = STATE(121), + [sym_import_expression] = STATE(121), + [sym_parenthesized_expression] = STATE(121), + [sym_call_expression] = STATE(121), + [sym_path_expression] = STATE(121), + [sym_comparison_constraint] = STATE(121), + [sym_unary_expression] = STATE(121), + [sym_binary_expression] = STATE(121), + [sym_default_expression] = STATE(121), + [sym_identifier] = ACTIONS(301), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(83), + [anon_sym_false] = ACTIONS(83), + [sym_string] = ACTIONS(85), + [sym_integer] = ACTIONS(87), + [sym_float] = ACTIONS(85), + [sym_regex_literal] = ACTIONS(303), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_match] = ACTIONS(101), + [anon_sym_import] = ACTIONS(105), + [anon_sym_GT] = ACTIONS(107), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(107), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(111), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 3, + [0] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(172), 10, + ACTIONS(309), 1, + anon_sym_EQ, + ACTIONS(311), 1, + anon_sym_DOT, + STATE(174), 1, + aux_sym_field_path_repeat1, + ACTIONS(307), 11, anon_sym_true, anon_sym_false, sym_integer, @@ -2154,30 +3570,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_import, anon_sym_GT, anon_sym_LT, + anon_sym_SLASH, anon_sym_default, - ACTIONS(170), 18, + ACTIONS(305), 15, ts_builtin_sym_end, anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, anon_sym_AMP, anon_sym_SLASH_SLASH, - [36] = 3, + [43] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(176), 10, + ACTIONS(315), 11, anon_sym_true, anon_sym_false, sym_integer, @@ -2187,40 +3601,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_import, anon_sym_GT, anon_sym_LT, + anon_sym_SLASH, anon_sym_default, - ACTIONS(174), 18, + ACTIONS(313), 16, ts_builtin_sym_end, anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, - anon_sym_RBRACE, anon_sym_DOT, anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, anon_sym_AMP, anon_sym_SLASH_SLASH, - [72] = 8, + [78] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(188), 1, - anon_sym_SLASH_SLASH, - ACTIONS(190), 1, - anon_sym_default, - ACTIONS(180), 9, + ACTIONS(319), 11, anon_sym_true, anon_sym_false, sym_integer, @@ -2230,25 +3633,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_import, anon_sym_GT, anon_sym_LT, - ACTIONS(178), 14, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(317), 16, ts_builtin_sym_end, anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, - anon_sym_RBRACE, + anon_sym_DOT, anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, + anon_sym_LPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, - [118] = 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [113] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(194), 10, + ACTIONS(323), 11, anon_sym_true, anon_sym_false, sym_integer, @@ -2258,30 +3665,57 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_import, anon_sym_GT, anon_sym_LT, + anon_sym_SLASH, anon_sym_default, - ACTIONS(192), 18, + ACTIONS(321), 16, ts_builtin_sym_end, anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, - anon_sym_RBRACE, anon_sym_DOT, anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, anon_sym_AMP, anon_sym_SLASH_SLASH, - [154] = 3, + [148] = 12, ACTIONS(3), 1, sym_comment, - ACTIONS(198), 10, + ACTIONS(329), 1, + anon_sym_SEMI, + ACTIONS(331), 1, + anon_sym_DOT, + ACTIONS(333), 1, + anon_sym_LPAREN, + ACTIONS(337), 1, + anon_sym_STAR, + ACTIONS(339), 1, + anon_sym_SLASH, + ACTIONS(341), 1, + anon_sym_AMP, + ACTIONS(343), 1, + anon_sym_SLASH_SLASH, + ACTIONS(345), 1, + anon_sym_default, + ACTIONS(335), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(325), 8, + ts_builtin_sym_end, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(327), 9, anon_sym_true, anon_sym_false, sym_integer, @@ -2291,40 +3725,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_import, anon_sym_GT, anon_sym_LT, - anon_sym_default, - ACTIONS(196), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [190] = 8, + [201] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(188), 1, - anon_sym_SLASH_SLASH, - ACTIONS(190), 1, - anon_sym_default, - ACTIONS(202), 9, + ACTIONS(349), 11, anon_sym_true, anon_sym_false, sym_integer, @@ -2334,25 +3738,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_import, anon_sym_GT, anon_sym_LT, - ACTIONS(200), 14, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(347), 16, ts_builtin_sym_end, anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, - anon_sym_RBRACE, + anon_sym_DOT, anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, + anon_sym_LPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, [236] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(206), 10, + ACTIONS(353), 11, anon_sym_true, anon_sym_false, sym_integer, @@ -2362,40 +3770,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_import, anon_sym_GT, anon_sym_LT, + anon_sym_SLASH, anon_sym_default, - ACTIONS(204), 18, + ACTIONS(351), 16, ts_builtin_sym_end, anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, - anon_sym_RBRACE, anon_sym_DOT, anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, anon_sym_AMP, anon_sym_SLASH_SLASH, - [272] = 8, + [271] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(188), 1, - anon_sym_SLASH_SLASH, - ACTIONS(190), 1, - anon_sym_default, - ACTIONS(210), 9, + ACTIONS(357), 11, anon_sym_true, anon_sym_false, sym_integer, @@ -2405,35 +3802,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_import, anon_sym_GT, anon_sym_LT, - ACTIONS(208), 14, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(355), 16, ts_builtin_sym_end, anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, - anon_sym_RBRACE, + anon_sym_DOT, anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, + anon_sym_LPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, - [318] = 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [306] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(188), 1, - anon_sym_SLASH_SLASH, - ACTIONS(190), 1, - anon_sym_default, - ACTIONS(214), 9, + ACTIONS(361), 11, anon_sym_true, anon_sym_false, sym_integer, @@ -2443,1496 +3834,2837 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_import, anon_sym_GT, anon_sym_LT, - ACTIONS(212), 14, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(359), 16, ts_builtin_sym_end, anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [364] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(218), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(216), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, anon_sym_DOT, anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [400] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(222), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(220), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [436] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(226), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(224), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [472] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(230), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(228), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [508] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(234), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(232), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [544] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(238), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(236), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [580] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(242), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(240), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [616] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(246), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(244), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [652] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(188), 1, - anon_sym_SLASH_SLASH, - ACTIONS(190), 1, - anon_sym_default, - ACTIONS(250), 9, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - ACTIONS(248), 14, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [698] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(188), 1, - anon_sym_SLASH_SLASH, - ACTIONS(190), 1, - anon_sym_default, - ACTIONS(254), 9, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - ACTIONS(252), 14, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [744] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(258), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(256), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [780] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(262), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(260), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [816] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(188), 1, - anon_sym_SLASH_SLASH, - ACTIONS(190), 1, - anon_sym_default, - ACTIONS(266), 9, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - ACTIONS(264), 14, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [862] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(270), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(268), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [898] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(274), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(272), 15, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_SLASH_SLASH, - [940] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(274), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(272), 16, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [980] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(278), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(276), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [1016] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(282), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(280), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [1052] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(286), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(284), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [1088] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(290), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(288), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [1124] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(294), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(292), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [1160] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(298), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(296), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - [1196] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(304), 1, - anon_sym_EQ, - ACTIONS(306), 1, - anon_sym_DOT, - STATE(92), 1, - aux_sym_field_path_repeat1, - ACTIONS(302), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_default, - ACTIONS(300), 12, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, anon_sym_AMP, anon_sym_SLASH_SLASH, - [1235] = 8, + [341] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(188), 1, - anon_sym_SLASH_SLASH, - ACTIONS(190), 1, - anon_sym_default, - ACTIONS(310), 9, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - ACTIONS(308), 10, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [1277] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(188), 1, - anon_sym_SLASH_SLASH, - ACTIONS(190), 1, - anon_sym_default, - ACTIONS(316), 1, - anon_sym_SEMI, - ACTIONS(312), 8, - ts_builtin_sym_end, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(314), 9, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - [1320] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(316), 1, - anon_sym_SEMI, - ACTIONS(312), 9, - ts_builtin_sym_end, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(314), 9, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - [1349] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(318), 9, - ts_builtin_sym_end, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(320), 9, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - [1375] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(322), 1, - anon_sym_COMMA, - ACTIONS(324), 1, - anon_sym_RPAREN, - ACTIONS(327), 1, - anon_sym_COLON, - ACTIONS(300), 5, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_AMP, - anon_sym_SLASH_SLASH, - anon_sym_default, - [1395] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(188), 1, - anon_sym_SLASH_SLASH, - ACTIONS(329), 1, - anon_sym_COMMA, ACTIONS(331), 1, - anon_sym_RBRACK, - ACTIONS(333), 1, - anon_sym_default, - STATE(97), 1, - aux_sym_array_repeat1, - [1423] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(182), 1, anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(188), 1, - anon_sym_SLASH_SLASH, ACTIONS(333), 1, - anon_sym_default, - ACTIONS(335), 1, - anon_sym_COMMA, + anon_sym_LPAREN, ACTIONS(337), 1, - anon_sym_RPAREN, - STATE(91), 1, - aux_sym_array_repeat1, - [1451] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, + anon_sym_STAR, + ACTIONS(339), 1, + anon_sym_SLASH, + ACTIONS(341), 1, anon_sym_AMP, - ACTIONS(188), 1, + ACTIONS(343), 1, anon_sym_SLASH_SLASH, - ACTIONS(333), 1, - anon_sym_default, - ACTIONS(339), 3, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - [1475] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(188), 1, - anon_sym_SLASH_SLASH, - ACTIONS(333), 1, - anon_sym_default, - ACTIONS(341), 2, - anon_sym_SEMI, - anon_sym_RBRACE, - [1498] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(188), 1, - anon_sym_SLASH_SLASH, - ACTIONS(333), 1, - anon_sym_default, - ACTIONS(343), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [1521] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(188), 1, - anon_sym_SLASH_SLASH, - ACTIONS(333), 1, - anon_sym_default, ACTIONS(345), 1, - anon_sym_LBRACE, - [1543] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(188), 1, - anon_sym_SLASH_SLASH, - ACTIONS(333), 1, anon_sym_default, - ACTIONS(347), 1, - anon_sym_RPAREN, - [1565] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(182), 1, - anon_sym_DOT, - ACTIONS(184), 1, - anon_sym_LPAREN, - ACTIONS(186), 1, - anon_sym_AMP, - ACTIONS(188), 1, - anon_sym_SLASH_SLASH, - ACTIONS(333), 1, - anon_sym_default, - ACTIONS(349), 1, - anon_sym_COLON, - [1587] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(351), 1, - sym_identifier, - ACTIONS(353), 1, - anon_sym_in, - STATE(76), 1, - aux_sym_let_expression_repeat1, - STATE(107), 1, - sym_field_definition, - STATE(114), 1, - sym_field_path, - [1606] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(355), 1, - sym_identifier, - ACTIONS(358), 1, - anon_sym_in, - STATE(75), 1, - aux_sym_let_expression_repeat1, - STATE(107), 1, - sym_field_definition, - STATE(114), 1, - sym_field_path, - [1625] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(351), 1, - sym_identifier, - ACTIONS(360), 1, - anon_sym_in, - STATE(75), 1, - aux_sym_let_expression_repeat1, - STATE(107), 1, - sym_field_definition, - STATE(114), 1, - sym_field_path, - [1644] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(362), 1, - sym_identifier, - ACTIONS(364), 1, - anon_sym_RBRACE, - STATE(105), 1, - sym_field_definition, - STATE(114), 1, - sym_field_path, - [1660] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(362), 1, - sym_identifier, - ACTIONS(366), 1, - anon_sym_RBRACE, - STATE(105), 1, - sym_field_definition, - STATE(114), 1, - sym_field_path, - [1676] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(368), 1, - anon_sym_COMMA, - STATE(79), 1, - aux_sym_array_repeat1, - ACTIONS(339), 2, - anon_sym_RBRACK, - anon_sym_RPAREN, - [1690] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(362), 1, - sym_identifier, - ACTIONS(371), 1, - anon_sym_RBRACE, - STATE(85), 1, - sym_field_definition, - STATE(114), 1, - sym_field_path, - [1706] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(373), 1, - anon_sym_COMMA, - ACTIONS(375), 1, - anon_sym_RPAREN, - STATE(84), 1, - aux_sym_function_expression_repeat1, - [1719] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(366), 1, - anon_sym_RBRACE, - ACTIONS(377), 1, + ACTIONS(335), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(363), 9, + ts_builtin_sym_end, anon_sym_SEMI, - STATE(98), 1, - aux_sym_object_repeat1, - [1732] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(379), 1, - sym_identifier, - ACTIONS(381), 1, - anon_sym_RPAREN, - STATE(103), 1, - sym_parameter, - [1745] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(383), 1, - anon_sym_COMMA, - ACTIONS(386), 1, - anon_sym_RPAREN, - STATE(84), 1, - aux_sym_function_expression_repeat1, - [1758] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(388), 1, - anon_sym_SEMI, - ACTIONS(390), 1, - anon_sym_RBRACE, - STATE(82), 1, - aux_sym_object_repeat1, - [1771] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(392), 1, - anon_sym_COMMA, - ACTIONS(394), 1, - anon_sym_RPAREN, - STATE(81), 1, - aux_sym_function_expression_repeat1, - [1784] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(327), 1, - anon_sym_COLON, - ACTIONS(322), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [1795] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(396), 1, - anon_sym_SEMI, - ACTIONS(398), 1, - anon_sym_RBRACE, - STATE(90), 1, - aux_sym_match_expression_repeat1, - [1808] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(400), 1, - anon_sym_SEMI, - ACTIONS(403), 1, - anon_sym_RBRACE, - STATE(89), 1, - aux_sym_match_expression_repeat1, - [1821] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(84), 1, - anon_sym_RBRACE, - ACTIONS(405), 1, - anon_sym_SEMI, - STATE(89), 1, - aux_sym_match_expression_repeat1, - [1834] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(104), 1, - anon_sym_RPAREN, - ACTIONS(407), 1, - anon_sym_COMMA, - STATE(79), 1, - aux_sym_array_repeat1, - [1847] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(306), 1, - anon_sym_DOT, - ACTIONS(409), 1, - anon_sym_EQ, - STATE(94), 1, - aux_sym_field_path_repeat1, - [1860] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(362), 1, - sym_identifier, - STATE(105), 1, - sym_field_definition, - STATE(114), 1, - sym_field_path, - [1873] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(411), 1, - anon_sym_EQ, - ACTIONS(413), 1, - anon_sym_DOT, - STATE(94), 1, - aux_sym_field_path_repeat1, - [1886] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(375), 1, - anon_sym_RPAREN, - ACTIONS(379), 1, - sym_identifier, - STATE(103), 1, - sym_parameter, - [1899] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(304), 1, - anon_sym_EQ, - ACTIONS(306), 1, - anon_sym_DOT, - STATE(92), 1, - aux_sym_field_path_repeat1, - [1912] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(114), 1, - anon_sym_RBRACK, - ACTIONS(416), 1, - anon_sym_COMMA, - STATE(79), 1, - aux_sym_array_repeat1, - [1925] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(418), 1, - anon_sym_SEMI, - ACTIONS(421), 1, - anon_sym_RBRACE, - STATE(98), 1, - aux_sym_object_repeat1, - [1938] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(379), 1, - sym_identifier, - STATE(103), 1, - sym_parameter, - [1948] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(358), 2, - sym_identifier, - anon_sym_in, - [1956] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(403), 2, - anon_sym_SEMI, - anon_sym_RBRACE, - [1964] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(411), 2, - anon_sym_EQ, - anon_sym_DOT, - [1972] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(386), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [1980] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(423), 1, - sym_integer, - ACTIONS(425), 1, + sym_string, sym_float, - [1990] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(421), 2, - anon_sym_SEMI, - anon_sym_RBRACE, - [1998] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(427), 1, - anon_sym_EQ_GT, - [2005] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(429), 1, - anon_sym_SEMI, - [2012] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(431), 1, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(365), 9, + anon_sym_true, + anon_sym_false, + sym_integer, sym_identifier, - [2019] = 2, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + [392] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(433), 1, - anon_sym_EQ_GT, - [2026] = 2, + ACTIONS(331), 1, + anon_sym_DOT, + ACTIONS(333), 1, + anon_sym_LPAREN, + ACTIONS(337), 1, + anon_sym_STAR, + ACTIONS(339), 1, + anon_sym_SLASH, + ACTIONS(341), 1, + anon_sym_AMP, + ACTIONS(343), 1, + anon_sym_SLASH_SLASH, + ACTIONS(345), 1, + anon_sym_default, + ACTIONS(335), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(367), 9, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(369), 9, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + [443] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(349), 1, + ACTIONS(331), 1, + anon_sym_DOT, + ACTIONS(333), 1, + anon_sym_LPAREN, + ACTIONS(373), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(371), 14, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [482] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, + anon_sym_DOT, + ACTIONS(333), 1, + anon_sym_LPAREN, + ACTIONS(337), 1, + anon_sym_STAR, + ACTIONS(339), 1, + anon_sym_SLASH, + ACTIONS(335), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(373), 10, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_default, + ACTIONS(371), 11, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [527] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, + anon_sym_DOT, + ACTIONS(333), 1, + anon_sym_LPAREN, + ACTIONS(337), 1, + anon_sym_STAR, + ACTIONS(339), 1, + anon_sym_SLASH, + ACTIONS(341), 1, + anon_sym_AMP, + ACTIONS(335), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(371), 10, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SLASH_SLASH, + ACTIONS(373), 10, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_default, + [574] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, + anon_sym_DOT, + ACTIONS(333), 1, + anon_sym_LPAREN, + ACTIONS(337), 1, + anon_sym_STAR, + ACTIONS(339), 1, + anon_sym_SLASH, + ACTIONS(341), 1, + anon_sym_AMP, + ACTIONS(343), 1, + anon_sym_SLASH_SLASH, + ACTIONS(345), 1, + anon_sym_default, + ACTIONS(335), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(375), 9, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(377), 9, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + [625] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, + anon_sym_DOT, + ACTIONS(333), 1, + anon_sym_LPAREN, + ACTIONS(337), 1, + anon_sym_STAR, + ACTIONS(339), 1, + anon_sym_SLASH, + ACTIONS(341), 1, + anon_sym_AMP, + ACTIONS(343), 1, + anon_sym_SLASH_SLASH, + ACTIONS(345), 1, + anon_sym_default, + ACTIONS(335), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(379), 9, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(381), 9, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + [676] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(385), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(383), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [711] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(389), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(387), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [746] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, + anon_sym_DOT, + ACTIONS(333), 1, + anon_sym_LPAREN, + ACTIONS(337), 1, + anon_sym_STAR, + ACTIONS(339), 1, + anon_sym_SLASH, + ACTIONS(341), 1, + anon_sym_AMP, + ACTIONS(343), 1, + anon_sym_SLASH_SLASH, + ACTIONS(345), 1, + anon_sym_default, + ACTIONS(335), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(391), 9, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(393), 9, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + [797] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(397), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(395), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [832] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(401), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(399), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [867] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, + anon_sym_DOT, + ACTIONS(333), 1, + anon_sym_LPAREN, + ACTIONS(337), 1, + anon_sym_STAR, + ACTIONS(339), 1, + anon_sym_SLASH, + ACTIONS(373), 10, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_default, + ACTIONS(371), 13, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [910] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(405), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(403), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [945] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, + anon_sym_DOT, + ACTIONS(333), 1, + anon_sym_LPAREN, + ACTIONS(337), 1, + anon_sym_STAR, + ACTIONS(339), 1, + anon_sym_SLASH, + ACTIONS(341), 1, + anon_sym_AMP, + ACTIONS(343), 1, + anon_sym_SLASH_SLASH, + ACTIONS(345), 1, + anon_sym_default, + ACTIONS(335), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(407), 9, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(409), 9, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + [996] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, + anon_sym_DOT, + ACTIONS(333), 1, + anon_sym_LPAREN, + ACTIONS(337), 1, + anon_sym_STAR, + ACTIONS(339), 1, + anon_sym_SLASH, + ACTIONS(341), 1, + anon_sym_AMP, + ACTIONS(343), 1, + anon_sym_SLASH_SLASH, + ACTIONS(345), 1, + anon_sym_default, + ACTIONS(335), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(411), 9, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(413), 9, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + [1047] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, + anon_sym_DOT, + ACTIONS(333), 1, + anon_sym_LPAREN, + ACTIONS(417), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(415), 14, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [1086] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, + anon_sym_DOT, + ACTIONS(333), 1, + anon_sym_LPAREN, + ACTIONS(337), 1, + anon_sym_STAR, + ACTIONS(339), 1, + anon_sym_SLASH, + ACTIONS(341), 1, + anon_sym_AMP, + ACTIONS(343), 1, + anon_sym_SLASH_SLASH, + ACTIONS(345), 1, + anon_sym_default, + ACTIONS(335), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(419), 9, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(421), 9, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + [1137] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(425), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(423), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [1172] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(429), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(427), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [1207] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(433), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(431), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [1242] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 1, + anon_sym_DOT, + ACTIONS(333), 1, + anon_sym_LPAREN, + ACTIONS(437), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(435), 14, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [1281] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(441), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(439), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [1316] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(445), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(443), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [1351] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(449), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(447), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [1386] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(453), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(451), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [1421] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(457), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(455), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [1456] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(461), 11, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + anon_sym_default, + ACTIONS(459), 16, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + [1491] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(329), 1, + anon_sym_SEMI, + ACTIONS(327), 9, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + ACTIONS(325), 10, + ts_builtin_sym_end, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + [1521] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(465), 9, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + ACTIONS(463), 10, + ts_builtin_sym_end, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + [1548] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(411), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, anon_sym_COLON, - [2033] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(435), 1, - anon_sym_EQ_GT, - [2040] = 2, + [1586] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(437), 1, - sym_string, - [2047] = 2, + anon_sym_SLASH, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(435), 13, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [1614] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(439), 1, - sym_identifier, - [2054] = 2, + ACTIONS(397), 1, + anon_sym_SLASH, + ACTIONS(395), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [1638] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(375), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [1676] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(391), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [1714] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(433), 1, + anon_sym_SLASH, + ACTIONS(431), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [1738] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(315), 1, + anon_sym_SLASH, + ACTIONS(313), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [1762] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(371), 9, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_SLASH_SLASH, + anon_sym_default, + [1796] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(349), 1, + anon_sym_SLASH, + ACTIONS(347), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [1820] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(363), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [1858] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(389), 1, + anon_sym_SLASH, + ACTIONS(387), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [1882] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(401), 1, + anon_sym_SLASH, + ACTIONS(399), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [1906] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(371), 10, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [1938] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(407), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [1976] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(425), 1, + anon_sym_SLASH, + ACTIONS(423), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2000] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(373), 1, + anon_sym_SLASH, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(371), 13, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2028] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(429), 1, + anon_sym_SLASH, + ACTIONS(427), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2052] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(371), 12, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2082] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_SLASH, + ACTIONS(359), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2106] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(367), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [2144] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(453), 1, + anon_sym_SLASH, + ACTIONS(451), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2168] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(441), 1, - anon_sym_EQ, - [2061] = 2, + anon_sym_SLASH, + ACTIONS(439), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2192] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(443), 1, - ts_builtin_sym_end, - [2068] = 2, + ACTIONS(323), 1, + anon_sym_SLASH, + ACTIONS(321), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2216] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(449), 1, + anon_sym_SLASH, + ACTIONS(447), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2240] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(417), 1, + anon_sym_SLASH, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(415), 13, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2268] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(357), 1, + anon_sym_SLASH, + ACTIONS(355), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2292] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(353), 1, + anon_sym_SLASH, + ACTIONS(351), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2316] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(405), 1, + anon_sym_SLASH, + ACTIONS(403), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2340] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(419), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [2378] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(319), 1, + anon_sym_SLASH, + ACTIONS(317), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2402] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(461), 1, + anon_sym_SLASH, + ACTIONS(459), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2426] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(457), 1, + anon_sym_SLASH, + ACTIONS(455), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2450] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(385), 1, + anon_sym_SLASH, + ACTIONS(383), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2474] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(445), 1, + anon_sym_SLASH, + ACTIONS(443), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2498] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(483), 1, + anon_sym_COMMA, + ACTIONS(485), 1, + anon_sym_RPAREN, + STATE(183), 1, + aux_sym_array_repeat1, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + [2536] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(487), 3, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + [2570] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(307), 1, + anon_sym_SLASH, + ACTIONS(489), 1, + anon_sym_COMMA, + ACTIONS(491), 1, + anon_sym_RPAREN, + ACTIONS(494), 1, + anon_sym_COLON, + ACTIONS(305), 8, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [2596] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(496), 1, + anon_sym_COMMA, + ACTIONS(498), 1, + anon_sym_RBRACK, + STATE(182), 1, + aux_sym_array_repeat1, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + [2634] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(500), 1, + anon_sym_COMMA, + ACTIONS(502), 1, + anon_sym_RBRACK, + STATE(178), 1, + aux_sym_array_repeat1, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + [2672] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(504), 1, + anon_sym_COMMA, + ACTIONS(506), 1, + anon_sym_RPAREN, + STATE(173), 1, + aux_sym_array_repeat1, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + [2710] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(379), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + [2743] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(508), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [2776] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(510), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [2809] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(512), 1, + anon_sym_RPAREN, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + [2841] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(514), 1, + anon_sym_RPAREN, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + [2873] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(516), 1, + anon_sym_COLON, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + [2905] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(518), 1, + anon_sym_LBRACE, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + [2937] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(467), 1, + anon_sym_DOT, + ACTIONS(469), 1, + anon_sym_LPAREN, + ACTIONS(473), 1, + anon_sym_STAR, + ACTIONS(475), 1, + anon_sym_SLASH, + ACTIONS(477), 1, + anon_sym_AMP, + ACTIONS(479), 1, + anon_sym_SLASH_SLASH, + ACTIONS(481), 1, + anon_sym_default, + ACTIONS(520), 1, + anon_sym_LBRACE, + ACTIONS(471), 2, + anon_sym_DASH, + anon_sym_PLUS, + [2969] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(522), 1, + sym_identifier, + ACTIONS(524), 1, + anon_sym_in, + STATE(148), 1, + aux_sym_let_expression_repeat1, + STATE(194), 1, + sym_field_path, + STATE(207), 1, + sym_field_definition, + [2988] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(522), 1, + sym_identifier, + ACTIONS(526), 1, + anon_sym_in, + STATE(147), 1, + aux_sym_let_expression_repeat1, + STATE(194), 1, + sym_field_path, + STATE(207), 1, + sym_field_definition, + [3007] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(522), 1, + sym_identifier, + ACTIONS(528), 1, + anon_sym_in, + STATE(148), 1, + aux_sym_let_expression_repeat1, + STATE(194), 1, + sym_field_path, + STATE(207), 1, + sym_field_definition, + [3026] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(530), 1, + sym_identifier, + ACTIONS(533), 1, + anon_sym_in, + STATE(148), 1, + aux_sym_let_expression_repeat1, + STATE(194), 1, + sym_field_path, + STATE(207), 1, + sym_field_definition, + [3045] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(522), 1, + sym_identifier, + ACTIONS(535), 1, + anon_sym_in, + STATE(145), 1, + aux_sym_let_expression_repeat1, + STATE(194), 1, + sym_field_path, + STATE(207), 1, + sym_field_definition, + [3064] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(537), 1, + sym_identifier, + ACTIONS(539), 1, + anon_sym_RBRACE, + STATE(177), 1, + sym_field_definition, + STATE(194), 1, + sym_field_path, + [3080] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(537), 1, + sym_identifier, + ACTIONS(541), 1, + anon_sym_RBRACE, + STATE(187), 1, + sym_field_definition, + STATE(194), 1, + sym_field_path, + [3096] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(537), 1, + sym_identifier, + ACTIONS(543), 1, + anon_sym_RBRACE, + STATE(187), 1, + sym_field_definition, + STATE(194), 1, + sym_field_path, + [3112] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(537), 1, + sym_identifier, + ACTIONS(545), 1, + anon_sym_RBRACE, + STATE(187), 1, + sym_field_definition, + STATE(194), 1, + sym_field_path, + [3128] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(547), 1, + anon_sym_COMMA, + STATE(154), 1, + aux_sym_array_repeat1, + ACTIONS(487), 2, + anon_sym_RBRACK, + anon_sym_RPAREN, + [3142] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(537), 1, + sym_identifier, + ACTIONS(550), 1, + anon_sym_RBRACE, + STATE(187), 1, + sym_field_definition, + STATE(194), 1, + sym_field_path, + [3158] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(537), 1, + sym_identifier, + ACTIONS(552), 1, + anon_sym_RBRACE, + STATE(180), 1, + sym_field_definition, + STATE(194), 1, + sym_field_path, + [3174] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(554), 1, + anon_sym_SEMI, + ACTIONS(556), 1, + anon_sym_RBRACE, + STATE(172), 1, + aux_sym_match_expression_repeat1, + [3187] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(494), 1, + anon_sym_COLON, + ACTIONS(489), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [3198] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(558), 1, + anon_sym_COMMA, + ACTIONS(561), 1, + anon_sym_RPAREN, + STATE(159), 1, + aux_sym_function_expression_repeat1, + [3211] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(563), 1, + anon_sym_EQ, + ACTIONS(565), 1, + anon_sym_DOT, + STATE(160), 1, + aux_sym_field_path_repeat1, + [3224] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(568), 1, + anon_sym_COMMA, + ACTIONS(570), 1, + anon_sym_RPAREN, + STATE(164), 1, + aux_sym_function_expression_repeat1, + [3237] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(572), 1, + sym_identifier, + ACTIONS(574), 1, + anon_sym_RPAREN, + STATE(188), 1, + sym_parameter, + [3250] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(572), 1, + sym_identifier, + ACTIONS(576), 1, + anon_sym_RPAREN, + STATE(188), 1, + sym_parameter, + [3263] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(574), 1, + anon_sym_RPAREN, + ACTIONS(578), 1, + anon_sym_COMMA, + STATE(159), 1, + aux_sym_function_expression_repeat1, + [3276] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(580), 1, + anon_sym_COMMA, + ACTIONS(582), 1, + anon_sym_RPAREN, + STATE(159), 1, + aux_sym_function_expression_repeat1, + [3289] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(584), 1, + anon_sym_SEMI, + ACTIONS(587), 1, + anon_sym_RBRACE, + STATE(166), 1, + aux_sym_match_expression_repeat1, + [3302] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(572), 1, + sym_identifier, + ACTIONS(582), 1, + anon_sym_RPAREN, + STATE(188), 1, + sym_parameter, + [3315] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(589), 1, + anon_sym_SEMI, + ACTIONS(592), 1, + anon_sym_RBRACE, + STATE(168), 1, + aux_sym_object_repeat1, + [3328] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(594), 1, + anon_sym_COMMA, + ACTIONS(596), 1, + anon_sym_RPAREN, + STATE(165), 1, + aux_sym_function_expression_repeat1, + [3341] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(545), 1, + anon_sym_RBRACE, + ACTIONS(598), 1, + anon_sym_SEMI, + STATE(168), 1, + aux_sym_object_repeat1, + [3354] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(93), 1, + anon_sym_RBRACE, + ACTIONS(600), 1, + anon_sym_SEMI, + STATE(166), 1, + aux_sym_match_expression_repeat1, + [3367] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(113), 1, + anon_sym_RBRACE, + ACTIONS(602), 1, + anon_sym_SEMI, + STATE(166), 1, + aux_sym_match_expression_repeat1, + [3380] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(155), 1, + anon_sym_RPAREN, + ACTIONS(604), 1, + anon_sym_COMMA, + STATE(154), 1, + aux_sym_array_repeat1, + [3393] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(311), 1, + anon_sym_DOT, + ACTIONS(606), 1, + anon_sym_EQ, + STATE(160), 1, + aux_sym_field_path_repeat1, + [3406] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(608), 1, + anon_sym_SEMI, + ACTIONS(610), 1, + anon_sym_RBRACE, + STATE(171), 1, + aux_sym_match_expression_repeat1, + [3419] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(309), 1, + anon_sym_EQ, + ACTIONS(311), 1, + anon_sym_DOT, + STATE(174), 1, + aux_sym_field_path_repeat1, + [3432] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(612), 1, + anon_sym_SEMI, + ACTIONS(614), 1, + anon_sym_RBRACE, + STATE(170), 1, + aux_sym_object_repeat1, + [3445] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(143), 1, + anon_sym_RBRACK, + ACTIONS(616), 1, + anon_sym_COMMA, + STATE(154), 1, + aux_sym_array_repeat1, + [3458] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(572), 1, + sym_identifier, + ACTIONS(618), 1, + anon_sym_RPAREN, + STATE(188), 1, + sym_parameter, + [3471] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(620), 1, + anon_sym_SEMI, + ACTIONS(622), 1, + anon_sym_RBRACE, + STATE(184), 1, + aux_sym_object_repeat1, + [3484] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(537), 1, + sym_identifier, + STATE(187), 1, + sym_field_definition, + STATE(194), 1, + sym_field_path, + [3497] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(167), 1, + anon_sym_RBRACK, + ACTIONS(624), 1, + anon_sym_COMMA, + STATE(154), 1, + aux_sym_array_repeat1, + [3510] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(153), 1, + anon_sym_RPAREN, + ACTIONS(626), 1, + anon_sym_COMMA, + STATE(154), 1, + aux_sym_array_repeat1, + [3523] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(541), 1, + anon_sym_RBRACE, + ACTIONS(628), 1, + anon_sym_SEMI, + STATE(168), 1, + aux_sym_object_repeat1, + [3536] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(587), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [3544] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(572), 1, + sym_identifier, + STATE(188), 1, + sym_parameter, + [3554] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(592), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [3562] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [3570] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(533), 2, + sym_identifier, + anon_sym_in, + [3578] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(563), 2, + anon_sym_EQ, + anon_sym_DOT, + [3586] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(630), 1, + anon_sym_EQ_GT, + [3593] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(632), 1, + anon_sym_EQ_GT, + [3600] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(634), 1, + anon_sym_EQ_GT, + [3607] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(636), 1, + anon_sym_EQ, + [3614] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(638), 1, + sym_string, + [3621] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(640), 1, + sym_identifier, + [3628] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(642), 1, + anon_sym_EQ_GT, + [3635] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(644), 1, + sym_identifier, + [3642] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(646), 1, + anon_sym_EQ_GT, + [3649] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(648), 1, + anon_sym_EQ, + [3656] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(650), 1, + ts_builtin_sym_end, + [3663] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(652), 1, + sym_string, + [3670] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(654), 1, + anon_sym_EQ_GT, + [3677] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(516), 1, + anon_sym_COLON, + [3684] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(656), 1, + sym_identifier, + [3691] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(658), 1, + anon_sym_EQ_GT, + [3698] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(660), 1, + anon_sym_SEMI, + [3705] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(662), 1, anon_sym_EQ_GT, }; static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(29)] = 0, - [SMALL_STATE(30)] = 36, - [SMALL_STATE(31)] = 72, - [SMALL_STATE(32)] = 118, - [SMALL_STATE(33)] = 154, - [SMALL_STATE(34)] = 190, - [SMALL_STATE(35)] = 236, - [SMALL_STATE(36)] = 272, - [SMALL_STATE(37)] = 318, - [SMALL_STATE(38)] = 364, - [SMALL_STATE(39)] = 400, - [SMALL_STATE(40)] = 436, - [SMALL_STATE(41)] = 472, - [SMALL_STATE(42)] = 508, - [SMALL_STATE(43)] = 544, - [SMALL_STATE(44)] = 580, - [SMALL_STATE(45)] = 616, - [SMALL_STATE(46)] = 652, - [SMALL_STATE(47)] = 698, - [SMALL_STATE(48)] = 744, - [SMALL_STATE(49)] = 780, - [SMALL_STATE(50)] = 816, - [SMALL_STATE(51)] = 862, - [SMALL_STATE(52)] = 898, - [SMALL_STATE(53)] = 940, - [SMALL_STATE(54)] = 980, - [SMALL_STATE(55)] = 1016, - [SMALL_STATE(56)] = 1052, - [SMALL_STATE(57)] = 1088, - [SMALL_STATE(58)] = 1124, - [SMALL_STATE(59)] = 1160, - [SMALL_STATE(60)] = 1196, - [SMALL_STATE(61)] = 1235, - [SMALL_STATE(62)] = 1277, - [SMALL_STATE(63)] = 1320, - [SMALL_STATE(64)] = 1349, - [SMALL_STATE(65)] = 1375, - [SMALL_STATE(66)] = 1395, - [SMALL_STATE(67)] = 1423, - [SMALL_STATE(68)] = 1451, - [SMALL_STATE(69)] = 1475, - [SMALL_STATE(70)] = 1498, - [SMALL_STATE(71)] = 1521, - [SMALL_STATE(72)] = 1543, - [SMALL_STATE(73)] = 1565, - [SMALL_STATE(74)] = 1587, - [SMALL_STATE(75)] = 1606, - [SMALL_STATE(76)] = 1625, - [SMALL_STATE(77)] = 1644, - [SMALL_STATE(78)] = 1660, - [SMALL_STATE(79)] = 1676, - [SMALL_STATE(80)] = 1690, - [SMALL_STATE(81)] = 1706, - [SMALL_STATE(82)] = 1719, - [SMALL_STATE(83)] = 1732, - [SMALL_STATE(84)] = 1745, - [SMALL_STATE(85)] = 1758, - [SMALL_STATE(86)] = 1771, - [SMALL_STATE(87)] = 1784, - [SMALL_STATE(88)] = 1795, - [SMALL_STATE(89)] = 1808, - [SMALL_STATE(90)] = 1821, - [SMALL_STATE(91)] = 1834, - [SMALL_STATE(92)] = 1847, - [SMALL_STATE(93)] = 1860, - [SMALL_STATE(94)] = 1873, - [SMALL_STATE(95)] = 1886, - [SMALL_STATE(96)] = 1899, - [SMALL_STATE(97)] = 1912, - [SMALL_STATE(98)] = 1925, - [SMALL_STATE(99)] = 1938, - [SMALL_STATE(100)] = 1948, - [SMALL_STATE(101)] = 1956, - [SMALL_STATE(102)] = 1964, - [SMALL_STATE(103)] = 1972, - [SMALL_STATE(104)] = 1980, - [SMALL_STATE(105)] = 1990, - [SMALL_STATE(106)] = 1998, - [SMALL_STATE(107)] = 2005, - [SMALL_STATE(108)] = 2012, - [SMALL_STATE(109)] = 2019, - [SMALL_STATE(110)] = 2026, - [SMALL_STATE(111)] = 2033, - [SMALL_STATE(112)] = 2040, - [SMALL_STATE(113)] = 2047, - [SMALL_STATE(114)] = 2054, - [SMALL_STATE(115)] = 2061, - [SMALL_STATE(116)] = 2068, + [SMALL_STATE(58)] = 0, + [SMALL_STATE(59)] = 43, + [SMALL_STATE(60)] = 78, + [SMALL_STATE(61)] = 113, + [SMALL_STATE(62)] = 148, + [SMALL_STATE(63)] = 201, + [SMALL_STATE(64)] = 236, + [SMALL_STATE(65)] = 271, + [SMALL_STATE(66)] = 306, + [SMALL_STATE(67)] = 341, + [SMALL_STATE(68)] = 392, + [SMALL_STATE(69)] = 443, + [SMALL_STATE(70)] = 482, + [SMALL_STATE(71)] = 527, + [SMALL_STATE(72)] = 574, + [SMALL_STATE(73)] = 625, + [SMALL_STATE(74)] = 676, + [SMALL_STATE(75)] = 711, + [SMALL_STATE(76)] = 746, + [SMALL_STATE(77)] = 797, + [SMALL_STATE(78)] = 832, + [SMALL_STATE(79)] = 867, + [SMALL_STATE(80)] = 910, + [SMALL_STATE(81)] = 945, + [SMALL_STATE(82)] = 996, + [SMALL_STATE(83)] = 1047, + [SMALL_STATE(84)] = 1086, + [SMALL_STATE(85)] = 1137, + [SMALL_STATE(86)] = 1172, + [SMALL_STATE(87)] = 1207, + [SMALL_STATE(88)] = 1242, + [SMALL_STATE(89)] = 1281, + [SMALL_STATE(90)] = 1316, + [SMALL_STATE(91)] = 1351, + [SMALL_STATE(92)] = 1386, + [SMALL_STATE(93)] = 1421, + [SMALL_STATE(94)] = 1456, + [SMALL_STATE(95)] = 1491, + [SMALL_STATE(96)] = 1521, + [SMALL_STATE(97)] = 1548, + [SMALL_STATE(98)] = 1586, + [SMALL_STATE(99)] = 1614, + [SMALL_STATE(100)] = 1638, + [SMALL_STATE(101)] = 1676, + [SMALL_STATE(102)] = 1714, + [SMALL_STATE(103)] = 1738, + [SMALL_STATE(104)] = 1762, + [SMALL_STATE(105)] = 1796, + [SMALL_STATE(106)] = 1820, + [SMALL_STATE(107)] = 1858, + [SMALL_STATE(108)] = 1882, + [SMALL_STATE(109)] = 1906, + [SMALL_STATE(110)] = 1938, + [SMALL_STATE(111)] = 1976, + [SMALL_STATE(112)] = 2000, + [SMALL_STATE(113)] = 2028, + [SMALL_STATE(114)] = 2052, + [SMALL_STATE(115)] = 2082, + [SMALL_STATE(116)] = 2106, + [SMALL_STATE(117)] = 2144, + [SMALL_STATE(118)] = 2168, + [SMALL_STATE(119)] = 2192, + [SMALL_STATE(120)] = 2216, + [SMALL_STATE(121)] = 2240, + [SMALL_STATE(122)] = 2268, + [SMALL_STATE(123)] = 2292, + [SMALL_STATE(124)] = 2316, + [SMALL_STATE(125)] = 2340, + [SMALL_STATE(126)] = 2378, + [SMALL_STATE(127)] = 2402, + [SMALL_STATE(128)] = 2426, + [SMALL_STATE(129)] = 2450, + [SMALL_STATE(130)] = 2474, + [SMALL_STATE(131)] = 2498, + [SMALL_STATE(132)] = 2536, + [SMALL_STATE(133)] = 2570, + [SMALL_STATE(134)] = 2596, + [SMALL_STATE(135)] = 2634, + [SMALL_STATE(136)] = 2672, + [SMALL_STATE(137)] = 2710, + [SMALL_STATE(138)] = 2743, + [SMALL_STATE(139)] = 2776, + [SMALL_STATE(140)] = 2809, + [SMALL_STATE(141)] = 2841, + [SMALL_STATE(142)] = 2873, + [SMALL_STATE(143)] = 2905, + [SMALL_STATE(144)] = 2937, + [SMALL_STATE(145)] = 2969, + [SMALL_STATE(146)] = 2988, + [SMALL_STATE(147)] = 3007, + [SMALL_STATE(148)] = 3026, + [SMALL_STATE(149)] = 3045, + [SMALL_STATE(150)] = 3064, + [SMALL_STATE(151)] = 3080, + [SMALL_STATE(152)] = 3096, + [SMALL_STATE(153)] = 3112, + [SMALL_STATE(154)] = 3128, + [SMALL_STATE(155)] = 3142, + [SMALL_STATE(156)] = 3158, + [SMALL_STATE(157)] = 3174, + [SMALL_STATE(158)] = 3187, + [SMALL_STATE(159)] = 3198, + [SMALL_STATE(160)] = 3211, + [SMALL_STATE(161)] = 3224, + [SMALL_STATE(162)] = 3237, + [SMALL_STATE(163)] = 3250, + [SMALL_STATE(164)] = 3263, + [SMALL_STATE(165)] = 3276, + [SMALL_STATE(166)] = 3289, + [SMALL_STATE(167)] = 3302, + [SMALL_STATE(168)] = 3315, + [SMALL_STATE(169)] = 3328, + [SMALL_STATE(170)] = 3341, + [SMALL_STATE(171)] = 3354, + [SMALL_STATE(172)] = 3367, + [SMALL_STATE(173)] = 3380, + [SMALL_STATE(174)] = 3393, + [SMALL_STATE(175)] = 3406, + [SMALL_STATE(176)] = 3419, + [SMALL_STATE(177)] = 3432, + [SMALL_STATE(178)] = 3445, + [SMALL_STATE(179)] = 3458, + [SMALL_STATE(180)] = 3471, + [SMALL_STATE(181)] = 3484, + [SMALL_STATE(182)] = 3497, + [SMALL_STATE(183)] = 3510, + [SMALL_STATE(184)] = 3523, + [SMALL_STATE(185)] = 3536, + [SMALL_STATE(186)] = 3544, + [SMALL_STATE(187)] = 3554, + [SMALL_STATE(188)] = 3562, + [SMALL_STATE(189)] = 3570, + [SMALL_STATE(190)] = 3578, + [SMALL_STATE(191)] = 3586, + [SMALL_STATE(192)] = 3593, + [SMALL_STATE(193)] = 3600, + [SMALL_STATE(194)] = 3607, + [SMALL_STATE(195)] = 3614, + [SMALL_STATE(196)] = 3621, + [SMALL_STATE(197)] = 3628, + [SMALL_STATE(198)] = 3635, + [SMALL_STATE(199)] = 3642, + [SMALL_STATE(200)] = 3649, + [SMALL_STATE(201)] = 3656, + [SMALL_STATE(202)] = 3663, + [SMALL_STATE(203)] = 3670, + [SMALL_STATE(204)] = 3677, + [SMALL_STATE(205)] = 3684, + [SMALL_STATE(206)] = 3691, + [SMALL_STATE(207)] = 3698, + [SMALL_STATE(208)] = 3705, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -3940,216 +6672,324 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0), - [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(24), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), - [35] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(60), - [38] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(42), - [41] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(32), - [44] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(32), - [47] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(62), - [50] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(80), - [53] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(12), - [56] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(74), - [59] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(7), - [62] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(24), - [65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(112), - [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(104), - [71] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(104), - [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [76] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), - [78] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [80] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [88] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), - [90] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [92] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [94] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), - [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [100] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), - [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [108] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), - [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [118] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [122] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), - [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [126] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), - [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), - [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), - [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), - [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), - [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), - [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [154] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), - [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), - [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), - [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), - [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_expression, 2, 0, 2), - [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_expression, 2, 0, 2), - [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 6, 0, 6), - [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 6, 0, 6), - [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 6, 0, 14), - [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 6, 0, 14), - [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), - [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), - [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), - [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 4, 0, 12), - [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 4, 0, 12), - [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 4, 0, 10), - [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 4, 0, 10), - [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 5, 0, 6), - [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 5, 0, 6), - [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, 0, 10), - [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, 0, 10), - [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 7, 0, 16), - [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 7, 0, 16), - [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison_constraint, 2, 0, 3), - [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison_constraint, 2, 0, 3), - [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 4, 0, 0), - [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 4, 0, 0), - [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 5, 0, 12), - [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 5, 0, 12), - [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 4, 0, 6), - [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 4, 0, 6), - [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1, 0, 0), - [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1, 0, 0), - [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 7, 0, 12), - [238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 7, 0, 12), - [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 4, 0, 0), - [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 4, 0, 0), - [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 3, 0, 0), - [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 3, 0, 0), - [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 5, 0, 13), - [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 5, 0, 13), - [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_expression, 3, 0, 8), - [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_default_expression, 3, 0, 8), - [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3, 0, 0), - [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 3, 0, 0), - [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 2, 0, 0), - [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 2, 0, 0), - [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 3, 0, 4), - [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 3, 0, 4), - [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2, 0, 0), - [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 2, 0, 0), - [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 7), - [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 7), - [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 6, 0, 12), - [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 6, 0, 12), - [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 3, 0, 6), - [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 3, 0, 6), - [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 5, 0, 0), - [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 5, 0, 0), - [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 5, 0, 0), - [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 5, 0, 0), - [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_path_expression, 3, 0, 5), - [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_path_expression, 3, 0, 5), - [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), - [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), - [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_path, 1, 0, 0), - [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_definition, 3, 0, 9), - [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_definition, 3, 0, 9), - [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 1, 0, 0), - [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 1, 0, 0), - [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 2, 0, 0), - [320] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 2, 0, 0), - [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1, 0, 1), - [324] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), REDUCE(sym_parameter, 1, 0, 1), - [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), + [37] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(58), + [40] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(64), + [43] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(80), + [46] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(80), + [49] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(62), + [52] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(156), + [55] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(13), + [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(146), + [61] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(11), + [64] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(38), + [67] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(202), + [70] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(49), + [73] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(49), + [76] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(51), + [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142), + [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), + [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), + [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149), + [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(195), + [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), + [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), + [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [139] = {.entry = {.count = 1, .reusable = false}}, SHIFT(132), + [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134), + [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131), + [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), + [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), + [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), + [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), + [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), + [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), + [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), + [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), + [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), + [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), + [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(143), + [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), + [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), + [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), + [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [245] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), + [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), + [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), + [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), + [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [261] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), + [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), + [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [273] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), + [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), + [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), + [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139), + [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), + [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), + [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121), + [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), + [307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), + [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_path, 1, 0, 0), + [311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 3, 0, 0), + [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 3, 0, 0), + [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 4, 0, 0), + [319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 4, 0, 0), + [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 4, 0, 7), + [323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 4, 0, 7), + [325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 1, 0, 0), + [327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 1, 0, 0), + [329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), [337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), - [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 3, 0, 15), - [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 11), - [345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [351] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), - [353] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), - [355] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(96), - [358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2, 0, 0), - [360] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), - [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [368] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(21), - [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [383] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(99), - [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_expression_repeat1, 2, 0, 0), - [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [400] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(8), - [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), - [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_path, 2, 0, 0), - [411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_path_repeat1, 2, 0, 0), - [413] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_path_repeat1, 2, 0, 0), SHIFT_REPEAT(113), - [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [418] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2, 0, 0), SHIFT_REPEAT(93), - [421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2, 0, 0), - [423] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), - [425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [443] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [339] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), + [341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [345] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44), + [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 7, 0, 13), + [349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 7, 0, 13), + [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1, 0, 0), + [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1, 0, 0), + [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_path_expression, 3, 0, 6), + [357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_path_expression, 3, 0, 6), + [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 3, 0, 7), + [361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 3, 0, 7), + [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 7, 0, 17), + [365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 7, 0, 17), + [367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 5, 0, 14), + [369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 5, 0, 14), + [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 8), + [373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 8), + [375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_expression, 3, 0, 9), + [377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_default_expression, 3, 0, 9), + [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_definition, 3, 0, 10), + [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_definition, 3, 0, 10), + [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 4, 0, 0), + [385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 4, 0, 0), + [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 6, 0, 7), + [389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 6, 0, 7), + [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 3, 0, 5), + [393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 3, 0, 5), + [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 6, 0, 13), + [401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 6, 0, 13), + [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), + [405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), + [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 6, 0, 15), + [409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 6, 0, 15), + [411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, 0, 11), + [413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, 0, 11), + [415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 4), + [417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 4), + [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 4, 0, 11), + [421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 4, 0, 11), + [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 5, 0, 7), + [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 5, 0, 7), + [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 5, 0, 13), + [429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 5, 0, 13), + [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3, 0, 0), + [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 3, 0, 0), + [435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison_constraint, 2, 0, 3), + [437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison_constraint, 2, 0, 3), + [439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 5, 0, 0), + [441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 5, 0, 0), + [443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_expression, 2, 0, 2), + [445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_expression, 2, 0, 2), + [447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 4, 0, 13), + [449] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 4, 0, 13), + [451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 5, 0, 0), + [453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 5, 0, 0), + [455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 2, 0, 0), + [457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 2, 0, 0), + [459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2, 0, 0), + [461] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 2, 0, 0), + [463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 2, 0, 0), + [465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 2, 0, 0), + [467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [475] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), + [477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), + [489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1, 0, 1), + [491] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), REDUCE(sym_parameter, 1, 0, 1), + [494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 3, 0, 16), + [510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 12), + [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176), + [524] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), + [526] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), + [528] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), + [530] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(176), + [533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2, 0, 0), + [535] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), + [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [547] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(28), + [550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [558] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(186), + [561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_expression_repeat1, 2, 0, 0), + [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_path_repeat1, 2, 0, 0), + [565] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_path_repeat1, 2, 0, 0), SHIFT_REPEAT(198), + [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), + [572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [584] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(12), + [587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), + [589] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2, 0, 0), SHIFT_REPEAT(181), + [592] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2, 0, 0), + [594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_path, 2, 0, 0), + [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [650] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), }; #ifdef __cplusplus diff --git a/examples/arithmetic.dcdl b/examples/arithmetic.dcdl new file mode 100644 index 0000000..76dbb8f --- /dev/null +++ b/examples/arithmetic.dcdl @@ -0,0 +1,7 @@ +{ + workers = 2 + 2; + memory_gib = 1.5 * 4; + port = 9000 + 443; + timeout_seconds = 30 / 2; + negative_offset = -3; +} diff --git a/site/decodal-site/src/lib/docs.js b/site/decodal-site/src/lib/docs.js index 177cefd..e6ff14b 100644 --- a/site/decodal-site/src/lib/docs.js +++ b/site/decodal-site/src/lib/docs.js @@ -50,6 +50,7 @@ export const nav = [ { title: 'Import', slug: 'language/expression/import' }, { title: 'Composition', slug: 'language/expression/composition' }, { title: 'Default', slug: 'language/expression/default' }, + { title: 'Arithmetic', slug: 'language/expression/arithmetic' }, { title: 'String Interpolation', slug: 'language/expression/string-interpolation' }, ], }, diff --git a/site/decodal-site/src/lib/highlight.js b/site/decodal-site/src/lib/highlight.js index 3fd7b02..d9c4374 100644 --- a/site/decodal-site/src/lib/highlight.js +++ b/site/decodal-site/src/lib/highlight.js @@ -28,12 +28,13 @@ export function highlightCode(code, language = '') { export function highlightDecodal(source) { let html = ''; let index = 0; + let canEndExpression = false; while (index < source.length) { const char = source[index]; const next = source[index + 1]; - if (char === '/' && next === '/') { + if (char === '#') { const end = readUntilLineEnd(source, index); html += token('comment', source.slice(index, end)); index = end; @@ -44,13 +45,15 @@ export function highlightDecodal(source) { const end = readString(source, index); html += token('string', source.slice(index, end)); index = end; + canEndExpression = true; continue; } - if (char === '/' && next && next !== '/') { + if (char === '/' && next && next !== '/' && !canEndExpression) { const end = readRegex(source, index); html += token('regex', source.slice(index, end)); index = end; + canEndExpression = true; continue; } @@ -58,6 +61,7 @@ export function highlightDecodal(source) { const end = readNumber(source, index); html += token('number', source.slice(index, end)); index = end; + canEndExpression = true; continue; } @@ -68,6 +72,7 @@ export function highlightDecodal(source) { else if (DECODAL_TYPES.has(ident)) html += token('type', ident); else if (DECODAL_LITERALS.has(ident)) html += token('literal', ident); else html += escapeHtml(ident); + canEndExpression = true; index = end; continue; } @@ -75,6 +80,7 @@ export function highlightDecodal(source) { if (isOperatorStart(char)) { const end = readOperator(source, index); html += token('operator', source.slice(index, end)); + canEndExpression = /[})\]]/.test(char); index = end; continue; } @@ -184,11 +190,12 @@ function readIdentifier(source, start) { } function isOperatorStart(char) { - return /[&=<>!|:;,.{}()[\]]/.test(char ?? ''); + return '&=<>!|:;,.{}()[]+-*/'.includes(char ?? ''); } function readOperator(source, start) { let index = start + 1; + if (source[start] === '/' && source[index] === '/') return index + 1; if ((source[start] === '<' || source[start] === '>' || source[start] === '=' || source[start] === '!') && source[index] === '=') { index += 1; } diff --git a/site/decodal-site/src/scripts/playground.js b/site/decodal-site/src/scripts/playground.js index e7f0e22..0494e43 100644 --- a/site/decodal-site/src/scripts/playground.js +++ b/site/decodal-site/src/scripts/playground.js @@ -9,7 +9,7 @@ const starterFiles = { in schema.Service & { name = "api"; - port = 9443; + port = 9000 + 443; } `, 'schemas/service.dcdl': `Service = { diff --git a/site/decodal-site/src/wasm/decodal_wasm_bg.wasm b/site/decodal-site/src/wasm/decodal_wasm_bg.wasm index 2d0d8e8..56c0c92 100644 Binary files a/site/decodal-site/src/wasm/decodal_wasm_bg.wasm and b/site/decodal-site/src/wasm/decodal_wasm_bg.wasm differ