From 3f7dd7c692613f9ceed79e2b29ba3b0f0f277e42 Mon Sep 17 00:00:00 2001 From: Hare Date: Wed, 17 Jun 2026 23:00:14 +0900 Subject: [PATCH] Add arithmetic expressions --- crates/decodal-core/src/ast.rs | 13 + crates/decodal-core/src/eval.rs | 163 +- crates/decodal-core/src/lexer.rs | 43 +- crates/decodal-core/src/parser.rs | 55 +- .../souce/language/expression/arithmetic.md | 43 + doc/manual/souce/language/operators.md | 24 +- doc/manual/souce/language/syntax.md | 4 +- editors/tree-sitter-decodal/corpus/basic.txt | 28 + editors/tree-sitter-decodal/grammar.js | 21 +- .../queries/highlights.scm | 4 + editors/tree-sitter-decodal/src/grammar.json | 126 +- .../tree-sitter-decodal/src/node-types.json | 246 +- editors/tree-sitter-decodal/src/parser.c | 8300 +++++++++++------ examples/arithmetic.dcdl | 7 + site/decodal-site/src/lib/docs.js | 1 + site/decodal-site/src/lib/highlight.js | 13 +- site/decodal-site/src/scripts/playground.js | 2 +- .../src/wasm/decodal_wasm_bg.wasm | Bin 207633 -> 211224 bytes 18 files changed, 6336 insertions(+), 2757 deletions(-) create mode 100644 doc/manual/souce/language/expression/arithmetic.md create mode 100644 examples/arithmetic.dcdl 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 2d0d8e81bcff3265f168f4f98c00dc917da51771..56c0c921657f597aff809ebb3b396cd8b0ef9cfe 100644 GIT binary patch delta 42965 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 z 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 delta 39880 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 CP4lDx