diff --git a/crates/decodal-core/src/ast.rs b/crates/decodal-core/src/ast.rs index b2b5f42..8551427 100644 --- a/crates/decodal-core/src/ast.rs +++ b/crates/decodal-core/src/ast.rs @@ -50,6 +50,9 @@ pub enum Expr { Ident(String), Object(Vec), Array(Vec), + ArrayConstraint { + item: ExprId, + }, Let { bindings: Vec, body: ExprId, diff --git a/crates/decodal-core/src/constraints.rs b/crates/decodal-core/src/constraints.rs index bfc7a1f..2f6b110 100644 --- a/crates/decodal-core/src/constraints.rs +++ b/crates/decodal-core/src/constraints.rs @@ -11,6 +11,7 @@ pub fn normalize_constraints( span: Span, ) -> crate::Result> { let mut primitive: Option<(PrimitiveType, Span)> = None; + let mut array_span: Option = None; let mut lower: Option<(Bound, Span)> = None; let mut upper: Option<(Bound, Span)> = None; let mut rest = Vec::new(); @@ -61,6 +62,13 @@ pub fn normalize_constraints( constraint: Constraint::Regex(pattern), span: entry.span, }), + Constraint::ArrayItems(item) => { + array_span.get_or_insert(entry.span); + rest.push(ConstraintEntry { + constraint: Constraint::ArrayItems(item), + span: entry.span, + }); + } Constraint::BuiltinPredicate(name) => rest.push(ConstraintEntry { constraint: Constraint::BuiltinPredicate(name), span: entry.span, @@ -68,12 +76,37 @@ pub fn normalize_constraints( } } + if let (Some((_, primitive_span)), Some(array_span)) = (primitive, array_span) { + return Err(Diagnostic::new( + DiagnosticKind::Conflict, + span, + "array element constraints conflict with primitive type constraints", + ) + .with_label(primitive_span, "primitive type constraint") + .with_label(array_span, "array element constraint")); + } + + if let Some(array_span) = array_span + && (lower.is_some() || upper.is_some()) + { + let mut diagnostic = Diagnostic::new( + DiagnosticKind::Conflict, + span, + "numeric comparison constraints conflict with array element constraints", + ) + .with_label(array_span, "array element constraint"); + if let Some((_, lower_span)) = lower { + diagnostic = diagnostic.with_label(lower_span, "numeric comparison constraint"); + } + if let Some((_, upper_span)) = upper { + diagnostic = diagnostic.with_label(upper_span, "numeric comparison constraint"); + } + return Err(diagnostic); + } + if matches!( primitive, - Some(( - PrimitiveType::String | PrimitiveType::Bool | PrimitiveType::Array, - _ - )) + Some((PrimitiveType::String | PrimitiveType::Bool, _)) ) && (lower.is_some() || upper.is_some()) { let mut diagnostic = Diagnostic::new( diff --git a/crates/decodal-core/src/embedding.rs b/crates/decodal-core/src/embedding.rs index e544441..39214ad 100644 --- a/crates/decodal-core/src/embedding.rs +++ b/crates/decodal-core/src/embedding.rs @@ -10,6 +10,11 @@ pub enum HostValue { Float(f64), Bool(bool), Array(Vec), + ArrayConstraint { + item: Box, + constraints: Vec, + default: Option>, + }, Object(Vec), Abstract { constraints: Vec, @@ -91,8 +96,12 @@ impl HostValue { Self::abstract_with_constraint(Constraint::Type(PrimitiveType::Bool)) } - pub fn array_type() -> Self { - Self::abstract_with_constraint(Constraint::Type(PrimitiveType::Array)) + pub fn array_of(item: HostValue) -> Self { + Self::ArrayConstraint { + item: Box::new(item), + constraints: Vec::new(), + default: None, + } } pub fn builtin_predicate(name: impl Into) -> Self { @@ -109,6 +118,7 @@ impl HostValue { pub fn with_constraint(mut self, constraint: Constraint) -> Self { match &mut self { Self::Abstract { constraints, .. } => constraints.push(constraint), + Self::ArrayConstraint { constraints, .. } => constraints.push(constraint), _ => { self = Self::Abstract { constraints: alloc::vec![constraint], @@ -143,6 +153,22 @@ impl HostValue { pub fn default(self, value: HostValue) -> Result { match self { + Self::ArrayConstraint { + item, + constraints, + default: None, + } => Ok(Self::ArrayConstraint { + item, + constraints, + default: Some(Box::new(value)), + }), + Self::ArrayConstraint { + default: Some(_), .. + } => Err(Diagnostic::new( + DiagnosticKind::DefaultConflict, + Span::default(), + "host value already has a default", + )), Self::Abstract { constraints, default: None, diff --git a/crates/decodal-core/src/eval.rs b/crates/decodal-core/src/eval.rs index 58e2271..6a061e3 100644 --- a/crates/decodal-core/src/eval.rs +++ b/crates/decodal-core/src/eval.rs @@ -111,9 +111,12 @@ impl Engine { ConcreteValue::Bool(value) => Ok(Data::Bool(*value)), ConcreteValue::Array(items) => { let mut data = Vec::new(); - for item in items { + for (index, item) in items.iter().enumerate() { let value = self.force(*item)?; - data.push(self.materialize_with_path(&value, path)?); + path.push(format!("[{index}]")); + let value = self.materialize_with_path(&value, path); + path.pop(); + data.push(value?); } Ok(Data::Array(data)) } @@ -158,13 +161,14 @@ impl Engine { }; let default_span = self.thunk_span(default); let value = self.force(default)?; - self.ensure_satisfies( - &value, - &abstract_value.constraints, - default_span, - Some((default_span, "default value checked here")), - ) - .map_err(|diag| self.with_path_context(diag, "materializing", path))?; + let value = self + .apply_constraints( + value, + &abstract_value.constraints, + default_span, + Some((default_span, "default value checked here")), + ) + .map_err(|diag| self.with_path_context(diag, "materializing", path))?; self.materialize_with_path(&value, path) } } @@ -262,6 +266,22 @@ impl Engine { .collect(); Ok(RuntimeValue::Concrete(ConcreteValue::Array(thunks))) } + Expr::ArrayConstraint { item } => { + let item = self.add_expr_thunk( + ExprRef { + module: reference.module, + expr: item, + }, + env, + ); + Ok(RuntimeValue::Abstract(AbstractValue { + constraints: vec![ConstraintEntry { + constraint: Constraint::ArrayItems(item), + span, + }], + default: None, + })) + } Expr::Let { bindings, body } => { let let_env = self.new_env(Some(env)); for binding in bindings { @@ -550,6 +570,13 @@ impl Engine { if let Some(thunk) = self.lookup(env, name) { return self.force(thunk); } + if name == "Array" { + return Err(Diagnostic::new( + DiagnosticKind::UnresolvedIdentifier, + span, + "`Array` is not a valid constraint; use an element constraint such as `[...String]`", + )); + } if name.chars().next().is_some_and(char::is_uppercase) { return Ok(RuntimeValue::Abstract(AbstractValue { constraints: vec![ConstraintEntry { @@ -697,7 +724,10 @@ impl Engine { ) -> Result { match self.expr(pattern).clone() { Expr::Wildcard => Ok(true), - Expr::CompareConstraint { .. } | Expr::RegexConstraint(_) | Expr::Ident(_) => { + Expr::ArrayConstraint { .. } + | Expr::CompareConstraint { .. } + | Expr::RegexConstraint(_) + | Expr::Ident(_) => { let constraint = self.eval_expr(pattern, env)?; match constraint { RuntimeValue::Abstract(abstract_value) => self @@ -738,13 +768,12 @@ impl Engine { } (RuntimeValue::Abstract(abstract_value), concrete @ RuntimeValue::Concrete(_)) | (concrete @ RuntimeValue::Concrete(_), RuntimeValue::Abstract(abstract_value)) => { - self.ensure_satisfies( - &concrete, + self.apply_constraints( + concrete, &abstract_value.constraints, span, Some((span, "concrete value being composed here")), - )?; - Ok(concrete) + ) } ( RuntimeValue::Concrete(ConcreteValue::Object(lhs)), @@ -830,24 +859,35 @@ impl Engine { span: Span, value_label: Option<(Span, &'static str)>, ) -> Result<()> { - for constraint in constraints { - self.satisfies(value, constraint, span, value_label)?; - } - Ok(()) + self.apply_constraints(value.clone(), constraints, span, value_label) + .map(|_| ()) } - fn satisfies( + fn apply_constraints( &mut self, - value: &RuntimeValue, + mut value: RuntimeValue, + constraints: &[ConstraintEntry], + span: Span, + value_label: Option<(Span, &'static str)>, + ) -> Result { + for constraint in constraints { + value = self.apply_constraint(value, constraint, span, value_label)?; + } + Ok(value) + } + + fn apply_constraint( + &mut self, + value: RuntimeValue, constraint: &ConstraintEntry, span: Span, value_label: Option<(Span, &'static str)>, - ) -> Result<()> { + ) -> Result { let constraint_value = &constraint.constraint; match constraint_value { Constraint::Type(primitive) => { - if value_matches_primitive(value, *primitive) { - Ok(()) + if value_matches_primitive(&value, *primitive) { + Ok(value) } else { Err(self.constraint_violation( constraint, @@ -857,8 +897,41 @@ impl Engine { )) } } - Constraint::Compare(op, expected) => compare_value(value, *op, expected) - .then_some(()) + Constraint::ArrayItems(item_constraint) => { + let RuntimeValue::Concrete(ConcreteValue::Array(items)) = value else { + return Err(self.constraint_violation( + constraint, + span, + value_label, + "value does not satisfy array element constraint", + )); + }; + let item_constraint_value = self.force(*item_constraint)?; + let mut constrained_items = Vec::with_capacity(items.len()); + for (index, item) in items.into_iter().enumerate() { + let item_span = self.thunk_span(item); + let item_value = self.force(item)?; + let constrained = self + .compose_and(item_constraint_value.clone(), item_value, item_span) + .map_err(|diagnostic| { + diagnostic + .with_label( + constraint.span, + "array element constraint declared here", + ) + .with_label( + item_span, + format!("array element [{index}] checked here"), + ) + })?; + constrained_items.push(self.add_value_thunk_with_span(constrained, item_span)); + } + Ok(RuntimeValue::Concrete(ConcreteValue::Array( + constrained_items, + ))) + } + Constraint::Compare(op, expected) => compare_value(&value, *op, expected) + .then_some(value) .ok_or_else(|| { self.constraint_violation( constraint, @@ -868,14 +941,15 @@ impl Engine { ) }), Constraint::Regex(pattern) => { - satisfies_regex(value, pattern, constraint.span).map_err(|diag| { + satisfies_regex(&value, pattern, constraint.span).map_err(|diag| { let diag = diag.with_label(constraint.span, "regex constraint declared here"); if let Some((span, message)) = value_label { diag.with_label(span, message) } else { diag } - }) + })?; + Ok(value) } Constraint::BuiltinPredicate(name) => Err(Diagnostic::new( DiagnosticKind::UnsupportedFeature, @@ -940,6 +1014,33 @@ impl Engine { } Ok(RuntimeValue::Concrete(ConcreteValue::Array(thunks))) } + HostValue::ArrayConstraint { + item, + mut constraints, + default, + } => { + let item = self.internalize_host_value(*item)?; + let item = self.add_value_thunk(item); + let default = if let Some(default) = default { + let value = self.internalize_host_value(*default)?; + Some(self.add_value_thunk(value)) + } else { + None + }; + constraints.push(Constraint::ArrayItems(item)); + let constraints = constraints + .into_iter() + .map(|constraint| ConstraintEntry { + constraint, + span: Span::default(), + }) + .collect(); + let constraints = normalize_constraints(constraints, Span::default())?; + Ok(RuntimeValue::Abstract(AbstractValue { + constraints, + default, + })) + } HostValue::Object(fields) => { let mut object = ObjectValue { fields: Vec::new() }; for field in fields { @@ -1147,7 +1248,7 @@ impl Engine { diagnostic } else { let span = diagnostic.span; - diagnostic.with_label(span, format!("while {phase} `{}`", path.join("."))) + diagnostic.with_label(span, format!("while {phase} `{}`", format_path(path))) } } } @@ -1170,7 +1271,6 @@ fn primitive_type(name: &str) -> Option { "Int" => Some(PrimitiveType::Int), "Float" => Some(PrimitiveType::Float), "Bool" => Some(PrimitiveType::Bool), - "Array" => Some(PrimitiveType::Array), _ => None, } } @@ -1251,13 +1351,25 @@ fn value_matches_primitive(value: &RuntimeValue, primitive: PrimitiveType) -> bo ) | ( RuntimeValue::Concrete(ConcreteValue::Bool(_)), PrimitiveType::Bool - ) | ( - RuntimeValue::Concrete(ConcreteValue::Array(_)), - PrimitiveType::Array ) ) } +fn format_path(path: &[String]) -> String { + let mut output = String::new(); + for part in path { + if part.starts_with('[') { + output.push_str(part); + } else { + if !output.is_empty() { + output.push('.'); + } + output.push_str(part); + } + } + output +} + #[cfg(feature = "regex")] fn satisfies_regex(value: &RuntimeValue, pattern: &str, span: Span) -> Result<()> { let RuntimeValue::Concrete(ConcreteValue::String(value)) = value else { @@ -1678,6 +1790,96 @@ mod tests { ); } + #[test] + fn array_constraint_accepts_matching_items() { + let data = eval_data("[...(Int & >= 1)] & [1, 2, 3]"); + assert_eq!( + data, + Data::Array(vec![Data::Int(1), Data::Int(2), Data::Int(3)]) + ); + } + + #[test] + fn array_constraint_accepts_empty_array() { + let data = eval_data("[...Int] & []"); + assert_eq!(data, Data::Array(vec![])); + } + + #[test] + fn array_constraints_compose_per_item() { + let data = eval_data("[...Int] & [...> 0] & [1, 2, 3]"); + assert_eq!( + data, + Data::Array(vec![Data::Int(1), Data::Int(2), Data::Int(3)]) + ); + } + + #[test] + fn nested_array_constraints_validate_recursively() { + let data = eval_data(r#"[...[...String]] & [["api"], [], ["worker"]]"#); + assert_eq!( + data, + Data::Array(vec![ + Data::Array(vec![Data::String(String::from("api"))]), + Data::Array(vec![]), + Data::Array(vec![Data::String(String::from("worker"))]), + ]) + ); + } + + #[test] + fn array_constraint_rejects_invalid_item_with_index() { + let parsed = parse_source("[...Int] & [1, \"two\", 3]").unwrap(); + let mut engine = Engine::from_parse(parsed.ast, parsed.root); + let error = engine.eval_root().unwrap_err(); + assert_eq!(error.kind, DiagnosticKind::ConstraintViolation); + assert!( + error + .labels + .iter() + .any(|label| label.message.contains("array element [1]")) + ); + } + + #[test] + fn array_constraint_applies_object_defaults() { + let data = eval_data( + r#" + [...{ + name = String; + enabled = Bool default true; + }] & [{ name = "api"; }] + "#, + ); + let Data::Array(items) = data else { panic!() }; + let Data::Object(fields) = &items[0] else { + panic!() + }; + assert_eq!(fields[0].value, Data::String(String::from("api"))); + assert_eq!(fields[1].value, Data::Bool(true)); + } + + #[test] + fn array_constraint_validates_default_array() { + let data = eval_data("[...String] default [\"api\", \"worker\"]"); + assert_eq!( + data, + Data::Array(vec![ + Data::String(String::from("api")), + Data::String(String::from("worker")), + ]) + ); + } + + #[test] + fn removed_array_primitive_reports_migration() { + let parsed = parse_source("Array").unwrap(); + let mut engine = Engine::from_parse(parsed.ast, parsed.root); + let error = engine.eval_root().unwrap_err(); + assert_eq!(error.kind, DiagnosticKind::UnresolvedIdentifier); + assert!(error.message.contains("[...String]")); + } + #[test] fn array_concat_has_lower_precedence_than_arithmetic() { let data = eval_data("[1 + 1] ++ [2 * 2]"); diff --git a/crates/decodal-core/src/lexer.rs b/crates/decodal-core/src/lexer.rs index 09dd429..b020ad8 100644 --- a/crates/decodal-core/src/lexer.rs +++ b/crates/decodal-core/src/lexer.rs @@ -32,6 +32,7 @@ pub enum TokenKind { Semicolon, Comma, Dot, + Ellipsis, Colon, Equal, EqualEqual, @@ -141,7 +142,18 @@ impl<'a> Lexer<'a> { } b'.' => { self.pos += 1; - TokenKind::Dot + if self.consume(b'.') { + if self.consume(b'.') { + TokenKind::Ellipsis + } else { + return Err(Diagnostic::syntax( + self.span(start, self.pos), + "expected third '.' in ellipsis", + )); + } + } else { + TokenKind::Dot + } } b':' => { self.pos += 1; @@ -432,4 +444,13 @@ mod tests { assert_eq!(tokens[3].kind, TokenKind::Amp); assert_eq!(tokens[4].kind, TokenKind::Gte); } + + #[test] + fn tokenizes_array_constraint_ellipsis() { + let tokens = Lexer::new("[...String]").tokenize().unwrap(); + assert_eq!(tokens[0].kind, TokenKind::LBracket); + assert_eq!(tokens[1].kind, TokenKind::Ellipsis); + assert!(matches!(tokens[2].kind, TokenKind::Ident(_))); + assert_eq!(tokens[3].kind, TokenKind::RBracket); + } } diff --git a/crates/decodal-core/src/parser.rs b/crates/decodal-core/src/parser.rs index bafe747..19a1efc 100644 --- a/crates/decodal-core/src/parser.rs +++ b/crates/decodal-core/src/parser.rs @@ -338,6 +338,17 @@ impl Parser { } fn parse_array_after_lbracket(&mut self, start_span: Span) -> Result { + if self.consume_kind(&TokenKind::Ellipsis).is_some() { + let item = self.parse_expr(0)?; + let _ = self.consume_kind(&TokenKind::Comma); + self.expect_kind( + &TokenKind::RBracket, + "expected ']' after array element constraint", + )?; + let span = start_span.join(self.previous_span()); + return Ok(self.ast.push(Expr::ArrayConstraint { item }, span)); + } + let mut items = Vec::new(); if self.consume_kind(&TokenKind::RBracket).is_some() { return Ok(self @@ -674,4 +685,18 @@ mod tests { }; assert_eq!(fields[0].path, ["feature", "enable"]); } + + #[test] + fn parses_array_constraint() { + let parsed = parse_source("[...(String & /^api-/)]").unwrap(); + let Expr::ArrayConstraint { item } = parsed.ast.get(parsed.root).expr else { + panic!() + }; + assert!(matches!(parsed.ast.get(item).expr, Expr::Binary { .. })); + } + + #[test] + fn rejects_array_constraint_without_element_constraint() { + assert!(parse_source("[...]").is_err()); + } } diff --git a/crates/decodal-core/src/runtime.rs b/crates/decodal-core/src/runtime.rs index 49d4311..e721c1c 100644 --- a/crates/decodal-core/src/runtime.rs +++ b/crates/decodal-core/src/runtime.rs @@ -68,6 +68,7 @@ pub struct ConstraintEntry { #[derive(Debug, Clone, PartialEq)] pub enum Constraint { Type(PrimitiveType), + ArrayItems(ThunkId), Compare(CompareOp, LiteralValue), Regex(String), BuiltinPredicate(String), @@ -79,7 +80,6 @@ pub enum PrimitiveType { Int, Float, Bool, - Array, } #[derive(Debug, Clone, PartialEq)] diff --git a/crates/decodal-core/src/typed.rs b/crates/decodal-core/src/typed.rs index 4c47a31..38e9ce9 100644 --- a/crates/decodal-core/src/typed.rs +++ b/crates/decodal-core/src/typed.rs @@ -198,9 +198,9 @@ impl IntoHostValue for bool { } } -impl DecodalSchema for Vec { +impl DecodalSchema for Vec { fn decodal_schema() -> HostValue { - HostValue::array_type() + HostValue::array_of(T::decodal_schema()) } } diff --git a/crates/decodal-derive/tests/derive.rs b/crates/decodal-derive/tests/derive.rs index 31e9220..5a04611 100644 --- a/crates/decodal-derive/tests/derive.rs +++ b/crates/decodal-derive/tests/derive.rs @@ -12,6 +12,18 @@ struct Service { tags: Vec, } +#[derive(Debug, PartialEq, Decodal)] +struct Worker { + name: String, + #[decodal(default = true)] + enabled: bool, +} + +#[derive(Debug, PartialEq, Decodal)] +struct Fleet { + workers: Vec, +} + #[test] fn derives_schema_and_decode() { let mut engine = Engine::new(EmptyLoader); @@ -77,3 +89,62 @@ fn decode_reports_field_path() { let error = Service::decodal_decode(&data).unwrap_err(); assert_eq!(error.path, "name"); } + +#[test] +fn vec_schema_rejects_invalid_element_before_decode() { + let mut engine = Engine::new(EmptyLoader); + engine + .bind_global("Service", Service::decodal_schema()) + .unwrap(); + let module = engine + .add_root_source( + "test", + "test", + r#" + Service & { + name = "api"; + port = 9443; + tags = ["web", 1]; + } + "#, + ) + .unwrap(); + let error = engine.eval_module(module).unwrap_err(); + assert!( + error + .labels + .iter() + .any(|label| label.message.contains("array element [1]")) + ); +} + +#[test] +fn vec_schema_applies_nested_struct_defaults() { + let mut engine = Engine::new(EmptyLoader); + engine + .bind_global("Fleet", Fleet::decodal_schema()) + .unwrap(); + let module = engine + .add_root_source( + "test", + "test", + r#" + Fleet & { + workers = [{ name = "api"; }]; + } + "#, + ) + .unwrap(); + let value = engine.eval_module(module).unwrap(); + let data = engine.materialize(&value).unwrap(); + let fleet = Fleet::decodal_decode(&data).unwrap(); + assert_eq!( + fleet, + Fleet { + workers: vec![Worker { + name: "api".into(), + enabled: true, + }], + } + ); +} diff --git a/crates/decodal-language-tools/src/lib.rs b/crates/decodal-language-tools/src/lib.rs index 02eaf9c..20bf1d1 100644 --- a/crates/decodal-language-tools/src/lib.rs +++ b/crates/decodal-language-tools/src/lib.rs @@ -427,7 +427,7 @@ impl<'a> Formatter<'a> { if expression_contains_comment(node) && !matches!( node.kind(), - "object" | "array" | "let_expression" | "match_expression" + "object" | "array" | "array_constraint" | "let_expression" | "match_expression" ) { out.push_str(self.raw_trimmed(node)); @@ -454,6 +454,7 @@ impl<'a> Formatter<'a> { "comparison_constraint" => self.write_comparison_constraint(out, node, indent), "object" => self.write_object(out, node, indent), "array" => self.write_array(out, node, indent), + "array_constraint" => self.write_array_constraint(out, node, indent), "let_expression" => self.write_let(out, node, indent), "function_expression" => self.write_function(out, node, indent), "match_expression" => self.write_match(out, node, indent), @@ -541,6 +542,14 @@ impl<'a> Formatter<'a> { out.push(']'); } + fn write_array_constraint(&mut self, out: &mut String, node: Node<'a>, indent: usize) { + out.push_str("[..."); + if let Some(element) = node.child_by_field_name("element") { + self.write_expr(out, element, indent, 0); + } + out.push(']'); + } + fn write_let(&mut self, out: &mut String, node: Node<'a>, indent: usize) { let body = node.child_by_field_name("body"); out.push_str("let"); @@ -797,7 +806,7 @@ fn is_inline_expr(node: Node<'_>) -> bool { !expression_contains_comment(node) && named_children(node).into_iter().all(is_inline_expr) } - "array" => { + "array" | "array_constraint" => { !expression_contains_comment(node) && named_children(node).into_iter().all(is_inline_expr) } @@ -842,6 +851,16 @@ mod tests { ); } + #[test] + fn formats_array_constraints() { + let source = "tags=[...String];ports=[...(Int&>=1)];"; + let formatted = format_source(source).unwrap(); + assert_eq!( + formatted, + "tags = [...String];\nports = [...(Int & >= 1)];\n" + ); + } + #[test] fn wasm_export_returns_json() { let output = format_source_json("value={a=1;};"); diff --git a/doc/manual/souce/design/embedding-api.md b/doc/manual/souce/design/embedding-api.md index 285fbf7..8b5df2c 100644 --- a/doc/manual/souce/design/embedding-api.md +++ b/doc/manual/souce/design/embedding-api.md @@ -17,7 +17,7 @@ let / function env ``` Module top-level bindings shadow prelude bindings. -Primitive type names such as `String`, `Int`, `Float`, `Bool`, and `Array` are handled before environment lookup, so they are reserved and cannot be shadowed by host bindings. +Primitive type names such as `String`, `Int`, `Float`, and `Bool` are handled before environment lookup, so they are reserved and cannot be shadowed by host bindings. ## Global bindings @@ -59,12 +59,16 @@ HostValue = Float Bool Array(Vec) + ArrayConstraint { item, constraints, default } Object(Vec) Abstract { constraints, default } ``` When a host value is bound, the engine internalizes it into `RuntimeValue` and allocates value thunks for object fields, array items, and defaults. +`HostValue::array_of(item)` builds an array constraint with a required element schema. +There is no host API for an unconstrained abstract array. + ## Abstract host objects A host-provided schema object is represented as a concrete object structure whose fields may contain abstract values. diff --git a/doc/manual/souce/design/runtime-model.md b/doc/manual/souce/design/runtime-model.md index a52bfbe..7db2877 100644 --- a/doc/manual/souce/design/runtime-model.md +++ b/doc/manual/souce/design/runtime-model.md @@ -123,12 +123,16 @@ constraint は concrete value とは別の型として扱う。 ```text Constraint = Type(PrimitiveType) + ArrayItems(ThunkId) Compare(Op, Literal) Regex(Pattern) BuiltinPredicate(Symbol) ObjectConstraint(...) ``` +`ArrayItems` は配列そのものの型と、すべての要素へ合成する schema thunk を表す。 +配列用の primitive type は持たず、抽象配列には必ず要素制約が必要である。 + 初期実装では、object の形は主に `Concrete(Object)` の field に `Abstract` を置くことで表現する。 object 全体にかかる constraint は必要になった時点で追加する。 diff --git a/doc/manual/souce/language/constraints-and-defaults.md b/doc/manual/souce/language/constraints-and-defaults.md index 1150b47..4ead231 100644 --- a/doc/manual/souce/language/constraints-and-defaults.md +++ b/doc/manual/souce/language/constraints-and-defaults.md @@ -124,6 +124,19 @@ String & /^a$/ & /^b$/ Host = IPv4Address; ``` +## 配列制約 + +配列制約には要素制約が必須であり、`[...T]` と書く。 + +```dcdl +Names = [...String]; +PositiveInts = [...(Int & > 0)]; +``` + +複数の配列制約を `&` で合成した場合、各 concrete 要素へすべての要素制約を合成する。 +要素が object schema の場合は、その schema に含まれる default も各要素へ適用される。 +要素制約のない `Array` primitive type は存在しない。 + ## default `default` は制約ではない。 diff --git a/doc/manual/souce/language/examples.md b/doc/manual/souce/language/examples.md index 52e36d7..8bd7f3c 100644 --- a/doc/manual/souce/language/examples.md +++ b/doc/manual/souce/language/examples.md @@ -31,6 +31,23 @@ disabled_config = NewConfig & { enabled_config = NewConfig; ``` +## 配列スキーマ + +```dcdl +Services = [...{ + name = String; + port = Int default 8080; +}]; + +Services & [ + { name = "api"; }, + { name = "worker"; port = 9000; }, +] +``` + +抽象配列には要素制約が必須である。 +この例では、1 番目の要素の `port` は `8080` に materialize される。 + ## 関数と制約 ```dcdl diff --git a/doc/manual/souce/language/expression/array.md b/doc/manual/souce/language/expression/array.md index 567a4be..d482f3a 100644 --- a/doc/manual/souce/language/expression/array.md +++ b/doc/manual/souce/language/expression/array.md @@ -7,6 +7,46 @@ array expression は、順序付きの値の列を表す。 ["a", "b", "c"] ``` +配列リテラルは concrete value であり、要素型を揃える必要はない。 + +```dcdl +["api", 8080, true] +``` + +## Array constraint + +配列制約は `[` の直後に ellipsis を置き、その後へ要素制約を記述する。 + +```dcdl +Names = [...String]; +Ports = [...(Int & >= 1 & <= 65535)]; +``` + +`[...T]` は、すべての要素が `T` を満たす長さ 0 以上の配列を表す。 +空配列は任意の配列制約を満たす。 + +```dcdl +[...String] & [] +[...String] & ["api", "worker"] +``` + +要素制約は object schema にもできる。 +要素 schema の default は、配列へ制約を合成するときに各要素へ適用される。 + +```dcdl +Services = [...{ + name = String; + enabled = Bool default true; +}]; + +Services & [{ name = "api"; }] +``` + +要素制約のない抽象配列型は提供しない。 +旧来の `Array` primitive type は使用できず、`[...T]` の `T` は必須である。 +`[String]` は配列制約ではなく、未解決の `String` 制約を 1 要素に持つ concrete array になる。 +長さ制約、位置別の tuple 制約、unique 制約は現在サポートしない。 + ## Array concat `++` は concrete array 同士を連結する。 diff --git a/doc/manual/souce/language/expression/index.md b/doc/manual/souce/language/expression/index.md index a5cb811..9062a83 100644 --- a/doc/manual/souce/language/expression/index.md +++ b/doc/manual/souce/language/expression/index.md @@ -11,6 +11,7 @@ Expr ├─ path reference ├─ object ├─ array +├─ array constraint ├─ function ├─ function call ├─ let diff --git a/doc/manual/souce/language/grammar.md b/doc/manual/souce/language/grammar.md index fdcee91..656b478 100644 --- a/doc/manual/souce/language/grammar.md +++ b/doc/manual/souce/language/grammar.md @@ -57,6 +57,7 @@ primary_expression = literal | identifier | comparison_constraint | object + | array_constraint | array | let_expression | function_expression @@ -73,6 +74,7 @@ field_definition = field_path , "=" , expression ; field_path = identifier , { "." , identifier } ; array = "[" , [ expression , { "," , expression } , [ "," ] ] , "]" ; +array_constraint = "[" , "..." , expression , [ "," ] , "]" ; let_expression = "let" , { field_definition , ";" } , "in" , expression ; function_expression = "(" , [ parameter_list ] , ")" , "=>" , expression ; diff --git a/doc/manual/souce/language/syntax.md b/doc/manual/souce/language/syntax.md index 3b2048a..261cb0b 100644 --- a/doc/manual/souce/language/syntax.md +++ b/doc/manual/souce/language/syntax.md @@ -121,6 +121,7 @@ false default fallback 指定 => 関数 . フィールド参照 / ドットパス定義 +... 配列の要素制約 ``` 演算子の優先順位は [合成演算子](./operators.md) で定義する。 diff --git a/doc/manual/souce/language/value/index.md b/doc/manual/souce/language/value/index.md index 0967dc9..beb3da3 100644 --- a/doc/manual/souce/language/value/index.md +++ b/doc/manual/souce/language/value/index.md @@ -9,10 +9,11 @@ name = String; retry = Int default 3; ratio = Float; enable = Bool default true; -tags = Array; +tags = [...String]; ``` -現在の primitive type は `String`、`Int`、`Float`、`Bool`、`Array` である。 +現在の primitive type は `String`、`Int`、`Float`、`Bool` である。 +配列は primitive type ではなく、必須の要素制約を持つ `[...T]` で表現する。 各型の個別仕様へのリンクは [Manual Index](../../index.md) に集約する。 primitive type と制約合成の詳細は [制約と default](../constraints-and-defaults.md) も参照する。 diff --git a/editors/lezer-decodal/decodal.grammar b/editors/lezer-decodal/decodal.grammar index 3e225fe..3a26e50 100644 --- a/editors/lezer-decodal/decodal.grammar +++ b/editors/lezer-decodal/decodal.grammar @@ -71,6 +71,7 @@ PrimaryExpression { Identifier | ComparisonConstraint | Object | + ArrayConstraint | Array | LetExpression | FunctionExpression | @@ -88,6 +89,7 @@ FieldDefinition { FieldPath Equal Expression } FieldPath { Identifier !fieldPath (Dot Identifier)* } Array { LBracket (Expression (Comma Expression)* Comma?)? RBracket } +ArrayConstraint { LBracket Ellipsis Expression Comma? RBracket } LetExpression { Let FieldDefinitionList In Expression } FieldDefinitionList { (FieldDefinition Semicolon)* } @@ -143,6 +145,7 @@ ImportExpression { Import String } Semicolon { ";" } Comma { "," } Dot { "." } + Ellipsis { "..." } Colon { ":" } Equal { "=" } EqualEqual { "==" } diff --git a/editors/tree-sitter-decodal/corpus/basic.txt b/editors/tree-sitter-decodal/corpus/basic.txt index 36fda1f..b616341 100644 --- a/editors/tree-sitter-decodal/corpus/basic.txt +++ b/editors/tree-sitter-decodal/corpus/basic.txt @@ -158,3 +158,27 @@ Array concat right: (literal (integer)))) right: (array (literal (integer))))))) + +================== +Array constraints +================== +{ + tags = [...String]; + ports = [...(Int & >= 1),]; +} +--- + +(source_file + (object + (field_definition + path: (field_path (identifier)) + value: (array_constraint + element: (identifier))) + (field_definition + path: (field_path (identifier)) + value: (array_constraint + element: (parenthesized_expression + (binary_expression + left: (identifier) + right: (comparison_constraint + value: (integer)))))))) diff --git a/editors/tree-sitter-decodal/grammar.js b/editors/tree-sitter-decodal/grammar.js index 0789d0e..40b2836 100644 --- a/editors/tree-sitter-decodal/grammar.js +++ b/editors/tree-sitter-decodal/grammar.js @@ -54,6 +54,7 @@ module.exports = grammar({ $.regex_literal, $.comparison_constraint, $.object, + $.array_constraint, $.array, $.let_expression, $.function_expression, @@ -116,6 +117,14 @@ module.exports = grammar({ ']', ), + array_constraint: $ => seq( + '[', + '...', + field('element', $._expression), + optional(','), + ']', + ), + let_expression: $ => seq( 'let', repeat(seq($.field_definition, ';')), diff --git a/editors/tree-sitter-decodal/queries/highlights.scm b/editors/tree-sitter-decodal/queries/highlights.scm index b5f47e1..92b4214 100644 --- a/editors/tree-sitter-decodal/queries/highlights.scm +++ b/editors/tree-sitter-decodal/queries/highlights.scm @@ -22,6 +22,7 @@ "*" "/" "++" + "..." "&&" "||" "!" diff --git a/editors/tree-sitter-decodal/src/grammar.json b/editors/tree-sitter-decodal/src/grammar.json index 70ed3c5..39a10d7 100644 --- a/editors/tree-sitter-decodal/src/grammar.json +++ b/editors/tree-sitter-decodal/src/grammar.json @@ -95,6 +95,10 @@ "type": "SYMBOL", "name": "object" }, + { + "type": "SYMBOL", + "name": "array_constraint" + }, { "type": "SYMBOL", "name": "array" @@ -427,6 +431,43 @@ } ] }, + "array_constraint": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "FIELD", + "name": "element", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "]" + } + ] + }, "let_expression": { "type": "SEQ", "members": [ diff --git a/editors/tree-sitter-decodal/src/node-types.json b/editors/tree-sitter-decodal/src/node-types.json index 625a8d5..d5b074d 100644 --- a/editors/tree-sitter-decodal/src/node-types.json +++ b/editors/tree-sitter-decodal/src/node-types.json @@ -11,6 +11,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -74,6 +78,86 @@ ] } }, + { + "type": "array_constraint", + "named": true, + "fields": { + "element": { + "multiple": false, + "required": true, + "types": [ + { + "type": "array", + "named": true + }, + { + "type": "array_constraint", + "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 + } + ] + } + } + }, { "type": "binary_expression", "named": true, @@ -86,6 +170,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -222,6 +310,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -303,6 +395,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -374,6 +470,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -471,6 +571,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -547,6 +651,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -617,6 +725,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -703,6 +815,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -794,6 +910,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -896,6 +1016,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1009,6 +1133,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1083,6 +1211,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1159,6 +1291,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1260,6 +1396,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1346,6 +1486,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1431,6 +1575,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1507,6 +1655,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1586,6 +1738,10 @@ "type": "array", "named": true }, + { + "type": "array_constraint", + "named": true + }, { "type": "binary_expression", "named": true @@ -1712,6 +1868,10 @@ "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 7f49373..4014460 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 225 +#define STATE_COUNT 235 #define LARGE_STATE_COUNT 25 -#define SYMBOL_COUNT 72 +#define SYMBOL_COUNT 74 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 43 +#define TOKEN_COUNT 44 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 17 +#define FIELD_COUNT 18 #define MAX_ALIAS_SEQUENCE_LENGTH 7 -#define PRODUCTION_ID_COUNT 18 +#define PRODUCTION_ID_COUNT 19 enum ts_symbol_identifiers { sym_identifier = 1, @@ -32,61 +32,63 @@ enum ts_symbol_identifiers { anon_sym_LBRACK = 14, anon_sym_COMMA = 15, anon_sym_RBRACK = 16, - anon_sym_let = 17, - anon_sym_in = 18, - anon_sym_LPAREN = 19, - anon_sym_RPAREN = 20, - anon_sym_EQ_GT = 21, - anon_sym_COLON = 22, - anon_sym_match = 23, - anon_sym__ = 24, - anon_sym_import = 25, - anon_sym_GT = 26, - anon_sym_GT_EQ = 27, - anon_sym_LT = 28, - anon_sym_LT_EQ = 29, - anon_sym_DASH = 30, - anon_sym_BANG = 31, - anon_sym_PIPE_PIPE = 32, - anon_sym_AMP_AMP = 33, - anon_sym_EQ_EQ = 34, - anon_sym_BANG_EQ = 35, - anon_sym_PLUS_PLUS = 36, - anon_sym_PLUS = 37, - anon_sym_STAR = 38, - anon_sym_SLASH = 39, - anon_sym_AMP = 40, - anon_sym_SLASH_SLASH = 41, - anon_sym_default = 42, - sym_source_file = 43, - sym__statement = 44, - sym__expression = 45, - sym_literal = 46, - sym_boolean = 47, - sym_object = 48, - sym_field_definition = 49, - sym_field_path = 50, - sym_array = 51, - sym_let_expression = 52, - sym_function_expression = 53, - sym_parameter = 54, - sym_match_expression = 55, - sym_match_arm = 56, - sym_import_expression = 57, - sym_parenthesized_expression = 58, - sym_call_expression = 59, - sym_path_expression = 60, - sym_comparison_constraint = 61, - sym_unary_expression = 62, - sym_binary_expression = 63, - sym_default_expression = 64, - aux_sym_source_file_repeat1 = 65, - aux_sym_object_repeat1 = 66, - aux_sym_field_path_repeat1 = 67, - aux_sym_array_repeat1 = 68, - aux_sym_let_expression_repeat1 = 69, - aux_sym_function_expression_repeat1 = 70, - aux_sym_match_expression_repeat1 = 71, + anon_sym_DOT_DOT_DOT = 17, + anon_sym_let = 18, + anon_sym_in = 19, + anon_sym_LPAREN = 20, + anon_sym_RPAREN = 21, + anon_sym_EQ_GT = 22, + anon_sym_COLON = 23, + anon_sym_match = 24, + anon_sym__ = 25, + anon_sym_import = 26, + anon_sym_GT = 27, + anon_sym_GT_EQ = 28, + anon_sym_LT = 29, + anon_sym_LT_EQ = 30, + anon_sym_DASH = 31, + anon_sym_BANG = 32, + anon_sym_PIPE_PIPE = 33, + anon_sym_AMP_AMP = 34, + anon_sym_EQ_EQ = 35, + anon_sym_BANG_EQ = 36, + anon_sym_PLUS_PLUS = 37, + anon_sym_PLUS = 38, + anon_sym_STAR = 39, + anon_sym_SLASH = 40, + anon_sym_AMP = 41, + anon_sym_SLASH_SLASH = 42, + anon_sym_default = 43, + sym_source_file = 44, + sym__statement = 45, + sym__expression = 46, + sym_literal = 47, + sym_boolean = 48, + sym_object = 49, + sym_field_definition = 50, + sym_field_path = 51, + sym_array = 52, + sym_array_constraint = 53, + sym_let_expression = 54, + sym_function_expression = 55, + sym_parameter = 56, + sym_match_expression = 57, + sym_match_arm = 58, + sym_import_expression = 59, + sym_parenthesized_expression = 60, + sym_call_expression = 61, + sym_path_expression = 62, + sym_comparison_constraint = 63, + sym_unary_expression = 64, + sym_binary_expression = 65, + sym_default_expression = 66, + aux_sym_source_file_repeat1 = 67, + aux_sym_object_repeat1 = 68, + aux_sym_field_path_repeat1 = 69, + aux_sym_array_repeat1 = 70, + aux_sym_let_expression_repeat1 = 71, + aux_sym_function_expression_repeat1 = 72, + aux_sym_match_expression_repeat1 = 73, }; static const char * const ts_symbol_names[] = { @@ -107,6 +109,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_LBRACK] = "[", [anon_sym_COMMA] = ",", [anon_sym_RBRACK] = "]", + [anon_sym_DOT_DOT_DOT] = "...", [anon_sym_let] = "let", [anon_sym_in] = "in", [anon_sym_LPAREN] = "(", @@ -142,6 +145,7 @@ static const char * const ts_symbol_names[] = { [sym_field_definition] = "field_definition", [sym_field_path] = "field_path", [sym_array] = "array", + [sym_array_constraint] = "array_constraint", [sym_let_expression] = "let_expression", [sym_function_expression] = "function_expression", [sym_parameter] = "parameter", @@ -182,6 +186,7 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_DOT_DOT_DOT] = anon_sym_DOT_DOT_DOT, [anon_sym_let] = anon_sym_let, [anon_sym_in] = anon_sym_in, [anon_sym_LPAREN] = anon_sym_LPAREN, @@ -217,6 +222,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_field_definition] = sym_field_definition, [sym_field_path] = sym_field_path, [sym_array] = sym_array, + [sym_array_constraint] = sym_array_constraint, [sym_let_expression] = sym_let_expression, [sym_function_expression] = sym_function_expression, [sym_parameter] = sym_parameter, @@ -308,6 +314,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_DOT_DOT_DOT] = { + .visible = true, + .named = false, + }, [anon_sym_let] = { .visible = true, .named = false, @@ -448,6 +458,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_array_constraint] = { + .visible = true, + .named = true, + }, [sym_let_expression] = { .visible = true, .named = true, @@ -534,20 +548,21 @@ enum ts_field_identifiers { field_base = 1, field_body = 2, field_constraint = 3, - field_fallback = 4, - field_field = 5, - field_function = 6, - field_left = 7, - field_name = 8, - field_object = 9, - field_operand = 10, - field_operator = 11, - field_path = 12, - field_pattern = 13, - field_right = 14, - field_scrutinee = 15, - field_specifier = 16, - field_value = 17, + field_element = 4, + field_fallback = 5, + field_field = 6, + field_function = 7, + field_left = 8, + field_name = 9, + field_object = 10, + field_operand = 11, + field_operator = 12, + field_path = 13, + field_pattern = 14, + field_right = 15, + field_scrutinee = 16, + field_specifier = 17, + field_value = 18, }; static const char * const ts_field_names[] = { @@ -555,6 +570,7 @@ static const char * const ts_field_names[] = { [field_base] = "base", [field_body] = "body", [field_constraint] = "constraint", + [field_element] = "element", [field_fallback] = "fallback", [field_field] = "field", [field_function] = "function", @@ -583,12 +599,13 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [9] = {.index = 13, .length = 2}, [10] = {.index = 15, .length = 2}, [11] = {.index = 17, .length = 1}, - [12] = {.index = 18, .length = 2}, - [13] = {.index = 20, .length = 1}, + [12] = {.index = 18, .length = 1}, + [13] = {.index = 19, .length = 2}, [14] = {.index = 21, .length = 1}, [15] = {.index = 22, .length = 1}, - [16] = {.index = 23, .length = 2}, - [17] = {.index = 25, .length = 1}, + [16] = {.index = 23, .length = 1}, + [17] = {.index = 24, .length = 2}, + [18] = {.index = 26, .length = 1}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -620,20 +637,22 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_path, 0}, {field_value, 2}, [17] = - {field_body, 3}, + {field_element, 2}, [18] = + {field_body, 3}, + [19] = {field_constraint, 2}, {field_name, 0}, - [20] = - {field_scrutinee, 1}, [21] = - {field_body, 4}, + {field_scrutinee, 1}, [22] = - {field_body, 5}, + {field_body, 4}, [23] = + {field_body, 5}, + [24] = {field_body, 2}, {field_pattern, 0}, - [25] = + [26] = {field_body, 6}, }; @@ -652,68 +671,68 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [3] = 3, [4] = 4, [5] = 5, - [6] = 5, + [6] = 4, [7] = 7, [8] = 7, - [9] = 4, + [9] = 5, [10] = 10, - [11] = 10, + [11] = 11, [12] = 12, - [13] = 13, - [14] = 14, + [13] = 11, + [14] = 12, [15] = 15, [16] = 16, [17] = 17, - [18] = 17, - [19] = 14, - [20] = 13, - [21] = 16, - [22] = 22, - [23] = 22, - [24] = 15, + [18] = 15, + [19] = 19, + [20] = 16, + [21] = 21, + [22] = 19, + [23] = 21, + [24] = 17, [25] = 25, [26] = 26, [27] = 27, [28] = 28, [29] = 29, [30] = 30, - [31] = 28, + [31] = 26, [32] = 32, [33] = 33, [34] = 34, [35] = 35, [36] = 36, [37] = 37, - [38] = 32, + [38] = 38, [39] = 39, - [40] = 40, - [41] = 41, - [42] = 42, - [43] = 43, - [44] = 44, - [45] = 25, - [46] = 46, - [47] = 47, - [48] = 40, - [49] = 39, - [50] = 35, - [51] = 47, - [52] = 46, - [53] = 30, - [54] = 44, + [40] = 37, + [41] = 36, + [42] = 35, + [43] = 25, + [44] = 33, + [45] = 32, + [46] = 38, + [47] = 30, + [48] = 29, + [49] = 28, + [50] = 50, + [51] = 51, + [52] = 52, + [53] = 53, + [54] = 54, [55] = 55, - [56] = 37, - [57] = 43, - [58] = 58, - [59] = 42, - [60] = 34, - [61] = 41, - [62] = 62, - [63] = 33, - [64] = 26, - [65] = 29, - [66] = 58, - [67] = 67, + [56] = 56, + [57] = 55, + [58] = 51, + [59] = 59, + [60] = 52, + [61] = 54, + [62] = 27, + [63] = 56, + [64] = 64, + [65] = 50, + [66] = 39, + [67] = 53, [68] = 68, [69] = 69, [70] = 70, @@ -753,79 +772,79 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [104] = 104, [105] = 105, [106] = 106, - [107] = 82, - [108] = 79, - [109] = 83, - [110] = 84, - [111] = 86, - [112] = 89, - [113] = 93, - [114] = 95, - [115] = 97, - [116] = 105, - [117] = 100, - [118] = 106, - [119] = 104, - [120] = 99, - [121] = 87, - [122] = 90, - [123] = 81, - [124] = 80, - [125] = 78, - [126] = 77, - [127] = 76, - [128] = 75, - [129] = 74, - [130] = 73, - [131] = 94, - [132] = 88, - [133] = 72, - [134] = 70, - [135] = 103, - [136] = 102, - [137] = 69, - [138] = 101, - [139] = 98, - [140] = 96, - [141] = 85, - [142] = 71, - [143] = 67, - [144] = 91, - [145] = 145, - [146] = 145, - [147] = 147, - [148] = 148, - [149] = 149, - [150] = 150, - [151] = 149, - [152] = 68, + [107] = 107, + [108] = 108, + [109] = 109, + [110] = 110, + [111] = 93, + [112] = 88, + [113] = 110, + [114] = 70, + [115] = 82, + [116] = 106, + [117] = 107, + [118] = 81, + [119] = 69, + [120] = 101, + [121] = 104, + [122] = 99, + [123] = 103, + [124] = 100, + [125] = 98, + [126] = 80, + [127] = 78, + [128] = 77, + [129] = 96, + [130] = 95, + [131] = 90, + [132] = 97, + [133] = 73, + [134] = 94, + [135] = 83, + [136] = 105, + [137] = 71, + [138] = 74, + [139] = 109, + [140] = 92, + [141] = 108, + [142] = 87, + [143] = 75, + [144] = 76, + [145] = 79, + [146] = 86, + [147] = 102, + [148] = 91, + [149] = 84, + [150] = 85, + [151] = 151, + [152] = 151, [153] = 153, [154] = 154, [155] = 155, - [156] = 156, + [156] = 154, [157] = 157, [158] = 158, - [159] = 157, - [160] = 156, + [159] = 159, + [160] = 89, [161] = 161, [162] = 162, - [163] = 162, + [163] = 158, [164] = 164, - [165] = 164, - [166] = 166, + [165] = 165, + [166] = 164, [167] = 167, [168] = 167, - [169] = 166, + [169] = 169, [170] = 170, [171] = 171, [172] = 170, - [173] = 173, + [173] = 171, [174] = 174, [175] = 175, - [176] = 176, - [177] = 177, + [176] = 174, + [177] = 175, [178] = 178, - [179] = 177, + [179] = 178, [180] = 180, [181] = 181, [182] = 182, @@ -835,42 +854,52 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [186] = 186, [187] = 187, [188] = 188, - [189] = 176, + [189] = 183, [190] = 190, - [191] = 186, - [192] = 180, - [193] = 193, + [191] = 191, + [192] = 192, + [193] = 188, [194] = 194, - [195] = 173, - [196] = 183, - [197] = 174, - [198] = 188, - [199] = 185, - [200] = 193, + [195] = 181, + [196] = 196, + [197] = 185, + [198] = 186, + [199] = 199, + [200] = 190, [201] = 201, [202] = 202, - [203] = 203, + [203] = 202, [204] = 204, - [205] = 205, - [206] = 206, - [207] = 207, + [205] = 191, + [206] = 182, + [207] = 194, [208] = 208, [209] = 209, [210] = 210, [211] = 211, - [212] = 208, + [212] = 212, [213] = 213, [214] = 214, - [215] = 210, - [216] = 214, + [215] = 215, + [216] = 216, [217] = 217, [218] = 218, - [219] = 218, - [220] = 207, + [219] = 219, + [220] = 219, [221] = 221, [222] = 222, - [223] = 213, - [224] = 209, + [223] = 223, + [224] = 224, + [225] = 225, + [226] = 215, + [227] = 227, + [228] = 217, + [229] = 216, + [230] = 218, + [231] = 231, + [232] = 222, + [233] = 224, + [234] = 223, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -878,234 +907,313 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(10); + if (eof) ADVANCE(16); ADVANCE_MAP( - '!', 35, - '"', 2, - '#', 12, - '&', 45, - '(', 25, - ')', 26, - '*', 42, - '+', 41, - ',', 23, - '-', 34, - '.', 21, - '/', 44, - ':', 28, - ';', 11, - '<', 32, - '=', 20, - '>', 30, - '[', 22, - ']', 24, - '_', 29, - '{', 18, - '|', 6, - '}', 19, + '!', 44, + '"', 3, + '#', 18, + '&', 54, + '(', 33, + ')', 34, + '*', 51, + '+', 50, + ',', 30, + '-', 42, + '.', 28, + '/', 53, + ':', 36, + ';', 17, + '<', 40, + '=', 26, + '>', 38, + '[', 29, + ']', 31, + '_', 37, + '{', 24, + '|', 11, + '}', 25, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(0); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(14); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(20); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(16); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(22); END_STATE(); case 1: ADVANCE_MAP( - '!', 4, - '#', 12, - '&', 45, - '(', 25, - ')', 26, - '*', 42, - '+', 41, - ',', 23, - '-', 34, - '.', 21, - '/', 43, - ':', 28, - ';', 11, - '<', 32, - '=', 5, - '>', 30, - ']', 24, - '{', 18, - '|', 6, - '}', 19, + '!', 43, + '"', 3, + '#', 18, + '(', 33, + '-', 42, + '.', 4, + '/', 10, + '<', 40, + '=', 9, + '>', 38, + '[', 29, + ']', 31, + '{', 24, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ' || lookahead == 0x200b || lookahead == 0x2060 || lookahead == 0xfeff) SKIP(1); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(20); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(16); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(22); END_STATE(); case 2: - if (lookahead == '"') ADVANCE(13); - if (lookahead == '\\') ADVANCE(8); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(2); + ADVANCE_MAP( + '!', 7, + '#', 18, + '&', 54, + '(', 33, + ')', 34, + '*', 51, + '+', 50, + ',', 30, + '-', 42, + '.', 27, + '/', 52, + ':', 36, + ';', 17, + '<', 40, + '=', 8, + '>', 38, + ']', 31, + '{', 24, + '|', 11, + '}', 25, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == 0x200b || + lookahead == 0x2060 || + lookahead == 0xfeff) SKIP(2); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(22); END_STATE(); case 3: - if (lookahead == '/') ADVANCE(17); - if (lookahead == '\\') ADVANCE(9); + if (lookahead == '"') ADVANCE(19); + if (lookahead == '\\') ADVANCE(13); if (lookahead != 0 && lookahead != '\n') ADVANCE(3); END_STATE(); case 4: - if (lookahead == '=') ADVANCE(39); + if (lookahead == '.') ADVANCE(5); END_STATE(); case 5: - if (lookahead == '=') ADVANCE(38); - if (lookahead == '>') ADVANCE(27); + if (lookahead == '.') ADVANCE(32); END_STATE(); case 6: - if (lookahead == '|') ADVANCE(36); + if (lookahead == '/') ADVANCE(23); + if (lookahead == '\\') ADVANCE(14); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(6); END_STATE(); case 7: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(15); + if (lookahead == '=') ADVANCE(48); END_STATE(); case 8: - if (lookahead != 0 && - lookahead != '\n') ADVANCE(2); + if (lookahead == '=') ADVANCE(47); END_STATE(); case 9: + if (lookahead == '>') ADVANCE(35); + END_STATE(); + case 10: + if (lookahead == '\\') ADVANCE(14); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '/') ADVANCE(6); + END_STATE(); + case 11: + if (lookahead == '|') ADVANCE(45); + END_STATE(); + case 12: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(21); + END_STATE(); + case 13: if (lookahead != 0 && lookahead != '\n') ADVANCE(3); END_STATE(); - case 10: - ACCEPT_TOKEN(ts_builtin_sym_end); - END_STATE(); - case 11: - ACCEPT_TOKEN(anon_sym_SEMI); - END_STATE(); - case 12: - ACCEPT_TOKEN(sym_comment); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(12); - END_STATE(); - case 13: - ACCEPT_TOKEN(sym_string); - END_STATE(); case 14: - ACCEPT_TOKEN(sym_integer); - if (lookahead == '.') ADVANCE(7); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(14); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(6); END_STATE(); case 15: - ACCEPT_TOKEN(sym_float); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(15); + if (eof) ADVANCE(16); + ADVANCE_MAP( + '!', 44, + '"', 3, + '#', 18, + '&', 54, + '(', 33, + '*', 51, + '+', 50, + '-', 42, + '.', 27, + '/', 53, + ';', 17, + '<', 40, + '=', 26, + '>', 38, + '[', 29, + '{', 24, + '|', 11, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == 0x200b || + lookahead == 0x2060 || + lookahead == 0xfeff) SKIP(15); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(20); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(22); END_STATE(); case 16: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 17: + ACCEPT_TOKEN(anon_sym_SEMI); + END_STATE(); + case 18: + ACCEPT_TOKEN(sym_comment); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(18); + END_STATE(); + case 19: + ACCEPT_TOKEN(sym_string); + END_STATE(); + case 20: + ACCEPT_TOKEN(sym_integer); + if (lookahead == '.') ADVANCE(12); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(20); + END_STATE(); + case 21: + ACCEPT_TOKEN(sym_float); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(21); + END_STATE(); + case 22: ACCEPT_TOKEN(sym_identifier); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(16); - END_STATE(); - case 17: - ACCEPT_TOKEN(sym_regex_literal); - END_STATE(); - case 18: - ACCEPT_TOKEN(anon_sym_LBRACE); - END_STATE(); - case 19: - ACCEPT_TOKEN(anon_sym_RBRACE); - END_STATE(); - case 20: - ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(38); - END_STATE(); - case 21: - ACCEPT_TOKEN(anon_sym_DOT); - END_STATE(); - case 22: - ACCEPT_TOKEN(anon_sym_LBRACK); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(22); END_STATE(); case 23: - ACCEPT_TOKEN(anon_sym_COMMA); + ACCEPT_TOKEN(sym_regex_literal); END_STATE(); case 24: - ACCEPT_TOKEN(anon_sym_RBRACK); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 25: - ACCEPT_TOKEN(anon_sym_LPAREN); + ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 26: - ACCEPT_TOKEN(anon_sym_RPAREN); + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(47); END_STATE(); case 27: - ACCEPT_TOKEN(anon_sym_EQ_GT); + ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); case 28: - ACCEPT_TOKEN(anon_sym_COLON); + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(5); END_STATE(); case 29: - ACCEPT_TOKEN(anon_sym__); + ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); case 30: - ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(31); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 31: - ACCEPT_TOKEN(anon_sym_GT_EQ); + ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 32: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '=') ADVANCE(33); + ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); END_STATE(); case 33: - ACCEPT_TOKEN(anon_sym_LT_EQ); + ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 34: - ACCEPT_TOKEN(anon_sym_DASH); + ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 35: - ACCEPT_TOKEN(anon_sym_BANG); - if (lookahead == '=') ADVANCE(39); + ACCEPT_TOKEN(anon_sym_EQ_GT); END_STATE(); case 36: - ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 37: - ACCEPT_TOKEN(anon_sym_AMP_AMP); + ACCEPT_TOKEN(anon_sym__); END_STATE(); case 38: - ACCEPT_TOKEN(anon_sym_EQ_EQ); + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(39); END_STATE(); case 39: - ACCEPT_TOKEN(anon_sym_BANG_EQ); + ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); case 40: - ACCEPT_TOKEN(anon_sym_PLUS_PLUS); + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '=') ADVANCE(41); END_STATE(); case 41: - ACCEPT_TOKEN(anon_sym_PLUS); - if (lookahead == '+') ADVANCE(40); + ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); case 42: - ACCEPT_TOKEN(anon_sym_STAR); + ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); case 43: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '/') ADVANCE(46); + ACCEPT_TOKEN(anon_sym_BANG); END_STATE(); case 44: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '/') ADVANCE(46); - if (lookahead == '\\') ADVANCE(9); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(3); + ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(48); END_STATE(); case 45: - ACCEPT_TOKEN(anon_sym_AMP); - if (lookahead == '&') ADVANCE(37); + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); END_STATE(); case 46: + ACCEPT_TOKEN(anon_sym_AMP_AMP); + END_STATE(); + case 47: + ACCEPT_TOKEN(anon_sym_EQ_EQ); + END_STATE(); + case 48: + ACCEPT_TOKEN(anon_sym_BANG_EQ); + END_STATE(); + case 49: + ACCEPT_TOKEN(anon_sym_PLUS_PLUS); + END_STATE(); + case 50: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(49); + END_STATE(); + case 51: + ACCEPT_TOKEN(anon_sym_STAR); + END_STATE(); + case 52: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '/') ADVANCE(55); + END_STATE(); + case 53: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '/') ADVANCE(55); + if (lookahead == '\\') ADVANCE(14); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(6); + END_STATE(); + case 54: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(46); + END_STATE(); + case 55: ACCEPT_TOKEN(anon_sym_SLASH_SLASH); END_STATE(); default: @@ -1242,9 +1350,9 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [9] = {.lex_state = 0}, [10] = {.lex_state = 0}, [11] = {.lex_state = 0}, - [12] = {.lex_state = 0}, + [12] = {.lex_state = 1}, [13] = {.lex_state = 0}, - [14] = {.lex_state = 0}, + [14] = {.lex_state = 1}, [15] = {.lex_state = 0}, [16] = {.lex_state = 0}, [17] = {.lex_state = 0}, @@ -1298,107 +1406,107 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [65] = {.lex_state = 0}, [66] = {.lex_state = 0}, [67] = {.lex_state = 0}, - [68] = {.lex_state = 0}, - [69] = {.lex_state = 0}, - [70] = {.lex_state = 0}, - [71] = {.lex_state = 0}, - [72] = {.lex_state = 0}, - [73] = {.lex_state = 0}, - [74] = {.lex_state = 0}, - [75] = {.lex_state = 0}, - [76] = {.lex_state = 0}, - [77] = {.lex_state = 0}, - [78] = {.lex_state = 0}, - [79] = {.lex_state = 0}, - [80] = {.lex_state = 0}, - [81] = {.lex_state = 0}, - [82] = {.lex_state = 0}, - [83] = {.lex_state = 0}, - [84] = {.lex_state = 0}, - [85] = {.lex_state = 0}, - [86] = {.lex_state = 0}, - [87] = {.lex_state = 0}, - [88] = {.lex_state = 0}, - [89] = {.lex_state = 0}, - [90] = {.lex_state = 0}, - [91] = {.lex_state = 0}, - [92] = {.lex_state = 0}, - [93] = {.lex_state = 0}, - [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}, - [106] = {.lex_state = 0}, - [107] = {.lex_state = 1}, - [108] = {.lex_state = 1}, - [109] = {.lex_state = 1}, - [110] = {.lex_state = 1}, - [111] = {.lex_state = 1}, - [112] = {.lex_state = 1}, - [113] = {.lex_state = 1}, - [114] = {.lex_state = 1}, - [115] = {.lex_state = 1}, - [116] = {.lex_state = 1}, - [117] = {.lex_state = 1}, - [118] = {.lex_state = 1}, - [119] = {.lex_state = 1}, - [120] = {.lex_state = 1}, - [121] = {.lex_state = 1}, - [122] = {.lex_state = 1}, - [123] = {.lex_state = 1}, - [124] = {.lex_state = 1}, - [125] = {.lex_state = 1}, - [126] = {.lex_state = 1}, - [127] = {.lex_state = 1}, - [128] = {.lex_state = 1}, - [129] = {.lex_state = 1}, - [130] = {.lex_state = 1}, - [131] = {.lex_state = 1}, - [132] = {.lex_state = 1}, - [133] = {.lex_state = 1}, - [134] = {.lex_state = 1}, - [135] = {.lex_state = 1}, - [136] = {.lex_state = 1}, - [137] = {.lex_state = 1}, - [138] = {.lex_state = 1}, - [139] = {.lex_state = 1}, - [140] = {.lex_state = 1}, - [141] = {.lex_state = 1}, - [142] = {.lex_state = 1}, - [143] = {.lex_state = 1}, - [144] = {.lex_state = 1}, - [145] = {.lex_state = 1}, - [146] = {.lex_state = 1}, - [147] = {.lex_state = 1}, - [148] = {.lex_state = 1}, - [149] = {.lex_state = 1}, - [150] = {.lex_state = 0}, - [151] = {.lex_state = 1}, - [152] = {.lex_state = 1}, - [153] = {.lex_state = 0}, - [154] = {.lex_state = 1}, - [155] = {.lex_state = 1}, - [156] = {.lex_state = 1}, - [157] = {.lex_state = 1}, - [158] = {.lex_state = 1}, - [159] = {.lex_state = 1}, - [160] = {.lex_state = 1}, - [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}, + [68] = {.lex_state = 15}, + [69] = {.lex_state = 15}, + [70] = {.lex_state = 15}, + [71] = {.lex_state = 15}, + [72] = {.lex_state = 15}, + [73] = {.lex_state = 15}, + [74] = {.lex_state = 15}, + [75] = {.lex_state = 15}, + [76] = {.lex_state = 15}, + [77] = {.lex_state = 15}, + [78] = {.lex_state = 15}, + [79] = {.lex_state = 15}, + [80] = {.lex_state = 15}, + [81] = {.lex_state = 15}, + [82] = {.lex_state = 15}, + [83] = {.lex_state = 15}, + [84] = {.lex_state = 15}, + [85] = {.lex_state = 15}, + [86] = {.lex_state = 15}, + [87] = {.lex_state = 15}, + [88] = {.lex_state = 15}, + [89] = {.lex_state = 15}, + [90] = {.lex_state = 15}, + [91] = {.lex_state = 15}, + [92] = {.lex_state = 15}, + [93] = {.lex_state = 15}, + [94] = {.lex_state = 15}, + [95] = {.lex_state = 15}, + [96] = {.lex_state = 15}, + [97] = {.lex_state = 15}, + [98] = {.lex_state = 15}, + [99] = {.lex_state = 15}, + [100] = {.lex_state = 15}, + [101] = {.lex_state = 15}, + [102] = {.lex_state = 15}, + [103] = {.lex_state = 15}, + [104] = {.lex_state = 15}, + [105] = {.lex_state = 15}, + [106] = {.lex_state = 15}, + [107] = {.lex_state = 15}, + [108] = {.lex_state = 15}, + [109] = {.lex_state = 15}, + [110] = {.lex_state = 15}, + [111] = {.lex_state = 2}, + [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 = 2}, + [146] = {.lex_state = 2}, + [147] = {.lex_state = 2}, + [148] = {.lex_state = 2}, + [149] = {.lex_state = 2}, + [150] = {.lex_state = 2}, + [151] = {.lex_state = 2}, + [152] = {.lex_state = 2}, + [153] = {.lex_state = 2}, + [154] = {.lex_state = 2}, + [155] = {.lex_state = 2}, + [156] = {.lex_state = 2}, + [157] = {.lex_state = 0}, + [158] = {.lex_state = 2}, + [159] = {.lex_state = 0}, + [160] = {.lex_state = 2}, + [161] = {.lex_state = 2}, + [162] = {.lex_state = 2}, + [163] = {.lex_state = 2}, + [164] = {.lex_state = 2}, + [165] = {.lex_state = 2}, + [166] = {.lex_state = 2}, + [167] = {.lex_state = 2}, + [168] = {.lex_state = 2}, [169] = {.lex_state = 0}, [170] = {.lex_state = 0}, [171] = {.lex_state = 0}, @@ -1431,30 +1539,40 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [198] = {.lex_state = 0}, [199] = {.lex_state = 0}, [200] = {.lex_state = 0}, - [201] = {.lex_state = 0}, + [201] = {.lex_state = 15}, [202] = {.lex_state = 0}, [203] = {.lex_state = 0}, - [204] = {.lex_state = 0}, + [204] = {.lex_state = 15}, [205] = {.lex_state = 0}, [206] = {.lex_state = 0}, [207] = {.lex_state = 0}, - [208] = {.lex_state = 1}, - [209] = {.lex_state = 1}, - [210] = {.lex_state = 1}, + [208] = {.lex_state = 15}, + [209] = {.lex_state = 0}, + [210] = {.lex_state = 15}, [211] = {.lex_state = 0}, - [212] = {.lex_state = 1}, - [213] = {.lex_state = 1}, + [212] = {.lex_state = 0}, + [213] = {.lex_state = 0}, [214] = {.lex_state = 0}, - [215] = {.lex_state = 1}, + [215] = {.lex_state = 0}, [216] = {.lex_state = 0}, [217] = {.lex_state = 0}, - [218] = {.lex_state = 0}, - [219] = {.lex_state = 0}, - [220] = {.lex_state = 0}, + [218] = {.lex_state = 1}, + [219] = {.lex_state = 1}, + [220] = {.lex_state = 1}, [221] = {.lex_state = 0}, - [222] = {.lex_state = 0}, + [222] = {.lex_state = 1}, [223] = {.lex_state = 1}, - [224] = {.lex_state = 1}, + [224] = {.lex_state = 0}, + [225] = {.lex_state = 0}, + [226] = {.lex_state = 0}, + [227] = {.lex_state = 0}, + [228] = {.lex_state = 0}, + [229] = {.lex_state = 0}, + [230] = {.lex_state = 1}, + [231] = {.lex_state = 0}, + [232] = {.lex_state = 1}, + [233] = {.lex_state = 0}, + [234] = {.lex_state = 1}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -1476,6 +1594,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1), [anon_sym_let] = ACTIONS(1), [anon_sym_in] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), @@ -1503,27 +1622,28 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_default] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(217), - [sym__statement] = STATE(3), - [sym__expression] = STATE(92), - [sym_literal] = STATE(92), - [sym_boolean] = STATE(88), - [sym_object] = STATE(92), - [sym_field_definition] = STATE(150), - [sym_field_path] = STATE(214), - [sym_array] = STATE(92), - [sym_let_expression] = STATE(92), - [sym_function_expression] = STATE(92), - [sym_match_expression] = STATE(92), - [sym_import_expression] = STATE(92), - [sym_parenthesized_expression] = STATE(92), - [sym_call_expression] = STATE(92), - [sym_path_expression] = STATE(92), - [sym_comparison_constraint] = STATE(92), - [sym_unary_expression] = STATE(92), - [sym_binary_expression] = STATE(92), - [sym_default_expression] = STATE(92), - [aux_sym_source_file_repeat1] = STATE(3), + [sym_source_file] = STATE(225), + [sym__statement] = STATE(2), + [sym__expression] = STATE(72), + [sym_literal] = STATE(72), + [sym_boolean] = STATE(71), + [sym_object] = STATE(72), + [sym_field_definition] = STATE(157), + [sym_field_path] = STATE(217), + [sym_array] = STATE(72), + [sym_array_constraint] = 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), + [aux_sym_source_file_repeat1] = STATE(2), [ts_builtin_sym_end] = ACTIONS(5), [sym_identifier] = ACTIONS(7), [sym_comment] = ACTIONS(3), @@ -1547,70 +1667,28 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(33), }, [2] = { - [sym__statement] = STATE(2), - [sym__expression] = STATE(92), - [sym_literal] = STATE(92), - [sym_boolean] = STATE(88), - [sym_object] = STATE(92), - [sym_field_definition] = STATE(150), - [sym_field_path] = STATE(214), - [sym_array] = STATE(92), - [sym_let_expression] = STATE(92), - [sym_function_expression] = STATE(92), - [sym_match_expression] = STATE(92), - [sym_import_expression] = STATE(92), - [sym_parenthesized_expression] = STATE(92), - [sym_call_expression] = STATE(92), - [sym_path_expression] = STATE(92), - [sym_comparison_constraint] = STATE(92), - [sym_unary_expression] = STATE(92), - [sym_binary_expression] = STATE(92), - [sym_default_expression] = STATE(92), - [aux_sym_source_file_repeat1] = STATE(2), + [sym__statement] = STATE(3), + [sym__expression] = STATE(72), + [sym_literal] = STATE(72), + [sym_boolean] = STATE(71), + [sym_object] = STATE(72), + [sym_field_definition] = STATE(157), + [sym_field_path] = STATE(217), + [sym_array] = STATE(72), + [sym_array_constraint] = 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), + [aux_sym_source_file_repeat1] = STATE(3), [ts_builtin_sym_end] = ACTIONS(35), - [sym_identifier] = ACTIONS(37), - [sym_comment] = ACTIONS(3), - [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), - [anon_sym_BANG] = ACTIONS(76), - }, - [3] = { - [sym__statement] = STATE(2), - [sym__expression] = STATE(92), - [sym_literal] = STATE(92), - [sym_boolean] = STATE(88), - [sym_object] = STATE(92), - [sym_field_definition] = STATE(150), - [sym_field_path] = STATE(214), - [sym_array] = STATE(92), - [sym_let_expression] = STATE(92), - [sym_function_expression] = STATE(92), - [sym_match_expression] = STATE(92), - [sym_import_expression] = STATE(92), - [sym_parenthesized_expression] = STATE(92), - [sym_call_expression] = STATE(92), - [sym_path_expression] = STATE(92), - [sym_comparison_constraint] = STATE(92), - [sym_unary_expression] = STATE(92), - [sym_binary_expression] = STATE(92), - [sym_default_expression] = STATE(92), - [aux_sym_source_file_repeat1] = STATE(2), - [ts_builtin_sym_end] = ACTIONS(79), [sym_identifier] = ACTIONS(7), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(9), @@ -1632,24 +1710,69 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DASH] = ACTIONS(33), [anon_sym_BANG] = ACTIONS(33), }, + [3] = { + [sym__statement] = STATE(3), + [sym__expression] = STATE(72), + [sym_literal] = STATE(72), + [sym_boolean] = STATE(71), + [sym_object] = STATE(72), + [sym_field_definition] = STATE(157), + [sym_field_path] = STATE(217), + [sym_array] = STATE(72), + [sym_array_constraint] = 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), + [aux_sym_source_file_repeat1] = STATE(3), + [ts_builtin_sym_end] = ACTIONS(37), + [sym_identifier] = ACTIONS(39), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(42), + [anon_sym_false] = ACTIONS(42), + [sym_string] = ACTIONS(45), + [sym_integer] = ACTIONS(48), + [sym_float] = ACTIONS(45), + [sym_regex_literal] = ACTIONS(51), + [anon_sym_LBRACE] = ACTIONS(54), + [anon_sym_LBRACK] = ACTIONS(57), + [anon_sym_let] = ACTIONS(60), + [anon_sym_LPAREN] = ACTIONS(63), + [anon_sym_match] = ACTIONS(66), + [anon_sym_import] = ACTIONS(69), + [anon_sym_GT] = ACTIONS(72), + [anon_sym_GT_EQ] = ACTIONS(75), + [anon_sym_LT] = ACTIONS(72), + [anon_sym_LT_EQ] = ACTIONS(75), + [anon_sym_DASH] = ACTIONS(78), + [anon_sym_BANG] = ACTIONS(78), + }, [4] = { - [sym__expression] = STATE(158), - [sym_literal] = STATE(158), - [sym_boolean] = STATE(132), - [sym_object] = STATE(158), - [sym_array] = STATE(158), - [sym_let_expression] = STATE(158), - [sym_function_expression] = STATE(158), - [sym_match_expression] = STATE(158), - [sym_match_arm] = STATE(197), - [sym_import_expression] = STATE(158), - [sym_parenthesized_expression] = STATE(158), - [sym_call_expression] = STATE(158), - [sym_path_expression] = STATE(158), - [sym_comparison_constraint] = STATE(158), - [sym_unary_expression] = STATE(158), - [sym_binary_expression] = STATE(158), - [sym_default_expression] = STATE(158), + [sym__expression] = STATE(165), + [sym_literal] = STATE(165), + [sym_boolean] = STATE(137), + [sym_object] = STATE(165), + [sym_array] = STATE(165), + [sym_array_constraint] = STATE(165), + [sym_let_expression] = STATE(165), + [sym_function_expression] = STATE(165), + [sym_match_expression] = STATE(165), + [sym_match_arm] = STATE(213), + [sym_import_expression] = STATE(165), + [sym_parenthesized_expression] = STATE(165), + [sym_call_expression] = STATE(165), + [sym_path_expression] = STATE(165), + [sym_comparison_constraint] = STATE(165), + [sym_unary_expression] = STATE(165), + [sym_binary_expression] = STATE(165), + [sym_default_expression] = STATE(165), [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -1674,23 +1797,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [5] = { - [sym__expression] = STATE(158), - [sym_literal] = STATE(158), - [sym_boolean] = STATE(132), - [sym_object] = STATE(158), - [sym_array] = STATE(158), - [sym_let_expression] = STATE(158), - [sym_function_expression] = STATE(158), - [sym_match_expression] = STATE(158), - [sym_match_arm] = STATE(202), - [sym_import_expression] = STATE(158), - [sym_parenthesized_expression] = STATE(158), - [sym_call_expression] = STATE(158), - [sym_path_expression] = STATE(158), - [sym_comparison_constraint] = STATE(158), - [sym_unary_expression] = STATE(158), - [sym_binary_expression] = STATE(158), - [sym_default_expression] = STATE(158), + [sym__expression] = STATE(165), + [sym_literal] = STATE(165), + [sym_boolean] = STATE(137), + [sym_object] = STATE(165), + [sym_array] = STATE(165), + [sym_array_constraint] = STATE(165), + [sym_let_expression] = STATE(165), + [sym_function_expression] = STATE(165), + [sym_match_expression] = STATE(165), + [sym_match_arm] = STATE(186), + [sym_import_expression] = STATE(165), + [sym_parenthesized_expression] = STATE(165), + [sym_call_expression] = STATE(165), + [sym_path_expression] = STATE(165), + [sym_comparison_constraint] = STATE(165), + [sym_unary_expression] = STATE(165), + [sym_binary_expression] = STATE(165), + [sym_default_expression] = STATE(165), [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -1715,23 +1839,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [6] = { - [sym__expression] = STATE(158), - [sym_literal] = STATE(158), - [sym_boolean] = STATE(132), - [sym_object] = STATE(158), - [sym_array] = STATE(158), - [sym_let_expression] = STATE(158), - [sym_function_expression] = STATE(158), - [sym_match_expression] = STATE(158), - [sym_match_arm] = STATE(202), - [sym_import_expression] = STATE(158), - [sym_parenthesized_expression] = STATE(158), - [sym_call_expression] = STATE(158), - [sym_path_expression] = STATE(158), - [sym_comparison_constraint] = STATE(158), - [sym_unary_expression] = STATE(158), - [sym_binary_expression] = STATE(158), - [sym_default_expression] = STATE(158), + [sym__expression] = STATE(165), + [sym_literal] = STATE(165), + [sym_boolean] = STATE(137), + [sym_object] = STATE(165), + [sym_array] = STATE(165), + [sym_array_constraint] = STATE(165), + [sym_let_expression] = STATE(165), + [sym_function_expression] = STATE(165), + [sym_match_expression] = STATE(165), + [sym_match_arm] = STATE(213), + [sym_import_expression] = STATE(165), + [sym_parenthesized_expression] = STATE(165), + [sym_call_expression] = STATE(165), + [sym_path_expression] = STATE(165), + [sym_comparison_constraint] = STATE(165), + [sym_unary_expression] = STATE(165), + [sym_binary_expression] = STATE(165), + [sym_default_expression] = STATE(165), [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -1756,23 +1881,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [7] = { - [sym__expression] = STATE(158), - [sym_literal] = STATE(158), - [sym_boolean] = STATE(132), - [sym_object] = STATE(158), - [sym_array] = STATE(158), - [sym_let_expression] = STATE(158), - [sym_function_expression] = STATE(158), - [sym_match_expression] = STATE(158), - [sym_match_arm] = STATE(202), - [sym_import_expression] = STATE(158), - [sym_parenthesized_expression] = STATE(158), - [sym_call_expression] = STATE(158), - [sym_path_expression] = STATE(158), - [sym_comparison_constraint] = STATE(158), - [sym_unary_expression] = STATE(158), - [sym_binary_expression] = STATE(158), - [sym_default_expression] = STATE(158), + [sym__expression] = STATE(165), + [sym_literal] = STATE(165), + [sym_boolean] = STATE(137), + [sym_object] = STATE(165), + [sym_array] = STATE(165), + [sym_array_constraint] = STATE(165), + [sym_let_expression] = STATE(165), + [sym_function_expression] = STATE(165), + [sym_match_expression] = STATE(165), + [sym_match_arm] = STATE(213), + [sym_import_expression] = STATE(165), + [sym_parenthesized_expression] = STATE(165), + [sym_call_expression] = STATE(165), + [sym_path_expression] = STATE(165), + [sym_comparison_constraint] = STATE(165), + [sym_unary_expression] = STATE(165), + [sym_binary_expression] = STATE(165), + [sym_default_expression] = STATE(165), [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -1797,23 +1923,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [8] = { - [sym__expression] = STATE(158), - [sym_literal] = STATE(158), - [sym_boolean] = STATE(132), - [sym_object] = STATE(158), - [sym_array] = STATE(158), - [sym_let_expression] = STATE(158), - [sym_function_expression] = STATE(158), - [sym_match_expression] = STATE(158), - [sym_match_arm] = STATE(202), - [sym_import_expression] = STATE(158), - [sym_parenthesized_expression] = STATE(158), - [sym_call_expression] = STATE(158), - [sym_path_expression] = STATE(158), - [sym_comparison_constraint] = STATE(158), - [sym_unary_expression] = STATE(158), - [sym_binary_expression] = STATE(158), - [sym_default_expression] = STATE(158), + [sym__expression] = STATE(165), + [sym_literal] = STATE(165), + [sym_boolean] = STATE(137), + [sym_object] = STATE(165), + [sym_array] = STATE(165), + [sym_array_constraint] = STATE(165), + [sym_let_expression] = STATE(165), + [sym_function_expression] = STATE(165), + [sym_match_expression] = STATE(165), + [sym_match_arm] = STATE(213), + [sym_import_expression] = STATE(165), + [sym_parenthesized_expression] = STATE(165), + [sym_call_expression] = STATE(165), + [sym_path_expression] = STATE(165), + [sym_comparison_constraint] = STATE(165), + [sym_unary_expression] = STATE(165), + [sym_binary_expression] = STATE(165), + [sym_default_expression] = STATE(165), [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -1838,23 +1965,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [9] = { - [sym__expression] = STATE(158), - [sym_literal] = STATE(158), - [sym_boolean] = STATE(132), - [sym_object] = STATE(158), - [sym_array] = STATE(158), - [sym_let_expression] = STATE(158), - [sym_function_expression] = STATE(158), - [sym_match_expression] = STATE(158), - [sym_match_arm] = STATE(174), - [sym_import_expression] = STATE(158), - [sym_parenthesized_expression] = STATE(158), - [sym_call_expression] = STATE(158), - [sym_path_expression] = STATE(158), - [sym_comparison_constraint] = STATE(158), - [sym_unary_expression] = STATE(158), - [sym_binary_expression] = STATE(158), - [sym_default_expression] = STATE(158), + [sym__expression] = STATE(165), + [sym_literal] = STATE(165), + [sym_boolean] = STATE(137), + [sym_object] = STATE(165), + [sym_array] = STATE(165), + [sym_array_constraint] = STATE(165), + [sym_let_expression] = STATE(165), + [sym_function_expression] = STATE(165), + [sym_match_expression] = STATE(165), + [sym_match_arm] = STATE(198), + [sym_import_expression] = STATE(165), + [sym_parenthesized_expression] = STATE(165), + [sym_call_expression] = STATE(165), + [sym_path_expression] = STATE(165), + [sym_comparison_constraint] = STATE(165), + [sym_unary_expression] = STATE(165), + [sym_binary_expression] = STATE(165), + [sym_default_expression] = STATE(165), [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -1879,103 +2007,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [10] = { - [sym__expression] = STATE(157), - [sym_literal] = STATE(157), - [sym_boolean] = STATE(132), - [sym_object] = STATE(157), - [sym_array] = STATE(157), - [sym_let_expression] = STATE(157), - [sym_function_expression] = STATE(157), - [sym_parameter] = STATE(189), - [sym_match_expression] = STATE(157), - [sym_import_expression] = STATE(157), - [sym_parenthesized_expression] = STATE(157), - [sym_call_expression] = STATE(157), - [sym_path_expression] = STATE(157), - [sym_comparison_constraint] = STATE(157), - [sym_unary_expression] = STATE(157), - [sym_binary_expression] = STATE(157), - [sym_default_expression] = STATE(157), - [sym_identifier] = ACTIONS(123), - [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(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), - [anon_sym_BANG] = ACTIONS(111), - }, - [11] = { - [sym__expression] = STATE(159), - [sym_literal] = STATE(159), - [sym_boolean] = STATE(132), - [sym_object] = STATE(159), - [sym_array] = STATE(159), - [sym_let_expression] = STATE(159), - [sym_function_expression] = STATE(159), - [sym_parameter] = STATE(176), - [sym_match_expression] = STATE(159), - [sym_import_expression] = STATE(159), - [sym_parenthesized_expression] = STATE(159), - [sym_call_expression] = STATE(159), - [sym_path_expression] = STATE(159), - [sym_comparison_constraint] = STATE(159), - [sym_unary_expression] = STATE(159), - [sym_binary_expression] = STATE(159), - [sym_default_expression] = STATE(159), - [sym_identifier] = ACTIONS(123), - [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(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), - [anon_sym_BANG] = ACTIONS(111), - }, - [12] = { - [sym__expression] = STATE(158), - [sym_literal] = STATE(158), - [sym_boolean] = STATE(132), - [sym_object] = STATE(158), - [sym_array] = STATE(158), - [sym_let_expression] = STATE(158), - [sym_function_expression] = STATE(158), - [sym_match_expression] = STATE(158), - [sym_match_arm] = STATE(202), - [sym_import_expression] = STATE(158), - [sym_parenthesized_expression] = STATE(158), - [sym_call_expression] = STATE(158), - [sym_path_expression] = STATE(158), - [sym_comparison_constraint] = STATE(158), - [sym_unary_expression] = STATE(158), - [sym_binary_expression] = STATE(158), - [sym_default_expression] = STATE(158), + [sym__expression] = STATE(165), + [sym_literal] = STATE(165), + [sym_boolean] = STATE(137), + [sym_object] = STATE(165), + [sym_array] = STATE(165), + [sym_array_constraint] = STATE(165), + [sym_let_expression] = STATE(165), + [sym_function_expression] = STATE(165), + [sym_match_expression] = STATE(165), + [sym_match_arm] = STATE(213), + [sym_import_expression] = STATE(165), + [sym_parenthesized_expression] = STATE(165), + [sym_call_expression] = STATE(165), + [sym_path_expression] = STATE(165), + [sym_comparison_constraint] = STATE(165), + [sym_unary_expression] = STATE(165), + [sym_binary_expression] = STATE(165), + [sym_default_expression] = STATE(165), [sym_identifier] = ACTIONS(81), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -1998,34 +2047,77 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DASH] = ACTIONS(111), [anon_sym_BANG] = ACTIONS(111), }, - [13] = { - [sym__expression] = STATE(148), - [sym_literal] = STATE(148), - [sym_boolean] = STATE(132), - [sym_object] = STATE(148), - [sym_array] = STATE(148), - [sym_let_expression] = STATE(148), - [sym_function_expression] = STATE(148), - [sym_match_expression] = STATE(148), - [sym_import_expression] = STATE(148), - [sym_parenthesized_expression] = STATE(148), - [sym_call_expression] = STATE(148), - [sym_path_expression] = STATE(148), - [sym_comparison_constraint] = STATE(148), - [sym_unary_expression] = STATE(148), - [sym_binary_expression] = STATE(148), - [sym_default_expression] = STATE(148), - [sym_identifier] = ACTIONS(133), + [11] = { + [sym__expression] = STATE(166), + [sym_literal] = STATE(166), + [sym_boolean] = STATE(137), + [sym_object] = STATE(166), + [sym_array] = STATE(166), + [sym_array_constraint] = STATE(166), + [sym_let_expression] = STATE(166), + [sym_function_expression] = STATE(166), + [sym_parameter] = STATE(191), + [sym_match_expression] = STATE(166), + [sym_import_expression] = STATE(166), + [sym_parenthesized_expression] = STATE(166), + [sym_call_expression] = STATE(166), + [sym_path_expression] = STATE(166), + [sym_comparison_constraint] = STATE(166), + [sym_unary_expression] = STATE(166), + [sym_binary_expression] = STATE(166), + [sym_default_expression] = STATE(166), + [sym_identifier] = ACTIONS(123), [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(135), + [sym_regex_literal] = ACTIONS(125), [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_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), + [anon_sym_BANG] = ACTIONS(111), + }, + [12] = { + [sym__expression] = STATE(156), + [sym_literal] = STATE(156), + [sym_boolean] = STATE(137), + [sym_object] = STATE(156), + [sym_array] = STATE(156), + [sym_array_constraint] = STATE(156), + [sym_let_expression] = STATE(156), + [sym_function_expression] = STATE(156), + [sym_match_expression] = STATE(156), + [sym_import_expression] = STATE(156), + [sym_parenthesized_expression] = STATE(156), + [sym_call_expression] = STATE(156), + [sym_path_expression] = STATE(156), + [sym_comparison_constraint] = STATE(156), + [sym_unary_expression] = STATE(156), + [sym_binary_expression] = STATE(156), + [sym_default_expression] = STATE(156), + [sym_identifier] = ACTIONS(129), + [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(131), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_RBRACK] = ACTIONS(133), + [anon_sym_DOT_DOT_DOT] = ACTIONS(135), [anon_sym_let] = ACTIONS(97), [anon_sym_LPAREN] = ACTIONS(99), [anon_sym_match] = ACTIONS(101), @@ -2037,31 +2129,33 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DASH] = ACTIONS(111), [anon_sym_BANG] = ACTIONS(111), }, - [14] = { - [sym__expression] = STATE(148), - [sym_literal] = STATE(148), - [sym_boolean] = STATE(132), - [sym_object] = STATE(148), - [sym_array] = STATE(148), - [sym_let_expression] = STATE(148), - [sym_function_expression] = STATE(148), - [sym_match_expression] = STATE(148), - [sym_import_expression] = STATE(148), - [sym_parenthesized_expression] = STATE(148), - [sym_call_expression] = STATE(148), - [sym_path_expression] = STATE(148), - [sym_comparison_constraint] = STATE(148), - [sym_unary_expression] = STATE(148), - [sym_binary_expression] = STATE(148), - [sym_default_expression] = STATE(148), - [sym_identifier] = ACTIONS(133), + [13] = { + [sym__expression] = STATE(164), + [sym_literal] = STATE(164), + [sym_boolean] = STATE(137), + [sym_object] = STATE(164), + [sym_array] = STATE(164), + [sym_array_constraint] = STATE(164), + [sym_let_expression] = STATE(164), + [sym_function_expression] = STATE(164), + [sym_parameter] = STATE(205), + [sym_match_expression] = STATE(164), + [sym_import_expression] = STATE(164), + [sym_parenthesized_expression] = STATE(164), + [sym_call_expression] = STATE(164), + [sym_path_expression] = STATE(164), + [sym_comparison_constraint] = STATE(164), + [sym_unary_expression] = STATE(164), + [sym_binary_expression] = STATE(164), + [sym_default_expression] = STATE(164), + [sym_identifier] = ACTIONS(123), [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(135), + [sym_regex_literal] = ACTIONS(137), [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), [anon_sym_let] = ACTIONS(97), @@ -2076,23 +2170,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DASH] = ACTIONS(111), [anon_sym_BANG] = ACTIONS(111), }, - [15] = { - [sym__expression] = STATE(151), - [sym_literal] = STATE(151), - [sym_boolean] = STATE(132), - [sym_object] = STATE(151), - [sym_array] = STATE(151), - [sym_let_expression] = STATE(151), - [sym_function_expression] = STATE(151), - [sym_match_expression] = STATE(151), - [sym_import_expression] = STATE(151), - [sym_parenthesized_expression] = STATE(151), - [sym_call_expression] = STATE(151), - [sym_path_expression] = STATE(151), - [sym_comparison_constraint] = STATE(151), - [sym_unary_expression] = STATE(151), - [sym_binary_expression] = STATE(151), - [sym_default_expression] = STATE(151), + [14] = { + [sym__expression] = STATE(154), + [sym_literal] = STATE(154), + [sym_boolean] = STATE(137), + [sym_object] = STATE(154), + [sym_array] = STATE(154), + [sym_array_constraint] = STATE(154), + [sym_let_expression] = STATE(154), + [sym_function_expression] = STATE(154), + [sym_match_expression] = STATE(154), + [sym_import_expression] = STATE(154), + [sym_parenthesized_expression] = STATE(154), + [sym_call_expression] = STATE(154), + [sym_path_expression] = STATE(154), + [sym_comparison_constraint] = STATE(154), + [sym_unary_expression] = STATE(154), + [sym_binary_expression] = STATE(154), + [sym_default_expression] = STATE(154), [sym_identifier] = ACTIONS(141), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -2104,6 +2199,47 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), [anon_sym_RBRACK] = ACTIONS(145), + [anon_sym_DOT_DOT_DOT] = ACTIONS(147), + [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), + [anon_sym_BANG] = ACTIONS(111), + }, + [15] = { + [sym__expression] = STATE(155), + [sym_literal] = STATE(155), + [sym_boolean] = STATE(137), + [sym_object] = STATE(155), + [sym_array] = STATE(155), + [sym_array_constraint] = STATE(155), + [sym_let_expression] = STATE(155), + [sym_function_expression] = STATE(155), + [sym_match_expression] = STATE(155), + [sym_import_expression] = STATE(155), + [sym_parenthesized_expression] = STATE(155), + [sym_call_expression] = STATE(155), + [sym_path_expression] = STATE(155), + [sym_comparison_constraint] = STATE(155), + [sym_unary_expression] = STATE(155), + [sym_binary_expression] = STATE(155), + [sym_default_expression] = STATE(155), + [sym_identifier] = ACTIONS(149), + [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(151), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_RBRACK] = ACTIONS(153), [anon_sym_let] = ACTIONS(97), [anon_sym_LPAREN] = ACTIONS(99), [anon_sym_match] = ACTIONS(101), @@ -2116,35 +2252,36 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [16] = { - [sym__expression] = STATE(148), - [sym_literal] = STATE(148), - [sym_boolean] = STATE(132), - [sym_object] = STATE(148), - [sym_array] = STATE(148), - [sym_let_expression] = STATE(148), - [sym_function_expression] = STATE(148), - [sym_match_expression] = STATE(148), - [sym_import_expression] = STATE(148), - [sym_parenthesized_expression] = STATE(148), - [sym_call_expression] = STATE(148), - [sym_path_expression] = STATE(148), - [sym_comparison_constraint] = STATE(148), - [sym_unary_expression] = STATE(148), - [sym_binary_expression] = STATE(148), - [sym_default_expression] = STATE(148), - [sym_identifier] = ACTIONS(133), + [sym__expression] = STATE(155), + [sym_literal] = STATE(155), + [sym_boolean] = STATE(137), + [sym_object] = STATE(155), + [sym_array] = STATE(155), + [sym_array_constraint] = STATE(155), + [sym_let_expression] = STATE(155), + [sym_function_expression] = STATE(155), + [sym_match_expression] = STATE(155), + [sym_import_expression] = STATE(155), + [sym_parenthesized_expression] = STATE(155), + [sym_call_expression] = STATE(155), + [sym_path_expression] = STATE(155), + [sym_comparison_constraint] = STATE(155), + [sym_unary_expression] = STATE(155), + [sym_binary_expression] = STATE(155), + [sym_default_expression] = STATE(155), + [sym_identifier] = ACTIONS(149), [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(135), + [sym_regex_literal] = ACTIONS(151), [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), [anon_sym_let] = ACTIONS(97), [anon_sym_LPAREN] = ACTIONS(99), - [anon_sym_RPAREN] = ACTIONS(147), + [anon_sym_RPAREN] = ACTIONS(155), [anon_sym_match] = ACTIONS(101), [anon_sym_import] = ACTIONS(105), [anon_sym_GT] = ACTIONS(107), @@ -2155,33 +2292,34 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [17] = { - [sym__expression] = STATE(148), - [sym_literal] = STATE(148), - [sym_boolean] = STATE(132), - [sym_object] = STATE(148), - [sym_array] = STATE(148), - [sym_let_expression] = STATE(148), - [sym_function_expression] = STATE(148), - [sym_match_expression] = STATE(148), - [sym_import_expression] = STATE(148), - [sym_parenthesized_expression] = STATE(148), - [sym_call_expression] = STATE(148), - [sym_path_expression] = STATE(148), - [sym_comparison_constraint] = STATE(148), - [sym_unary_expression] = STATE(148), - [sym_binary_expression] = STATE(148), - [sym_default_expression] = STATE(148), - [sym_identifier] = ACTIONS(133), + [sym__expression] = STATE(155), + [sym_literal] = STATE(155), + [sym_boolean] = STATE(137), + [sym_object] = STATE(155), + [sym_array] = STATE(155), + [sym_array_constraint] = STATE(155), + [sym_let_expression] = STATE(155), + [sym_function_expression] = STATE(155), + [sym_match_expression] = STATE(155), + [sym_import_expression] = STATE(155), + [sym_parenthesized_expression] = STATE(155), + [sym_call_expression] = STATE(155), + [sym_path_expression] = STATE(155), + [sym_comparison_constraint] = STATE(155), + [sym_unary_expression] = STATE(155), + [sym_binary_expression] = STATE(155), + [sym_default_expression] = STATE(155), + [sym_identifier] = ACTIONS(149), [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(135), + [sym_regex_literal] = ACTIONS(151), [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), - [anon_sym_RBRACK] = ACTIONS(149), + [anon_sym_RBRACK] = ACTIONS(157), [anon_sym_let] = ACTIONS(97), [anon_sym_LPAREN] = ACTIONS(99), [anon_sym_match] = ACTIONS(101), @@ -2194,33 +2332,34 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [18] = { - [sym__expression] = STATE(148), - [sym_literal] = STATE(148), - [sym_boolean] = STATE(132), - [sym_object] = STATE(148), - [sym_array] = STATE(148), - [sym_let_expression] = STATE(148), - [sym_function_expression] = STATE(148), - [sym_match_expression] = STATE(148), - [sym_import_expression] = STATE(148), - [sym_parenthesized_expression] = STATE(148), - [sym_call_expression] = STATE(148), - [sym_path_expression] = STATE(148), - [sym_comparison_constraint] = STATE(148), - [sym_unary_expression] = STATE(148), - [sym_binary_expression] = STATE(148), - [sym_default_expression] = STATE(148), - [sym_identifier] = ACTIONS(133), + [sym__expression] = STATE(155), + [sym_literal] = STATE(155), + [sym_boolean] = STATE(137), + [sym_object] = STATE(155), + [sym_array] = STATE(155), + [sym_array_constraint] = STATE(155), + [sym_let_expression] = STATE(155), + [sym_function_expression] = STATE(155), + [sym_match_expression] = STATE(155), + [sym_import_expression] = STATE(155), + [sym_parenthesized_expression] = STATE(155), + [sym_call_expression] = STATE(155), + [sym_path_expression] = STATE(155), + [sym_comparison_constraint] = STATE(155), + [sym_unary_expression] = STATE(155), + [sym_binary_expression] = STATE(155), + [sym_default_expression] = STATE(155), + [sym_identifier] = ACTIONS(149), [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(135), + [sym_regex_literal] = ACTIONS(151), [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), - [anon_sym_RBRACK] = ACTIONS(151), + [anon_sym_RBRACK] = ACTIONS(159), [anon_sym_let] = ACTIONS(97), [anon_sym_LPAREN] = ACTIONS(99), [anon_sym_match] = ACTIONS(101), @@ -2233,35 +2372,36 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [19] = { - [sym__expression] = STATE(148), - [sym_literal] = STATE(148), - [sym_boolean] = STATE(132), - [sym_object] = STATE(148), - [sym_array] = STATE(148), - [sym_let_expression] = STATE(148), - [sym_function_expression] = STATE(148), - [sym_match_expression] = STATE(148), - [sym_import_expression] = STATE(148), - [sym_parenthesized_expression] = STATE(148), - [sym_call_expression] = STATE(148), - [sym_path_expression] = STATE(148), - [sym_comparison_constraint] = STATE(148), - [sym_unary_expression] = STATE(148), - [sym_binary_expression] = STATE(148), - [sym_default_expression] = STATE(148), - [sym_identifier] = ACTIONS(133), + [sym__expression] = STATE(152), + [sym_literal] = STATE(152), + [sym_boolean] = STATE(137), + [sym_object] = STATE(152), + [sym_array] = STATE(152), + [sym_array_constraint] = STATE(152), + [sym_let_expression] = STATE(152), + [sym_function_expression] = STATE(152), + [sym_match_expression] = STATE(152), + [sym_import_expression] = STATE(152), + [sym_parenthesized_expression] = STATE(152), + [sym_call_expression] = STATE(152), + [sym_path_expression] = STATE(152), + [sym_comparison_constraint] = STATE(152), + [sym_unary_expression] = STATE(152), + [sym_binary_expression] = STATE(152), + [sym_default_expression] = STATE(152), + [sym_identifier] = ACTIONS(161), [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(135), + [sym_regex_literal] = ACTIONS(163), [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_RPAREN] = ACTIONS(165), [anon_sym_match] = ACTIONS(101), [anon_sym_import] = ACTIONS(105), [anon_sym_GT] = ACTIONS(107), @@ -2272,35 +2412,36 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [20] = { - [sym__expression] = STATE(148), - [sym_literal] = STATE(148), - [sym_boolean] = STATE(132), - [sym_object] = STATE(148), - [sym_array] = STATE(148), - [sym_let_expression] = STATE(148), - [sym_function_expression] = STATE(148), - [sym_match_expression] = STATE(148), - [sym_import_expression] = STATE(148), - [sym_parenthesized_expression] = STATE(148), - [sym_call_expression] = STATE(148), - [sym_path_expression] = STATE(148), - [sym_comparison_constraint] = STATE(148), - [sym_unary_expression] = STATE(148), - [sym_binary_expression] = STATE(148), - [sym_default_expression] = STATE(148), - [sym_identifier] = ACTIONS(133), + [sym__expression] = STATE(155), + [sym_literal] = STATE(155), + [sym_boolean] = STATE(137), + [sym_object] = STATE(155), + [sym_array] = STATE(155), + [sym_array_constraint] = STATE(155), + [sym_let_expression] = STATE(155), + [sym_function_expression] = STATE(155), + [sym_match_expression] = STATE(155), + [sym_import_expression] = STATE(155), + [sym_parenthesized_expression] = STATE(155), + [sym_call_expression] = STATE(155), + [sym_path_expression] = STATE(155), + [sym_comparison_constraint] = STATE(155), + [sym_unary_expression] = STATE(155), + [sym_binary_expression] = STATE(155), + [sym_default_expression] = STATE(155), + [sym_identifier] = ACTIONS(149), [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(135), + [sym_regex_literal] = ACTIONS(151), [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), - [anon_sym_RBRACK] = ACTIONS(155), [anon_sym_let] = ACTIONS(97), [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_RPAREN] = ACTIONS(167), [anon_sym_match] = ACTIONS(101), [anon_sym_import] = ACTIONS(105), [anon_sym_GT] = ACTIONS(107), @@ -2311,108 +2452,31 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_BANG] = ACTIONS(111), }, [21] = { - [sym__expression] = STATE(148), - [sym_literal] = STATE(148), - [sym_boolean] = STATE(132), - [sym_object] = STATE(148), - [sym_array] = STATE(148), - [sym_let_expression] = STATE(148), - [sym_function_expression] = STATE(148), - [sym_match_expression] = STATE(148), - [sym_import_expression] = STATE(148), - [sym_parenthesized_expression] = STATE(148), - [sym_call_expression] = STATE(148), - [sym_path_expression] = STATE(148), - [sym_comparison_constraint] = STATE(148), - [sym_unary_expression] = STATE(148), - [sym_binary_expression] = STATE(148), - [sym_default_expression] = STATE(148), - [sym_identifier] = ACTIONS(133), + [sym__expression] = STATE(155), + [sym_literal] = STATE(155), + [sym_boolean] = STATE(137), + [sym_object] = STATE(155), + [sym_array] = STATE(155), + [sym_array_constraint] = STATE(155), + [sym_let_expression] = STATE(155), + [sym_function_expression] = STATE(155), + [sym_match_expression] = STATE(155), + [sym_import_expression] = STATE(155), + [sym_parenthesized_expression] = STATE(155), + [sym_call_expression] = STATE(155), + [sym_path_expression] = STATE(155), + [sym_comparison_constraint] = STATE(155), + [sym_unary_expression] = STATE(155), + [sym_binary_expression] = STATE(155), + [sym_default_expression] = STATE(155), + [sym_identifier] = ACTIONS(149), [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(135), - [anon_sym_LBRACE] = ACTIONS(91), - [anon_sym_LBRACK] = ACTIONS(95), - [anon_sym_let] = ACTIONS(97), - [anon_sym_LPAREN] = ACTIONS(99), - [anon_sym_RPAREN] = ACTIONS(157), - [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), - [anon_sym_BANG] = ACTIONS(111), - }, - [22] = { - [sym__expression] = STATE(146), - [sym_literal] = STATE(146), - [sym_boolean] = STATE(132), - [sym_object] = STATE(146), - [sym_array] = STATE(146), - [sym_let_expression] = STATE(146), - [sym_function_expression] = STATE(146), - [sym_match_expression] = STATE(146), - [sym_import_expression] = STATE(146), - [sym_parenthesized_expression] = STATE(146), - [sym_call_expression] = STATE(146), - [sym_path_expression] = STATE(146), - [sym_comparison_constraint] = STATE(146), - [sym_unary_expression] = STATE(146), - [sym_binary_expression] = STATE(146), - [sym_default_expression] = STATE(146), - [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), - [anon_sym_BANG] = ACTIONS(111), - }, - [23] = { - [sym__expression] = STATE(145), - [sym_literal] = STATE(145), - [sym_boolean] = STATE(132), - [sym_object] = STATE(145), - [sym_array] = STATE(145), - [sym_let_expression] = STATE(145), - [sym_function_expression] = STATE(145), - [sym_match_expression] = STATE(145), - [sym_import_expression] = STATE(145), - [sym_parenthesized_expression] = STATE(145), - [sym_call_expression] = STATE(145), - [sym_path_expression] = STATE(145), - [sym_comparison_constraint] = STATE(145), - [sym_unary_expression] = STATE(145), - [sym_binary_expression] = STATE(145), - [sym_default_expression] = STATE(145), - [sym_identifier] = ACTIONS(165), - [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(167), + [sym_regex_literal] = ACTIONS(151), [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), [anon_sym_let] = ACTIONS(97), @@ -2427,23 +2491,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_DASH] = ACTIONS(111), [anon_sym_BANG] = ACTIONS(111), }, - [24] = { - [sym__expression] = STATE(149), - [sym_literal] = STATE(149), - [sym_boolean] = STATE(132), - [sym_object] = STATE(149), - [sym_array] = STATE(149), - [sym_let_expression] = STATE(149), - [sym_function_expression] = STATE(149), - [sym_match_expression] = STATE(149), - [sym_import_expression] = STATE(149), - [sym_parenthesized_expression] = STATE(149), - [sym_call_expression] = STATE(149), - [sym_path_expression] = STATE(149), - [sym_comparison_constraint] = STATE(149), - [sym_unary_expression] = STATE(149), - [sym_binary_expression] = STATE(149), - [sym_default_expression] = STATE(149), + [22] = { + [sym__expression] = STATE(151), + [sym_literal] = STATE(151), + [sym_boolean] = STATE(137), + [sym_object] = STATE(151), + [sym_array] = STATE(151), + [sym_array_constraint] = STATE(151), + [sym_let_expression] = STATE(151), + [sym_function_expression] = STATE(151), + [sym_match_expression] = STATE(151), + [sym_import_expression] = STATE(151), + [sym_parenthesized_expression] = STATE(151), + [sym_call_expression] = STATE(151), + [sym_path_expression] = STATE(151), + [sym_comparison_constraint] = STATE(151), + [sym_unary_expression] = STATE(151), + [sym_binary_expression] = STATE(151), + [sym_default_expression] = STATE(151), [sym_identifier] = ACTIONS(171), [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(83), @@ -2454,7 +2519,87 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_regex_literal] = ACTIONS(173), [anon_sym_LBRACE] = ACTIONS(91), [anon_sym_LBRACK] = ACTIONS(95), - [anon_sym_RBRACK] = ACTIONS(175), + [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), + [anon_sym_BANG] = ACTIONS(111), + }, + [23] = { + [sym__expression] = STATE(155), + [sym_literal] = STATE(155), + [sym_boolean] = STATE(137), + [sym_object] = STATE(155), + [sym_array] = STATE(155), + [sym_array_constraint] = STATE(155), + [sym_let_expression] = STATE(155), + [sym_function_expression] = STATE(155), + [sym_match_expression] = STATE(155), + [sym_import_expression] = STATE(155), + [sym_parenthesized_expression] = STATE(155), + [sym_call_expression] = STATE(155), + [sym_path_expression] = STATE(155), + [sym_comparison_constraint] = STATE(155), + [sym_unary_expression] = STATE(155), + [sym_binary_expression] = STATE(155), + [sym_default_expression] = STATE(155), + [sym_identifier] = ACTIONS(149), + [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(151), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_let] = ACTIONS(97), + [anon_sym_LPAREN] = ACTIONS(99), + [anon_sym_RPAREN] = ACTIONS(177), + [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), + [anon_sym_BANG] = ACTIONS(111), + }, + [24] = { + [sym__expression] = STATE(155), + [sym_literal] = STATE(155), + [sym_boolean] = STATE(137), + [sym_object] = STATE(155), + [sym_array] = STATE(155), + [sym_array_constraint] = STATE(155), + [sym_let_expression] = STATE(155), + [sym_function_expression] = STATE(155), + [sym_match_expression] = STATE(155), + [sym_import_expression] = STATE(155), + [sym_parenthesized_expression] = STATE(155), + [sym_call_expression] = STATE(155), + [sym_path_expression] = STATE(155), + [sym_comparison_constraint] = STATE(155), + [sym_unary_expression] = STATE(155), + [sym_binary_expression] = STATE(155), + [sym_default_expression] = STATE(155), + [sym_identifier] = ACTIONS(149), + [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(151), + [anon_sym_LBRACE] = ACTIONS(91), + [anon_sym_LBRACK] = ACTIONS(95), + [anon_sym_RBRACK] = ACTIONS(179), [anon_sym_let] = ACTIONS(97), [anon_sym_LPAREN] = ACTIONS(99), [anon_sym_match] = ACTIONS(101), @@ -2486,11 +2631,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, ACTIONS(105), 1, anon_sym_import, - ACTIONS(177), 1, + ACTIONS(181), 1, sym_identifier, - ACTIONS(179), 1, + ACTIONS(183), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -2507,11 +2652,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(127), 15, + STATE(135), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2523,7 +2669,62 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [71] = 17, + [72] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13), 1, + sym_integer, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_let, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_match, + ACTIONS(27), 1, + anon_sym_import, + ACTIONS(185), 1, + sym_identifier, + ACTIONS(187), 1, + sym_regex_literal, + STATE(71), 1, + sym_boolean, + ACTIONS(9), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(11), 2, + sym_string, + sym_float, + ACTIONS(29), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(31), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(33), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(86), 16, + sym__expression, + sym_literal, + sym_object, + sym_array, + sym_array_constraint, + sym_let_expression, + sym_function_expression, + sym_match_expression, + sym_import_expression, + sym_parenthesized_expression, + sym_call_expression, + sym_path_expression, + sym_comparison_constraint, + sym_unary_expression, + sym_binary_expression, + sym_default_expression, + [144] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -2540,11 +2741,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, ACTIONS(105), 1, anon_sym_import, - ACTIONS(181), 1, + ACTIONS(189), 1, sym_identifier, - ACTIONS(183), 1, + ACTIONS(191), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -2561,11 +2762,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(140), 15, + STATE(122), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2577,92 +2779,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [142] = 6, + [216] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(189), 1, - anon_sym_EQ, - ACTIONS(191), 1, - anon_sym_DOT, - STATE(182), 1, - aux_sym_field_path_repeat1, - ACTIONS(187), 14, - anon_sym_true, - anon_sym_false, + ACTIONS(87), 1, sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_GT, - anon_sym_LT, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(185), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, + ACTIONS(91), 1, anon_sym_LBRACE, + ACTIONS(95), 1, anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [191] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(13), 1, - sym_integer, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, + ACTIONS(97), 1, anon_sym_let, - ACTIONS(23), 1, + ACTIONS(99), 1, anon_sym_LPAREN, - ACTIONS(25), 1, + ACTIONS(101), 1, anon_sym_match, - ACTIONS(27), 1, + ACTIONS(105), 1, anon_sym_import, ACTIONS(193), 1, sym_identifier, ACTIONS(195), 1, sym_regex_literal, - STATE(88), 1, + STATE(137), 1, sym_boolean, - ACTIONS(9), 2, + ACTIONS(83), 2, anon_sym_true, anon_sym_false, - ACTIONS(11), 2, + ACTIONS(85), 2, sym_string, sym_float, - ACTIONS(29), 2, + ACTIONS(107), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(31), 2, + ACTIONS(109), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(33), 2, + ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(93), 15, + STATE(160), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2674,49 +2834,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [262] = 17, + [288] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, + ACTIONS(87), 1, sym_integer, - ACTIONS(17), 1, + ACTIONS(91), 1, anon_sym_LBRACE, - ACTIONS(19), 1, + ACTIONS(95), 1, anon_sym_LBRACK, - ACTIONS(21), 1, + ACTIONS(97), 1, anon_sym_let, - ACTIONS(23), 1, + ACTIONS(99), 1, anon_sym_LPAREN, - ACTIONS(25), 1, + ACTIONS(101), 1, anon_sym_match, - ACTIONS(27), 1, + ACTIONS(105), 1, anon_sym_import, ACTIONS(197), 1, sym_identifier, ACTIONS(199), 1, sym_regex_literal, - STATE(88), 1, + STATE(137), 1, sym_boolean, - ACTIONS(9), 2, + ACTIONS(83), 2, anon_sym_true, anon_sym_false, - ACTIONS(11), 2, + ACTIONS(85), 2, sym_string, sym_float, - ACTIONS(29), 2, + ACTIONS(107), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(31), 2, + ACTIONS(109), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(33), 2, + ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(71), 15, + STATE(112), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2728,7 +2889,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [333] = 17, + [360] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -2749,7 +2910,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(203), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -2766,11 +2927,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(110), 15, + STATE(142), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2782,7 +2944,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [404] = 17, + [432] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -2803,7 +2965,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(207), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -2820,11 +2982,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(113), 15, + STATE(146), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2836,7 +2999,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [475] = 17, + [504] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -2857,7 +3020,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(211), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -2874,11 +3037,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(116), 15, + STATE(150), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2890,7 +3054,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [546] = 17, + [576] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -2911,7 +3075,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(215), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -2928,11 +3092,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(121), 15, + STATE(149), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2944,7 +3109,62 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [617] = 17, + [648] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(87), 1, + sym_integer, + ACTIONS(91), 1, + anon_sym_LBRACE, + ACTIONS(95), 1, + anon_sym_LBRACK, + ACTIONS(97), 1, + anon_sym_let, + ACTIONS(99), 1, + anon_sym_LPAREN, + ACTIONS(101), 1, + anon_sym_match, + ACTIONS(105), 1, + anon_sym_import, + ACTIONS(149), 1, + sym_identifier, + ACTIONS(151), 1, + sym_regex_literal, + STATE(137), 1, + sym_boolean, + ACTIONS(83), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(85), 2, + sym_string, + sym_float, + ACTIONS(107), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(109), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(111), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(155), 16, + sym__expression, + sym_literal, + sym_object, + sym_array, + sym_array_constraint, + sym_let_expression, + sym_function_expression, + sym_match_expression, + sym_import_expression, + sym_parenthesized_expression, + sym_call_expression, + sym_path_expression, + sym_comparison_constraint, + sym_unary_expression, + sym_binary_expression, + sym_default_expression, + [720] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -2965,7 +3185,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(219), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -2982,11 +3202,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(122), 15, + STATE(115), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -2998,7 +3219,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [688] = 17, + [792] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -3019,7 +3240,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(223), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -3036,11 +3257,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(152), 15, + STATE(118), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3052,61 +3274,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [759] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(87), 1, - sym_integer, - ACTIONS(91), 1, - anon_sym_LBRACE, - ACTIONS(95), 1, - anon_sym_LBRACK, - ACTIONS(97), 1, - anon_sym_let, - ACTIONS(99), 1, - anon_sym_LPAREN, - ACTIONS(101), 1, - anon_sym_match, - ACTIONS(105), 1, - anon_sym_import, - ACTIONS(133), 1, - sym_identifier, - ACTIONS(135), 1, - sym_regex_literal, - STATE(132), 1, - sym_boolean, - ACTIONS(83), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(85), 2, - sym_string, - sym_float, - ACTIONS(107), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(109), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(111), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(148), 15, - sym__expression, - sym_literal, - sym_object, - sym_array, - sym_let_expression, - sym_function_expression, - sym_match_expression, - sym_import_expression, - sym_parenthesized_expression, - sym_call_expression, - sym_path_expression, - sym_comparison_constraint, - sym_unary_expression, - sym_binary_expression, - sym_default_expression, - [830] = 17, + [864] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -3127,7 +3295,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(227), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -3144,11 +3312,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(160), 15, + STATE(126), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3160,49 +3329,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [901] = 17, + [936] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, + ACTIONS(87), 1, sym_integer, - ACTIONS(17), 1, + ACTIONS(91), 1, anon_sym_LBRACE, - ACTIONS(19), 1, + ACTIONS(95), 1, anon_sym_LBRACK, - ACTIONS(21), 1, + ACTIONS(97), 1, anon_sym_let, - ACTIONS(23), 1, + ACTIONS(99), 1, anon_sym_LPAREN, - ACTIONS(25), 1, + ACTIONS(101), 1, anon_sym_match, - ACTIONS(27), 1, + ACTIONS(105), 1, anon_sym_import, ACTIONS(229), 1, sym_identifier, ACTIONS(231), 1, sym_regex_literal, - STATE(88), 1, + STATE(137), 1, sym_boolean, - ACTIONS(9), 2, + ACTIONS(83), 2, anon_sym_true, anon_sym_false, - ACTIONS(11), 2, + ACTIONS(85), 2, sym_string, sym_float, - ACTIONS(29), 2, + ACTIONS(107), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(31), 2, + ACTIONS(109), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(33), 2, + ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(105), 15, + STATE(138), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3214,7 +3384,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [972] = 17, + [1008] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -3235,7 +3405,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(235), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -3252,11 +3422,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(124), 15, + STATE(168), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3268,49 +3439,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1043] = 17, + [1080] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(87), 1, + ACTIONS(13), 1, sym_integer, - ACTIONS(91), 1, + ACTIONS(17), 1, anon_sym_LBRACE, - ACTIONS(95), 1, + ACTIONS(19), 1, anon_sym_LBRACK, - ACTIONS(97), 1, + ACTIONS(21), 1, anon_sym_let, - ACTIONS(99), 1, + ACTIONS(23), 1, anon_sym_LPAREN, - ACTIONS(101), 1, + ACTIONS(25), 1, anon_sym_match, - ACTIONS(105), 1, + ACTIONS(27), 1, anon_sym_import, ACTIONS(237), 1, sym_identifier, ACTIONS(239), 1, sym_regex_literal, - STATE(132), 1, + STATE(71), 1, sym_boolean, - ACTIONS(83), 2, + ACTIONS(9), 2, anon_sym_true, anon_sym_false, - ACTIONS(85), 2, + ACTIONS(11), 2, sym_string, sym_float, - ACTIONS(107), 2, + ACTIONS(29), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(109), 2, + ACTIONS(31), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(111), 2, + ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(108), 15, + STATE(80), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3322,7 +3494,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1114] = 17, + [1152] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3343,7 +3515,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(243), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3360,11 +3532,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(72), 15, + STATE(81), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3376,7 +3549,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1185] = 17, + [1224] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3397,7 +3570,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(247), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3414,11 +3587,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(73), 15, + STATE(82), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3430,7 +3604,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1256] = 17, + [1296] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3451,7 +3625,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(251), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3468,11 +3642,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(74), 15, + STATE(83), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3484,7 +3659,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1327] = 17, + [1368] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3505,7 +3680,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(255), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3522,11 +3697,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(75), 15, + STATE(84), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3538,7 +3714,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1398] = 17, + [1440] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3559,7 +3735,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(259), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3576,11 +3752,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(76), 15, + STATE(85), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3592,7 +3769,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1469] = 17, + [1512] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3613,7 +3790,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(263), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3630,11 +3807,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(77), 15, + STATE(74), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3646,7 +3824,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1540] = 17, + [1584] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3667,7 +3845,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(267), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3684,11 +3862,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(78), 15, + STATE(87), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3700,7 +3879,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1611] = 17, + [1656] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3721,7 +3900,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(271), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3738,11 +3917,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(79), 15, + STATE(88), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3754,7 +3934,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1682] = 17, + [1728] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -3775,7 +3955,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(275), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -3792,11 +3972,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(80), 15, + STATE(89), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3808,49 +3989,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1753] = 17, + [1800] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, + ACTIONS(87), 1, sym_integer, - ACTIONS(17), 1, + ACTIONS(91), 1, anon_sym_LBRACE, - ACTIONS(19), 1, + ACTIONS(95), 1, anon_sym_LBRACK, - ACTIONS(21), 1, + ACTIONS(97), 1, anon_sym_let, - ACTIONS(23), 1, + ACTIONS(99), 1, anon_sym_LPAREN, - ACTIONS(25), 1, + ACTIONS(101), 1, anon_sym_match, - ACTIONS(27), 1, + ACTIONS(105), 1, anon_sym_import, ACTIONS(277), 1, sym_identifier, ACTIONS(279), 1, sym_regex_literal, - STATE(88), 1, + STATE(137), 1, sym_boolean, - ACTIONS(9), 2, + ACTIONS(83), 2, anon_sym_true, anon_sym_false, - ACTIONS(11), 2, + ACTIONS(85), 2, sym_string, sym_float, - ACTIONS(29), 2, + ACTIONS(107), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(31), 2, + ACTIONS(109), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(33), 2, + ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(68), 15, + STATE(120), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3862,7 +4044,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1824] = 17, + [1872] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -3883,7 +4065,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(283), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -3900,11 +4082,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(125), 15, + STATE(145), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3916,7 +4099,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1895] = 17, + [1944] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -3937,7 +4120,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(287), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -3954,11 +4137,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(126), 15, + STATE(144), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -3970,49 +4154,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [1966] = 17, + [2016] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, + ACTIONS(87), 1, sym_integer, - ACTIONS(17), 1, + ACTIONS(91), 1, anon_sym_LBRACE, - ACTIONS(19), 1, + ACTIONS(95), 1, anon_sym_LBRACK, - ACTIONS(21), 1, + ACTIONS(97), 1, anon_sym_let, - ACTIONS(23), 1, + ACTIONS(99), 1, anon_sym_LPAREN, - ACTIONS(25), 1, + ACTIONS(101), 1, anon_sym_match, - ACTIONS(27), 1, + ACTIONS(105), 1, anon_sym_import, ACTIONS(289), 1, sym_identifier, ACTIONS(291), 1, sym_regex_literal, - STATE(88), 1, + STATE(137), 1, sym_boolean, - ACTIONS(9), 2, + ACTIONS(83), 2, anon_sym_true, anon_sym_false, - ACTIONS(11), 2, + ACTIONS(85), 2, sym_string, sym_float, - ACTIONS(29), 2, + ACTIONS(107), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(31), 2, + ACTIONS(109), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(33), 2, + ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(84), 15, + STATE(163), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4024,7 +4209,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2037] = 17, + [2088] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -4045,7 +4230,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(295), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -4062,11 +4247,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(128), 15, + STATE(119), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4078,49 +4264,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2108] = 17, + [2160] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(87), 1, + ACTIONS(13), 1, sym_integer, - ACTIONS(91), 1, + ACTIONS(17), 1, anon_sym_LBRACE, - ACTIONS(95), 1, + ACTIONS(19), 1, anon_sym_LBRACK, - ACTIONS(97), 1, + ACTIONS(21), 1, anon_sym_let, - ACTIONS(99), 1, + ACTIONS(23), 1, anon_sym_LPAREN, - ACTIONS(101), 1, + ACTIONS(25), 1, anon_sym_match, - ACTIONS(105), 1, + ACTIONS(27), 1, anon_sym_import, ACTIONS(297), 1, sym_identifier, ACTIONS(299), 1, sym_regex_literal, - STATE(132), 1, + STATE(71), 1, sym_boolean, - ACTIONS(83), 2, + ACTIONS(9), 2, anon_sym_true, anon_sym_false, - ACTIONS(85), 2, + ACTIONS(11), 2, sym_string, sym_float, - ACTIONS(107), 2, + ACTIONS(29), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(109), 2, + ACTIONS(31), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(111), 2, + ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(155), 15, + STATE(94), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4132,7 +4319,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2179] = 17, + [2232] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -4153,7 +4340,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(303), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -4170,11 +4357,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(156), 15, + STATE(124), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4186,7 +4374,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2250] = 17, + [2304] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -4207,7 +4395,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(307), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -4224,11 +4412,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(129), 15, + STATE(134), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4240,7 +4429,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2321] = 17, + [2376] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -4261,7 +4450,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(311), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -4278,11 +4467,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(98), 15, + STATE(79), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4294,7 +4484,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2392] = 17, + [2448] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -4315,7 +4505,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(315), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -4332,11 +4522,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(130), 15, + STATE(162), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4348,7 +4539,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2463] = 17, + [2520] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -4369,7 +4560,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(319), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -4386,11 +4577,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(90), 15, + STATE(76), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4402,49 +4594,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2534] = 17, + [2592] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(87), 1, + ACTIONS(13), 1, sym_integer, - ACTIONS(91), 1, + ACTIONS(17), 1, anon_sym_LBRACE, - ACTIONS(95), 1, + ACTIONS(19), 1, anon_sym_LBRACK, - ACTIONS(97), 1, + ACTIONS(21), 1, anon_sym_let, - ACTIONS(99), 1, + ACTIONS(23), 1, anon_sym_LPAREN, - ACTIONS(101), 1, + ACTIONS(25), 1, anon_sym_match, - ACTIONS(105), 1, + ACTIONS(27), 1, anon_sym_import, ACTIONS(321), 1, sym_identifier, ACTIONS(323), 1, sym_regex_literal, - STATE(132), 1, + STATE(71), 1, sym_boolean, - ACTIONS(83), 2, + ACTIONS(9), 2, anon_sym_true, anon_sym_false, - ACTIONS(85), 2, + ACTIONS(11), 2, sym_string, sym_float, - ACTIONS(107), 2, + ACTIONS(29), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(109), 2, + ACTIONS(31), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(111), 2, + ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(133), 15, + STATE(69), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4456,49 +4649,50 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2605] = 17, + [2664] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(87), 1, + ACTIONS(13), 1, sym_integer, - ACTIONS(91), 1, + ACTIONS(17), 1, anon_sym_LBRACE, - ACTIONS(95), 1, + ACTIONS(19), 1, anon_sym_LBRACK, - ACTIONS(97), 1, + ACTIONS(21), 1, anon_sym_let, - ACTIONS(99), 1, + ACTIONS(23), 1, anon_sym_LPAREN, - ACTIONS(101), 1, + ACTIONS(25), 1, anon_sym_match, - ACTIONS(105), 1, + ACTIONS(27), 1, anon_sym_import, ACTIONS(325), 1, sym_identifier, ACTIONS(327), 1, sym_regex_literal, - STATE(132), 1, + STATE(71), 1, sym_boolean, - ACTIONS(83), 2, + ACTIONS(9), 2, anon_sym_true, anon_sym_false, - ACTIONS(85), 2, + ACTIONS(11), 2, sym_string, sym_float, - ACTIONS(107), 2, + ACTIONS(29), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(109), 2, + ACTIONS(31), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(111), 2, + ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(154), 15, + STATE(99), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4510,7 +4704,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2676] = 17, + [2736] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(13), 1, @@ -4531,7 +4725,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(331), 1, sym_regex_literal, - STATE(88), 1, + STATE(71), 1, sym_boolean, ACTIONS(9), 2, anon_sym_true, @@ -4548,11 +4742,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(33), 2, anon_sym_DASH, anon_sym_BANG, - STATE(87), 15, + STATE(100), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4564,61 +4759,7 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2747] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(13), 1, - sym_integer, - ACTIONS(17), 1, - anon_sym_LBRACE, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_let, - ACTIONS(23), 1, - anon_sym_LPAREN, - ACTIONS(25), 1, - anon_sym_match, - ACTIONS(27), 1, - anon_sym_import, - ACTIONS(333), 1, - sym_identifier, - ACTIONS(335), 1, - sym_regex_literal, - STATE(88), 1, - sym_boolean, - ACTIONS(9), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(11), 2, - sym_string, - sym_float, - ACTIONS(29), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(31), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(33), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(96), 15, - sym__expression, - sym_literal, - sym_object, - sym_array, - sym_let_expression, - sym_function_expression, - sym_match_expression, - sym_import_expression, - sym_parenthesized_expression, - sym_call_expression, - sym_path_expression, - sym_comparison_constraint, - sym_unary_expression, - sym_binary_expression, - sym_default_expression, - [2818] = 17, + [2808] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -4635,11 +4776,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, ACTIONS(105), 1, anon_sym_import, - ACTIONS(337), 1, + ACTIONS(333), 1, sym_identifier, - ACTIONS(339), 1, + ACTIONS(335), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -4656,11 +4797,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(142), 15, + STATE(161), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4672,7 +4814,62 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2889] = 17, + [2880] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(13), 1, + sym_integer, + ACTIONS(17), 1, + anon_sym_LBRACE, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_let, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(25), 1, + anon_sym_match, + ACTIONS(27), 1, + anon_sym_import, + ACTIONS(337), 1, + sym_identifier, + ACTIONS(339), 1, + sym_regex_literal, + STATE(71), 1, + sym_boolean, + ACTIONS(9), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(11), 2, + sym_string, + sym_float, + ACTIONS(29), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(31), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(33), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(101), 16, + sym__expression, + sym_literal, + sym_object, + sym_array, + sym_array_constraint, + sym_let_expression, + sym_function_expression, + sym_match_expression, + sym_import_expression, + sym_parenthesized_expression, + sym_call_expression, + sym_path_expression, + sym_comparison_constraint, + sym_unary_expression, + sym_binary_expression, + sym_default_expression, + [2952] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(87), 1, @@ -4693,7 +4890,7 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(343), 1, sym_regex_literal, - STATE(132), 1, + STATE(137), 1, sym_boolean, ACTIONS(83), 2, anon_sym_true, @@ -4710,11 +4907,12 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(111), 2, anon_sym_DASH, anon_sym_BANG, - STATE(139), 15, + STATE(167), 16, sym__expression, sym_literal, sym_object, sym_array, + sym_array_constraint, sym_let_expression, sym_function_expression, sym_match_expression, @@ -4726,10 +4924,71 @@ static const uint16_t ts_small_parse_table[] = { sym_unary_expression, sym_binary_expression, sym_default_expression, - [2960] = 3, + [3024] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(347), 14, + ACTIONS(87), 1, + sym_integer, + ACTIONS(91), 1, + anon_sym_LBRACE, + ACTIONS(95), 1, + anon_sym_LBRACK, + ACTIONS(97), 1, + anon_sym_let, + ACTIONS(99), 1, + anon_sym_LPAREN, + ACTIONS(101), 1, + anon_sym_match, + ACTIONS(105), 1, + anon_sym_import, + ACTIONS(345), 1, + sym_identifier, + ACTIONS(347), 1, + sym_regex_literal, + STATE(137), 1, + sym_boolean, + ACTIONS(83), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(85), 2, + sym_string, + sym_float, + ACTIONS(107), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(109), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(111), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(158), 16, + sym__expression, + sym_literal, + sym_object, + sym_array, + sym_array_constraint, + sym_let_expression, + sym_function_expression, + sym_match_expression, + sym_import_expression, + sym_parenthesized_expression, + sym_call_expression, + sym_path_expression, + sym_comparison_constraint, + sym_unary_expression, + sym_binary_expression, + sym_default_expression, + [3096] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(353), 1, + anon_sym_EQ, + ACTIONS(355), 1, + anon_sym_DOT, + STATE(208), 1, + aux_sym_field_path_repeat1, + ACTIONS(351), 14, anon_sym_true, anon_sym_false, sym_integer, @@ -4744,14 +5003,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, anon_sym_AMP, anon_sym_default, - ACTIONS(345), 19, + ACTIONS(349), 18, 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, @@ -4764,42 +5022,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [3001] = 17, + [3145] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(361), 1, - anon_sym_DASH, + anon_sym_DOT, ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, + anon_sym_LPAREN, ACTIONS(369), 1, - anon_sym_PLUS, + anon_sym_DASH, ACTIONS(371), 1, - anon_sym_STAR, + anon_sym_PIPE_PIPE, ACTIONS(373), 1, - anon_sym_SLASH, + anon_sym_AMP_AMP, ACTIONS(375), 1, - anon_sym_AMP, + anon_sym_PLUS_PLUS, ACTIONS(377), 1, - anon_sym_SLASH_SLASH, + anon_sym_PLUS, ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, anon_sym_default, - ACTIONS(357), 2, + ACTIONS(365), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(359), 4, + ACTIONS(367), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(349), 7, + ACTIONS(357), 7, ts_builtin_sym_end, anon_sym_SEMI, sym_string, @@ -4807,7 +5065,7 @@ static const uint16_t ts_small_parse_table[] = { sym_regex_literal, anon_sym_LBRACE, anon_sym_LBRACK, - ACTIONS(351), 8, + ACTIONS(359), 8, anon_sym_true, anon_sym_false, sym_integer, @@ -4816,10 +5074,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_import, anon_sym_BANG, - [3070] = 3, + [3214] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(383), 14, + ACTIONS(391), 14, anon_sym_true, anon_sym_false, sym_integer, @@ -4834,7 +5092,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, anon_sym_AMP, anon_sym_default, - ACTIONS(381), 19, + ACTIONS(389), 19, ts_builtin_sym_end, anon_sym_SEMI, sym_string, @@ -4854,329 +5112,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [3111] = 3, + [3255] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(387), 14, - 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_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(385), 19, - 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_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [3152] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(361), 1, - anon_sym_DASH, - ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(375), 1, - anon_sym_AMP, - ACTIONS(377), 1, - anon_sym_SLASH_SLASH, - ACTIONS(379), 1, - anon_sym_default, - ACTIONS(357), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(359), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(389), 7, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - ACTIONS(391), 8, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_BANG, - [3221] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(361), 1, - anon_sym_DASH, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(395), 12, - 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_BANG, - anon_sym_AMP, - anon_sym_default, - ACTIONS(393), 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_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_SLASH_SLASH, - [3276] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(395), 13, - 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_BANG, - anon_sym_PLUS, - anon_sym_AMP, - anon_sym_default, - ACTIONS(393), 16, - 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_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_SLASH_SLASH, - [3325] = 13, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(361), 1, - anon_sym_DASH, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(357), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(359), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(393), 9, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_PIPE_PIPE, - anon_sym_SLASH_SLASH, - ACTIONS(395), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_BANG, - anon_sym_AMP, - anon_sym_default, - [3386] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(361), 1, - anon_sym_DASH, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(357), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(359), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(393), 10, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_SLASH_SLASH, - ACTIONS(395), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_BANG, - anon_sym_AMP, - anon_sym_default, - [3445] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(361), 1, - anon_sym_DASH, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(395), 12, - 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_BANG, - anon_sym_AMP, - anon_sym_default, - ACTIONS(393), 15, - 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_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_SLASH_SLASH, - [3498] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(395), 14, anon_sym_true, anon_sym_false, @@ -5192,14 +5130,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, anon_sym_AMP, anon_sym_default, - ACTIONS(393), 17, + ACTIONS(393), 19, 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, @@ -5210,143 +5150,45 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [3543] = 14, + [3296] = 18, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(361), 1, - anon_sym_DASH, - ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(357), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(359), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(393), 8, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_SLASH_SLASH, - ACTIONS(395), 10, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_BANG, - anon_sym_AMP, - anon_sym_default, - [3606] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(361), 1, - anon_sym_DASH, ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, + anon_sym_LPAREN, ACTIONS(369), 1, - anon_sym_PLUS, + anon_sym_DASH, ACTIONS(371), 1, - anon_sym_STAR, + anon_sym_PIPE_PIPE, ACTIONS(373), 1, - anon_sym_SLASH, + anon_sym_AMP_AMP, ACTIONS(375), 1, - anon_sym_AMP, - ACTIONS(357), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(359), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(393), 8, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - anon_sym_SLASH_SLASH, - ACTIONS(395), 9, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_BANG, - anon_sym_default, - [3671] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(361), 1, - anon_sym_DASH, - ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(375), 1, - anon_sym_AMP, ACTIONS(377), 1, - anon_sym_SLASH_SLASH, + anon_sym_PLUS, ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, anon_sym_default, - ACTIONS(357), 2, + ACTIONS(401), 1, + anon_sym_SEMI, + ACTIONS(365), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(359), 4, + ACTIONS(367), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(397), 7, + ACTIONS(397), 6, ts_builtin_sym_end, - anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, @@ -5361,10 +5203,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_import, anon_sym_BANG, - [3740] = 3, + [3367] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(403), 14, + ACTIONS(405), 14, anon_sym_true, anon_sym_false, sym_integer, @@ -5379,7 +5221,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, anon_sym_AMP, anon_sym_default, - ACTIONS(401), 19, + ACTIONS(403), 19, ts_builtin_sym_end, anon_sym_SEMI, sym_string, @@ -5399,118 +5241,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [3781] = 3, + [3408] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(407), 14, - 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_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(405), 19, - 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_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [3822] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(411), 14, - 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_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(409), 19, - 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_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [3863] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(361), 1, - anon_sym_DASH, + anon_sym_DOT, ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, + anon_sym_LPAREN, ACTIONS(369), 1, - anon_sym_PLUS, + anon_sym_DASH, ACTIONS(371), 1, - anon_sym_STAR, + anon_sym_PIPE_PIPE, ACTIONS(373), 1, - anon_sym_SLASH, + anon_sym_AMP_AMP, ACTIONS(375), 1, - anon_sym_AMP, + anon_sym_PLUS_PLUS, ACTIONS(377), 1, - anon_sym_SLASH_SLASH, + anon_sym_PLUS, ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, anon_sym_default, - ACTIONS(357), 2, + ACTIONS(365), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(359), 4, + ACTIONS(367), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(413), 7, + ACTIONS(407), 7, ts_builtin_sym_end, anon_sym_SEMI, sym_string, @@ -5518,7 +5284,7 @@ static const uint16_t ts_small_parse_table[] = { sym_regex_literal, anon_sym_LBRACE, anon_sym_LBRACK, - ACTIONS(415), 8, + ACTIONS(409), 8, anon_sym_true, anon_sym_false, sym_integer, @@ -5527,10 +5293,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_import, anon_sym_BANG, - [3932] = 3, + [3477] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(419), 14, + ACTIONS(413), 14, anon_sym_true, anon_sym_false, sym_integer, @@ -5545,7 +5311,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, anon_sym_AMP, anon_sym_default, - ACTIONS(417), 19, + ACTIONS(411), 19, ts_builtin_sym_end, anon_sym_SEMI, sym_string, @@ -5565,88 +5331,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [3973] = 3, + [3518] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(423), 14, - 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_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(421), 19, - 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_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [4014] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(361), 1, - anon_sym_DASH, + anon_sym_DOT, ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(375), 1, - anon_sym_AMP, - ACTIONS(377), 1, - anon_sym_SLASH_SLASH, - ACTIONS(379), 1, - anon_sym_default, - ACTIONS(357), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(359), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(425), 7, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - ACTIONS(427), 8, + anon_sym_LPAREN, + ACTIONS(417), 14, anon_sym_true, anon_sym_false, sym_integer, @@ -5654,163 +5346,225 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_let, anon_sym_match, anon_sym_import, + anon_sym_GT, + anon_sym_LT, anon_sym_BANG, - [4083] = 3, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(415), 17, + 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_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [3563] = 3, ACTIONS(3), 1, sym_comment, + ACTIONS(421), 14, + 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_BANG, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(419), 19, + 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_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [3604] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(425), 14, + 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_BANG, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(423), 19, + 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_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [3645] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(429), 14, + 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_BANG, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(427), 17, + 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_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [3690] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(433), 12, + 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_BANG, + anon_sym_AMP, + anon_sym_default, ACTIONS(431), 14, - 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_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(429), 19, 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_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, anon_sym_SLASH_SLASH, - [4124] = 3, + [3745] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(435), 14, - 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_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(433), 19, - 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_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [4165] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(361), 1, - anon_sym_DASH, + anon_sym_DOT, ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(375), 1, - anon_sym_AMP, - ACTIONS(377), 1, - anon_sym_SLASH_SLASH, - ACTIONS(379), 1, - anon_sym_default, - ACTIONS(357), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(359), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(437), 7, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - ACTIONS(439), 8, - anon_sym_true, - anon_sym_false, - sym_integer, - sym_identifier, - anon_sym_let, - anon_sym_match, - anon_sym_import, - anon_sym_BANG, - [4234] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(443), 14, - 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_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(441), 19, - 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, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(433), 13, + 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_BANG, + anon_sym_PLUS, + anon_sym_AMP, + 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_LBRACK, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH, @@ -5819,53 +5573,45 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_PLUS_PLUS, - anon_sym_STAR, anon_sym_SLASH_SLASH, - [4275] = 18, + [3794] = 13, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(361), 1, - anon_sym_DASH, + anon_sym_DOT, ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, + anon_sym_LPAREN, ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, + anon_sym_DASH, ACTIONS(373), 1, - anon_sym_SLASH, + anon_sym_AMP_AMP, ACTIONS(375), 1, - anon_sym_AMP, + anon_sym_PLUS_PLUS, ACTIONS(377), 1, - anon_sym_SLASH_SLASH, + anon_sym_PLUS, ACTIONS(379), 1, - anon_sym_default, - ACTIONS(449), 1, - anon_sym_SEMI, - ACTIONS(357), 2, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(365), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(359), 4, + ACTIONS(367), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(445), 6, + ACTIONS(431), 9, ts_builtin_sym_end, + anon_sym_SEMI, sym_string, sym_float, sym_regex_literal, anon_sym_LBRACE, anon_sym_LBRACK, - ACTIONS(447), 8, + anon_sym_PIPE_PIPE, + anon_sym_SLASH_SLASH, + ACTIONS(433), 10, anon_sym_true, anon_sym_false, sym_integer, @@ -5874,42 +5620,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_import, anon_sym_BANG, - [4346] = 17, + anon_sym_AMP, + anon_sym_default, + [3855] = 12, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(361), 1, - anon_sym_DASH, + anon_sym_DOT, ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, + anon_sym_LPAREN, ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, + anon_sym_DASH, ACTIONS(375), 1, - anon_sym_AMP, + anon_sym_PLUS_PLUS, ACTIONS(377), 1, - anon_sym_SLASH_SLASH, + anon_sym_PLUS, ACTIONS(379), 1, - anon_sym_default, - ACTIONS(357), 2, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(365), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(359), 4, + ACTIONS(367), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(451), 7, + ACTIONS(431), 10, ts_builtin_sym_end, anon_sym_SEMI, sym_string, @@ -5917,7 +5655,10 @@ static const uint16_t ts_small_parse_table[] = { sym_regex_literal, anon_sym_LBRACE, anon_sym_LBRACK, - ACTIONS(453), 8, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SLASH_SLASH, + ACTIONS(433), 10, anon_sym_true, anon_sym_false, sym_integer, @@ -5926,7 +5667,410 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_import, anon_sym_BANG, - [4415] = 3, + anon_sym_AMP, + anon_sym_default, + [3914] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(433), 12, + 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_BANG, + anon_sym_AMP, + anon_sym_default, + ACTIONS(431), 15, + 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_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_SLASH_SLASH, + [3967] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(433), 14, + 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_BANG, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(431), 17, + 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_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [4012] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(371), 1, + anon_sym_PIPE_PIPE, + ACTIONS(373), 1, + anon_sym_AMP_AMP, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(365), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(367), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(431), 8, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_SLASH_SLASH, + ACTIONS(433), 10, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_BANG, + anon_sym_AMP, + anon_sym_default, + [4075] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(371), 1, + anon_sym_PIPE_PIPE, + ACTIONS(373), 1, + anon_sym_AMP_AMP, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(365), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(367), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(431), 8, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_SLASH_SLASH, + ACTIONS(433), 9, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_BANG, + anon_sym_default, + [4140] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(371), 1, + anon_sym_PIPE_PIPE, + ACTIONS(373), 1, + anon_sym_AMP_AMP, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, + anon_sym_default, + ACTIONS(365), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(367), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(435), 7, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + ACTIONS(437), 8, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_BANG, + [4209] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(371), 1, + anon_sym_PIPE_PIPE, + ACTIONS(373), 1, + anon_sym_AMP_AMP, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, + anon_sym_default, + ACTIONS(365), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(367), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(439), 7, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + ACTIONS(441), 8, + anon_sym_true, + anon_sym_false, + sym_integer, + sym_identifier, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_BANG, + [4278] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(445), 14, + 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_BANG, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(443), 19, + 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_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [4319] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(449), 14, + 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_BANG, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(447), 19, + 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_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [4360] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(453), 14, + 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_BANG, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(451), 19, + 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_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [4401] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(457), 14, @@ -5964,10 +6108,50 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [4456] = 3, + [4442] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(461), 14, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(371), 1, + anon_sym_PIPE_PIPE, + ACTIONS(373), 1, + anon_sym_AMP_AMP, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, + anon_sym_default, + ACTIONS(365), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(367), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(459), 7, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + ACTIONS(461), 8, anon_sym_true, anon_sym_false, sym_integer, @@ -5975,40 +6159,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_let, anon_sym_match, anon_sym_import, - anon_sym_GT, - anon_sym_LT, anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(459), 19, - 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_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [4497] = 5, + [4511] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(465), 14, anon_sym_true, anon_sym_false, @@ -6024,14 +6178,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, anon_sym_AMP, anon_sym_default, - ACTIONS(463), 17, + ACTIONS(463), 19, 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, @@ -6042,7 +6198,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [4542] = 3, + [4552] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(469), 14, @@ -6080,13 +6236,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [4583] = 5, + [4593] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, ACTIONS(473), 14, anon_sym_true, anon_sym_false, @@ -6102,14 +6254,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, anon_sym_AMP, anon_sym_default, - ACTIONS(471), 17, + ACTIONS(471), 19, 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, @@ -6120,7 +6274,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [4628] = 3, + [4634] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(477), 14, @@ -6158,10 +6312,50 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [4669] = 3, + [4675] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(481), 14, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(371), 1, + anon_sym_PIPE_PIPE, + ACTIONS(373), 1, + anon_sym_AMP_AMP, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, + anon_sym_default, + ACTIONS(365), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(367), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(479), 7, + ts_builtin_sym_end, + anon_sym_SEMI, + sym_string, + sym_float, + sym_regex_literal, + anon_sym_LBRACE, + anon_sym_LBRACK, + ACTIONS(481), 8, anon_sym_true, anon_sym_false, sym_integer, @@ -6169,37 +6363,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_let, anon_sym_match, anon_sym_import, + anon_sym_BANG, + [4744] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(371), 1, + anon_sym_PIPE_PIPE, + ACTIONS(373), 1, + anon_sym_AMP_AMP, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, + anon_sym_default, + ACTIONS(365), 2, anon_sym_GT, anon_sym_LT, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(479), 19, + ACTIONS(367), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(483), 7, 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_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [4710] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(485), 14, + ACTIONS(485), 8, anon_sym_true, anon_sym_false, sym_integer, @@ -6207,37 +6415,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_let, anon_sym_match, anon_sym_import, + anon_sym_BANG, + [4813] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(361), 1, + anon_sym_DOT, + ACTIONS(363), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_DASH, + ACTIONS(371), 1, + anon_sym_PIPE_PIPE, + ACTIONS(373), 1, + anon_sym_AMP_AMP, + ACTIONS(375), 1, + anon_sym_PLUS_PLUS, + ACTIONS(377), 1, + anon_sym_PLUS, + ACTIONS(379), 1, + anon_sym_STAR, + ACTIONS(381), 1, + anon_sym_SLASH, + ACTIONS(383), 1, + anon_sym_AMP, + ACTIONS(385), 1, + anon_sym_SLASH_SLASH, + ACTIONS(387), 1, + anon_sym_default, + ACTIONS(365), 2, anon_sym_GT, anon_sym_LT, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(483), 19, + ACTIONS(367), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(487), 7, 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_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [4751] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(489), 14, + ACTIONS(489), 8, anon_sym_true, anon_sym_false, sym_integer, @@ -6245,34 +6467,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_let, anon_sym_match, anon_sym_import, - anon_sym_GT, - anon_sym_LT, anon_sym_BANG, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - anon_sym_default, - ACTIONS(487), 19, - 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_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - [4792] = 3, + [4882] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(493), 14, @@ -6310,7 +6506,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [4833] = 3, + [4923] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(497), 14, @@ -6348,50 +6544,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [4874] = 17, + [4964] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(353), 1, - anon_sym_DOT, - ACTIONS(355), 1, - anon_sym_LPAREN, - ACTIONS(361), 1, - anon_sym_DASH, - ACTIONS(363), 1, - anon_sym_PIPE_PIPE, - ACTIONS(365), 1, - anon_sym_AMP_AMP, - ACTIONS(367), 1, - anon_sym_PLUS_PLUS, - ACTIONS(369), 1, - anon_sym_PLUS, - ACTIONS(371), 1, - anon_sym_STAR, - ACTIONS(373), 1, - anon_sym_SLASH, - ACTIONS(375), 1, - anon_sym_AMP, - ACTIONS(377), 1, - anon_sym_SLASH_SLASH, - ACTIONS(379), 1, - anon_sym_default, - ACTIONS(357), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(359), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(499), 7, - ts_builtin_sym_end, - anon_sym_SEMI, - sym_string, - sym_float, - sym_regex_literal, - anon_sym_LBRACE, - anon_sym_LBRACK, - ACTIONS(501), 8, + ACTIONS(501), 14, anon_sym_true, anon_sym_false, sym_integer, @@ -6399,8 +6555,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_let, anon_sym_match, anon_sym_import, + anon_sym_GT, + anon_sym_LT, anon_sym_BANG, - [4943] = 3, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + anon_sym_default, + ACTIONS(499), 19, + 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_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + [5005] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(505), 14, @@ -6438,25 +6620,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - [4984] = 3, + [5046] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(407), 5, + ACTIONS(509), 14, + 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_BANG, anon_sym_PLUS, anon_sym_SLASH, anon_sym_AMP, - ACTIONS(405), 20, + anon_sym_default, + ACTIONS(507), 19, + 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_COMMA, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH, @@ -6467,67 +6658,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - anon_sym_default, - [5017] = 14, + [5087] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(393), 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, - [5072] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(411), 5, + ACTIONS(513), 14, + 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_BANG, anon_sym_PLUS, anon_sym_SLASH, anon_sym_AMP, - ACTIONS(409), 20, + anon_sym_default, + ACTIONS(511), 19, + 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_COMMA, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH, @@ -6538,69 +6696,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - anon_sym_default, - [5105] = 16, + [5128] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(413), 7, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - [5164] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(423), 5, + ACTIONS(517), 14, + 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_BANG, anon_sym_PLUS, anon_sym_SLASH, anon_sym_AMP, - ACTIONS(421), 20, + anon_sym_default, + ACTIONS(515), 19, + 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_COMMA, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH, @@ -6611,26 +6734,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - anon_sym_default, - [5197] = 3, + [5169] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(435), 5, + ACTIONS(521), 14, + 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_BANG, anon_sym_PLUS, anon_sym_SLASH, anon_sym_AMP, - ACTIONS(433), 20, + anon_sym_default, + ACTIONS(519), 19, + 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_COMMA, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH, @@ -6641,69 +6772,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - anon_sym_default, - [5230] = 16, + [5210] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(451), 7, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - [5289] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(461), 5, + ACTIONS(525), 14, + 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_BANG, anon_sym_PLUS, anon_sym_SLASH, anon_sym_AMP, - ACTIONS(459), 20, + anon_sym_default, + ACTIONS(523), 19, + 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_COMMA, - anon_sym_RBRACK, + anon_sym_LBRACK, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH, @@ -6714,582 +6810,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, - anon_sym_default, - [5322] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(469), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(467), 20, - 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_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5355] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(499), 7, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - [5414] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(481), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(479), 20, - 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_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5447] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(505), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(503), 20, - 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_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5480] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(497), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(495), 20, - 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_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5513] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(477), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(475), 20, - 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_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5546] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(425), 7, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - [5605] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(437), 7, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - [5664] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(403), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(401), 20, - 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_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5697] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(397), 7, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - [5756] = 14, - ACTIONS(3), 1, - sym_comment, - ACTIONS(395), 1, - anon_sym_AMP, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(393), 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, - [5811] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(395), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(393), 18, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5848] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(395), 3, - anon_sym_GT, - anon_sym_LT, - anon_sym_AMP, - ACTIONS(393), 16, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5893] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(395), 1, - anon_sym_AMP, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(393), 11, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5944] = 13, - ACTIONS(3), 1, - sym_comment, - ACTIONS(395), 1, - anon_sym_AMP, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(393), 10, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_PIPE_PIPE, - anon_sym_SLASH_SLASH, - anon_sym_default, - [5997] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(395), 4, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_AMP, - ACTIONS(393), 17, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6038] = 3, + [5251] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(457), 5, @@ -7319,58 +6840,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_default, - [6071] = 3, + [5284] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(431), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(429), 20, - 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_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6104] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, anon_sym_SLASH, - ACTIONS(395), 3, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, anon_sym_GT, anon_sym_LT, - anon_sym_AMP, - ACTIONS(393), 15, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(435), 7, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, @@ -7378,24 +6883,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_RPAREN, anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6151] = 3, + [5343] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(387), 5, + ACTIONS(525), 5, anon_sym_GT, anon_sym_LT, anon_sym_PLUS, anon_sym_SLASH, anon_sym_AMP, - ACTIONS(385), 20, + ACTIONS(523), 20, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, @@ -7416,7 +6913,1131 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_default, - [6184] = 3, + [5376] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(391), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(389), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5409] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(433), 1, + anon_sym_AMP, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(431), 10, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_PIPE_PIPE, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5462] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(509), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(507), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5495] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(513), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(511), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5528] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(433), 4, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_AMP, + ACTIONS(431), 17, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5569] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(357), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [5628] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(487), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [5687] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(501), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(499), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5720] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(479), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [5779] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(497), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(495), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5812] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(483), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [5871] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(477), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(475), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5904] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(433), 3, + anon_sym_GT, + anon_sym_LT, + anon_sym_AMP, + ACTIONS(431), 15, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5951] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(425), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(423), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [5984] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(421), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(419), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6017] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(469), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(467), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6050] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(465), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(463), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6083] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(445), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(443), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6116] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(473), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(471), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6149] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(405), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(403), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6182] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(459), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [6241] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(433), 1, + anon_sym_AMP, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(431), 11, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6292] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(505), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(503), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6325] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(395), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(393), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6358] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(407), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + [6417] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(521), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(519), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6450] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(453), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(451), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6483] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(517), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(515), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6516] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(431), 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, + [6571] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(413), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(411), 20, + 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_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6604] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(417), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(415), 18, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6641] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(429), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(427), 18, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6678] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(433), 1, + anon_sym_AMP, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(431), 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, + [6733] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(493), 5, @@ -7446,16 +8067,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_default, - [6217] = 3, + [6766] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(489), 5, + ACTIONS(449), 5, anon_sym_GT, anon_sym_LT, anon_sym_PLUS, anon_sym_SLASH, anon_sym_AMP, - ACTIONS(487), 20, + ACTIONS(447), 20, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, @@ -7476,1568 +8097,1477 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_default, - [6250] = 3, + [6799] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(383), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(381), 20, - 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_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6283] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(485), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(483), 20, - 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_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6316] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(473), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(471), 18, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6353] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(465), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(463), 18, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6390] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(419), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(417), 20, - 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_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6423] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, ACTIONS(527), 1, - anon_sym_SLASH, + anon_sym_DOT, ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(389), 7, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RPAREN, - anon_sym_COLON, - [6482] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(347), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(345), 20, - 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_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6515] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(443), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(441), 20, - 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_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS_PLUS, - anon_sym_STAR, - anon_sym_SLASH_SLASH, - anon_sym_default, - [6548] = 18, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, ACTIONS(535), 1, - anon_sym_COMMA, - ACTIONS(537), 1, - anon_sym_RPAREN, - STATE(173), 1, - aux_sym_array_repeat1, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [6607] = 18, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(539), 1, - anon_sym_COMMA, - ACTIONS(541), 1, - anon_sym_RPAREN, - STATE(195), 1, - aux_sym_array_repeat1, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [6666] = 6, - ACTIONS(3), 1, - sym_comment, ACTIONS(543), 1, - anon_sym_COMMA, + anon_sym_PLUS, ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(433), 3, + anon_sym_GT, + anon_sym_LT, + anon_sym_AMP, + ACTIONS(431), 16, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, anon_sym_RPAREN, - ACTIONS(548), 1, anon_sym_COLON, - ACTIONS(187), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_AMP, - ACTIONS(185), 13, - anon_sym_DOT, - anon_sym_LPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, - anon_sym_DASH, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_PLUS_PLUS, - anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_default, - [6701] = 16, + [6844] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, ACTIONS(527), 1, - anon_sym_SLASH, + anon_sym_DOT, ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, + anon_sym_LPAREN, + ACTIONS(433), 5, anon_sym_GT, anon_sym_LT, - ACTIONS(550), 3, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(431), 18, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RPAREN, - ACTIONS(513), 4, + anon_sym_COLON, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - [6756] = 18, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [6881] = 18, ACTIONS(3), 1, sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, ACTIONS(527), 1, - anon_sym_SLASH, + anon_sym_DOT, ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, anon_sym_AMP, - ACTIONS(531), 1, + ACTIONS(551), 1, anon_sym_SLASH_SLASH, - ACTIONS(533), 1, + ACTIONS(553), 1, anon_sym_default, - ACTIONS(552), 1, - anon_sym_COMMA, - ACTIONS(554), 1, - anon_sym_RBRACK, - STATE(186), 1, - aux_sym_array_repeat1, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [6815] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(449), 1, - anon_sym_SEMI, - ACTIONS(447), 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(445), 11, - 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, - anon_sym_BANG, - [6846] = 18, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(556), 1, - anon_sym_COMMA, - ACTIONS(558), 1, - anon_sym_RBRACK, - STATE(191), 1, - aux_sym_array_repeat1, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [6905] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(349), 2, - anon_sym_SEMI, - anon_sym_RBRACE, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [6959] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(562), 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(560), 11, - 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, - anon_sym_BANG, - [6987] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(564), 2, + ACTIONS(555), 1, anon_sym_COMMA, + ACTIONS(557), 1, anon_sym_RPAREN, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [7041] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(511), 2, + STATE(185), 1, + aux_sym_array_repeat1, + ACTIONS(531), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(566), 2, - anon_sym_SEMI, - anon_sym_RBRACE, - ACTIONS(513), 4, + ACTIONS(533), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - [7095] = 16, + [6940] = 18, ACTIONS(3), 1, sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, ACTIONS(527), 1, - anon_sym_SLASH, + anon_sym_DOT, ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, anon_sym_AMP, - ACTIONS(531), 1, + ACTIONS(551), 1, anon_sym_SLASH_SLASH, - ACTIONS(533), 1, + ACTIONS(553), 1, anon_sym_default, + ACTIONS(559), 1, + anon_sym_COMMA, + ACTIONS(561), 1, + anon_sym_RPAREN, + STATE(197), 1, + aux_sym_array_repeat1, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [6999] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(563), 1, + anon_sym_COMMA, + ACTIONS(565), 1, + anon_sym_RPAREN, ACTIONS(568), 1, - anon_sym_LBRACE, - ACTIONS(511), 2, + anon_sym_COLON, + ACTIONS(351), 5, anon_sym_GT, anon_sym_LT, - ACTIONS(513), 4, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_AMP, + ACTIONS(349), 13, + anon_sym_DOT, + anon_sym_LPAREN, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - [7148] = 16, + anon_sym_PLUS_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_default, + [7034] = 18, ACTIONS(3), 1, sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, ACTIONS(527), 1, - anon_sym_SLASH, + anon_sym_DOT, ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, anon_sym_AMP, - ACTIONS(531), 1, + ACTIONS(551), 1, anon_sym_SLASH_SLASH, - ACTIONS(533), 1, + ACTIONS(553), 1, anon_sym_default, ACTIONS(570), 1, - anon_sym_RPAREN, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [7201] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(572), 1, - anon_sym_COLON, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [7254] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(574), 1, - anon_sym_RPAREN, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [7307] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(507), 1, - anon_sym_DOT, - ACTIONS(509), 1, - anon_sym_LPAREN, - ACTIONS(515), 1, - anon_sym_DASH, - ACTIONS(517), 1, - anon_sym_PIPE_PIPE, - ACTIONS(519), 1, - anon_sym_AMP_AMP, - ACTIONS(521), 1, - anon_sym_PLUS_PLUS, - ACTIONS(523), 1, - anon_sym_PLUS, - ACTIONS(525), 1, - anon_sym_STAR, - ACTIONS(527), 1, - anon_sym_SLASH, - ACTIONS(529), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SLASH_SLASH, - ACTIONS(533), 1, - anon_sym_default, - ACTIONS(576), 1, - anon_sym_LBRACE, - ACTIONS(511), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(513), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [7360] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(578), 1, - sym_identifier, - ACTIONS(581), 1, - anon_sym_in, - STATE(161), 1, - aux_sym_let_expression_repeat1, - STATE(216), 1, - sym_field_path, - STATE(221), 1, - sym_field_definition, - [7379] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(583), 1, - sym_identifier, - ACTIONS(585), 1, - anon_sym_in, - STATE(164), 1, - aux_sym_let_expression_repeat1, - STATE(216), 1, - sym_field_path, - STATE(221), 1, - sym_field_definition, - [7398] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(583), 1, - sym_identifier, - ACTIONS(587), 1, - anon_sym_in, - STATE(165), 1, - aux_sym_let_expression_repeat1, - STATE(216), 1, - sym_field_path, - STATE(221), 1, - sym_field_definition, - [7417] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(583), 1, - sym_identifier, - ACTIONS(589), 1, - anon_sym_in, - STATE(161), 1, - aux_sym_let_expression_repeat1, - STATE(216), 1, - sym_field_path, - STATE(221), 1, - sym_field_definition, - [7436] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(583), 1, - sym_identifier, - ACTIONS(591), 1, - anon_sym_in, - STATE(161), 1, - aux_sym_let_expression_repeat1, - STATE(216), 1, - sym_field_path, - STATE(221), 1, - sym_field_definition, - [7455] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(593), 1, - sym_identifier, - ACTIONS(595), 1, - anon_sym_RBRACE, - STATE(203), 1, - sym_field_definition, - STATE(216), 1, - sym_field_path, - [7471] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(593), 1, - sym_identifier, - ACTIONS(597), 1, - anon_sym_RBRACE, - STATE(203), 1, - sym_field_definition, - STATE(216), 1, - sym_field_path, - [7487] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(593), 1, - sym_identifier, - ACTIONS(599), 1, - anon_sym_RBRACE, - STATE(203), 1, - sym_field_definition, - STATE(216), 1, - sym_field_path, - [7503] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(593), 1, - sym_identifier, - ACTIONS(601), 1, - anon_sym_RBRACE, - STATE(203), 1, - sym_field_definition, - STATE(216), 1, - sym_field_path, - [7519] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(593), 1, - sym_identifier, - ACTIONS(603), 1, - anon_sym_RBRACE, - STATE(193), 1, - sym_field_definition, - STATE(216), 1, - sym_field_path, - [7535] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(605), 1, anon_sym_COMMA, - STATE(171), 1, + ACTIONS(572), 1, + anon_sym_RBRACK, + STATE(207), 1, aux_sym_array_repeat1, - ACTIONS(550), 2, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7093] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(574), 3, + anon_sym_COMMA, anon_sym_RBRACK, anon_sym_RPAREN, - [7549] = 5, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7148] = 18, ACTIONS(3), 1, sym_comment, - ACTIONS(593), 1, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(576), 1, + anon_sym_COMMA, + ACTIONS(578), 1, + anon_sym_RBRACK, + STATE(194), 1, + aux_sym_array_repeat1, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7207] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(401), 1, + anon_sym_SEMI, + ACTIONS(399), 9, + anon_sym_true, + anon_sym_false, + sym_integer, sym_identifier, - ACTIONS(608), 1, + anon_sym_let, + anon_sym_match, + anon_sym_import, + anon_sym_GT, + anon_sym_LT, + ACTIONS(397), 11, + 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, + anon_sym_BANG, + [7238] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(580), 1, + anon_sym_COMMA, + ACTIONS(582), 1, + anon_sym_RBRACK, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7294] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(586), 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(584), 11, + 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, + anon_sym_BANG, + [7322] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(439), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7376] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(588), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7430] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(590), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7484] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(592), 1, + anon_sym_COMMA, + ACTIONS(594), 1, + anon_sym_RBRACK, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7540] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(596), 1, + anon_sym_RPAREN, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7593] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(598), 1, + anon_sym_COLON, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7646] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(600), 1, + anon_sym_RPAREN, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7699] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(602), 1, + anon_sym_LBRACE, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7752] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(527), 1, + anon_sym_DOT, + ACTIONS(529), 1, + anon_sym_LPAREN, + ACTIONS(535), 1, + anon_sym_DASH, + ACTIONS(537), 1, + anon_sym_PIPE_PIPE, + ACTIONS(539), 1, + anon_sym_AMP_AMP, + ACTIONS(541), 1, + anon_sym_PLUS_PLUS, + ACTIONS(543), 1, + anon_sym_PLUS, + ACTIONS(545), 1, + anon_sym_STAR, + ACTIONS(547), 1, + anon_sym_SLASH, + ACTIONS(549), 1, + anon_sym_AMP, + ACTIONS(551), 1, + anon_sym_SLASH_SLASH, + ACTIONS(553), 1, + anon_sym_default, + ACTIONS(604), 1, + anon_sym_LBRACE, + ACTIONS(531), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(533), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [7805] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(606), 1, + sym_identifier, + ACTIONS(609), 1, + anon_sym_in, + STATE(169), 1, + aux_sym_let_expression_repeat1, + STATE(227), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7824] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(611), 1, + sym_identifier, + ACTIONS(613), 1, + anon_sym_in, + STATE(169), 1, + aux_sym_let_expression_repeat1, + STATE(227), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7843] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(611), 1, + sym_identifier, + ACTIONS(615), 1, + anon_sym_in, + STATE(172), 1, + aux_sym_let_expression_repeat1, + STATE(227), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7862] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(611), 1, + sym_identifier, + ACTIONS(617), 1, + anon_sym_in, + STATE(169), 1, + aux_sym_let_expression_repeat1, + STATE(227), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7881] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(611), 1, + sym_identifier, + ACTIONS(619), 1, + anon_sym_in, + STATE(170), 1, + aux_sym_let_expression_repeat1, + STATE(227), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7900] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(621), 1, + sym_identifier, + ACTIONS(623), 1, + anon_sym_RBRACE, + STATE(209), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7916] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(621), 1, + sym_identifier, + ACTIONS(625), 1, + anon_sym_RBRACE, + STATE(209), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7932] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(621), 1, + sym_identifier, + ACTIONS(627), 1, + anon_sym_RBRACE, + STATE(209), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7948] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(621), 1, + sym_identifier, + ACTIONS(629), 1, + anon_sym_RBRACE, + STATE(209), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7964] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(621), 1, + sym_identifier, + ACTIONS(631), 1, anon_sym_RBRACE, STATE(200), 1, sym_field_definition, - STATE(216), 1, + STATE(228), 1, sym_field_path, - [7565] = 4, + [7980] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(157), 1, - anon_sym_RPAREN, - ACTIONS(610), 1, - anon_sym_COMMA, - STATE(171), 1, - aux_sym_array_repeat1, - [7578] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(612), 1, - anon_sym_SEMI, - ACTIONS(614), 1, - anon_sym_RBRACE, - STATE(180), 1, - aux_sym_match_expression_repeat1, - [7591] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(548), 1, - anon_sym_COLON, - ACTIONS(543), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [7602] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(616), 1, - anon_sym_COMMA, - ACTIONS(618), 1, - anon_sym_RPAREN, - STATE(196), 1, - aux_sym_function_expression_repeat1, - [7615] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(620), 1, + ACTIONS(621), 1, sym_identifier, - ACTIONS(622), 1, - anon_sym_RPAREN, - STATE(205), 1, - sym_parameter, - [7628] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(191), 1, - anon_sym_DOT, - ACTIONS(624), 1, - anon_sym_EQ, - STATE(182), 1, - aux_sym_field_path_repeat1, - [7641] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(620), 1, - sym_identifier, - ACTIONS(626), 1, - anon_sym_RPAREN, - STATE(205), 1, - sym_parameter, - [7654] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(113), 1, - anon_sym_RBRACE, - ACTIONS(628), 1, - anon_sym_SEMI, - STATE(190), 1, - aux_sym_match_expression_repeat1, - [7667] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(630), 1, - anon_sym_COMMA, ACTIONS(633), 1, - anon_sym_RPAREN, - STATE(181), 1, - aux_sym_function_expression_repeat1, - [7680] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(191), 1, - anon_sym_DOT, - ACTIONS(635), 1, - anon_sym_EQ, - STATE(187), 1, - aux_sym_field_path_repeat1, - [7693] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(637), 1, - anon_sym_COMMA, - ACTIONS(639), 1, - anon_sym_RPAREN, - STATE(181), 1, - aux_sym_function_expression_repeat1, - [7706] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(593), 1, - sym_identifier, - STATE(203), 1, - sym_field_definition, - STATE(216), 1, - sym_field_path, - [7719] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(599), 1, anon_sym_RBRACE, - ACTIONS(641), 1, + STATE(190), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [7996] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(635), 1, + anon_sym_COMMA, + STATE(180), 1, + aux_sym_array_repeat1, + ACTIONS(574), 2, + anon_sym_RBRACK, + anon_sym_RPAREN, + [8010] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(117), 1, + anon_sym_RBRACE, + ACTIONS(638), 1, anon_sym_SEMI, - STATE(194), 1, + STATE(199), 1, + aux_sym_match_expression_repeat1, + [8023] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(629), 1, + anon_sym_RBRACE, + ACTIONS(640), 1, + anon_sym_SEMI, + STATE(196), 1, aux_sym_object_repeat1, - [7732] = 4, + [8036] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(642), 1, + sym_identifier, + ACTIONS(644), 1, + anon_sym_RPAREN, + STATE(214), 1, + sym_parameter, + [8049] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(621), 1, + sym_identifier, + STATE(209), 1, + sym_field_definition, + STATE(228), 1, + sym_field_path, + [8062] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(167), 1, + anon_sym_RPAREN, + ACTIONS(646), 1, + anon_sym_COMMA, + STATE(180), 1, + aux_sym_array_repeat1, + [8075] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(648), 1, + anon_sym_SEMI, + ACTIONS(650), 1, + anon_sym_RBRACE, + STATE(181), 1, + aux_sym_match_expression_repeat1, + [8088] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(652), 1, + anon_sym_COMMA, + ACTIONS(655), 1, + anon_sym_RPAREN, + STATE(187), 1, + aux_sym_function_expression_repeat1, + [8101] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(642), 1, + sym_identifier, + ACTIONS(657), 1, + anon_sym_RPAREN, + STATE(214), 1, + sym_parameter, + [8114] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(642), 1, + sym_identifier, + ACTIONS(659), 1, + anon_sym_RPAREN, + STATE(214), 1, + sym_parameter, + [8127] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(661), 1, + anon_sym_SEMI, + ACTIONS(663), 1, + anon_sym_RBRACE, + STATE(182), 1, + aux_sym_object_repeat1, + [8140] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(665), 1, + anon_sym_COMMA, + ACTIONS(667), 1, + anon_sym_RPAREN, + STATE(203), 1, + aux_sym_function_expression_repeat1, + [8153] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(568), 1, + anon_sym_COLON, + ACTIONS(563), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [8164] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(642), 1, + sym_identifier, + ACTIONS(669), 1, + anon_sym_RPAREN, + STATE(214), 1, + sym_parameter, + [8177] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(153), 1, + anon_sym_RBRACK, + ACTIONS(671), 1, + anon_sym_COMMA, + STATE(180), 1, + aux_sym_array_repeat1, + [8190] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(119), 1, + anon_sym_RBRACE, + ACTIONS(673), 1, + anon_sym_SEMI, + STATE(199), 1, + aux_sym_match_expression_repeat1, + [8203] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(675), 1, + anon_sym_SEMI, + ACTIONS(678), 1, + anon_sym_RBRACE, + STATE(196), 1, + aux_sym_object_repeat1, + [8216] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(155), 1, - anon_sym_RBRACK, - ACTIONS(643), 1, - anon_sym_COMMA, - STATE(171), 1, - aux_sym_array_repeat1, - [7745] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(645), 1, - anon_sym_EQ, - ACTIONS(647), 1, - anon_sym_DOT, - STATE(187), 1, - aux_sym_field_path_repeat1, - [7758] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(620), 1, - sym_identifier, - ACTIONS(639), 1, anon_sym_RPAREN, - STATE(205), 1, - sym_parameter, - [7771] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(650), 1, - anon_sym_COMMA, - ACTIONS(652), 1, - anon_sym_RPAREN, - STATE(183), 1, - aux_sym_function_expression_repeat1, - [7784] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(654), 1, - anon_sym_SEMI, - ACTIONS(657), 1, - anon_sym_RBRACE, - STATE(190), 1, - aux_sym_match_expression_repeat1, - [7797] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(137), 1, - anon_sym_RBRACK, - ACTIONS(659), 1, - anon_sym_COMMA, - STATE(171), 1, - aux_sym_array_repeat1, - [7810] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(115), 1, - anon_sym_RBRACE, - ACTIONS(661), 1, - anon_sym_SEMI, - STATE(190), 1, - aux_sym_match_expression_repeat1, - [7823] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(663), 1, - anon_sym_SEMI, - ACTIONS(665), 1, - anon_sym_RBRACE, - STATE(199), 1, - aux_sym_object_repeat1, - [7836] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(667), 1, - anon_sym_SEMI, - ACTIONS(670), 1, - anon_sym_RBRACE, - STATE(194), 1, - aux_sym_object_repeat1, - [7849] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(147), 1, - anon_sym_RPAREN, - ACTIONS(672), 1, - anon_sym_COMMA, - STATE(171), 1, - aux_sym_array_repeat1, - [7862] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(674), 1, - anon_sym_COMMA, - ACTIONS(676), 1, - anon_sym_RPAREN, - STATE(181), 1, - aux_sym_function_expression_repeat1, - [7875] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(678), 1, - anon_sym_SEMI, ACTIONS(680), 1, - anon_sym_RBRACE, - STATE(192), 1, - aux_sym_match_expression_repeat1, - [7888] = 4, + anon_sym_COMMA, + STATE(180), 1, + aux_sym_array_repeat1, + [8229] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(620), 1, - sym_identifier, - ACTIONS(676), 1, - anon_sym_RPAREN, - STATE(205), 1, - sym_parameter, - [7901] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(597), 1, - anon_sym_RBRACE, ACTIONS(682), 1, anon_sym_SEMI, - STATE(194), 1, - aux_sym_object_repeat1, - [7914] = 4, - ACTIONS(3), 1, - sym_comment, ACTIONS(684), 1, - anon_sym_SEMI, + anon_sym_RBRACE, + STATE(195), 1, + aux_sym_match_expression_repeat1, + [8242] = 4, + ACTIONS(3), 1, + sym_comment, ACTIONS(686), 1, + anon_sym_SEMI, + ACTIONS(689), 1, anon_sym_RBRACE, - STATE(185), 1, + STATE(199), 1, + aux_sym_match_expression_repeat1, + [8255] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(691), 1, + anon_sym_SEMI, + ACTIONS(693), 1, + anon_sym_RBRACE, + STATE(206), 1, aux_sym_object_repeat1, - [7927] = 3, + [8268] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(620), 1, - sym_identifier, - STATE(205), 1, - sym_parameter, - [7937] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(657), 2, - anon_sym_SEMI, - anon_sym_RBRACE, - [7945] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(670), 2, - anon_sym_SEMI, - anon_sym_RBRACE, - [7953] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(645), 2, + ACTIONS(695), 1, anon_sym_EQ, + ACTIONS(697), 1, anon_sym_DOT, - [7961] = 2, + STATE(201), 1, + aux_sym_field_path_repeat1, + [8281] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(633), 2, - anon_sym_COMMA, + ACTIONS(659), 1, anon_sym_RPAREN, - [7969] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(581), 2, - sym_identifier, - anon_sym_in, - [7977] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(688), 1, - sym_identifier, - [7984] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(690), 1, - anon_sym_EQ_GT, - [7991] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(692), 1, - anon_sym_EQ_GT, - [7998] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(694), 1, - anon_sym_EQ_GT, - [8005] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(696), 1, - sym_identifier, - [8012] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(698), 1, - anon_sym_EQ_GT, - [8019] = 2, - ACTIONS(3), 1, - sym_comment, ACTIONS(700), 1, - anon_sym_EQ_GT, - [8026] = 2, + anon_sym_COMMA, + STATE(187), 1, + aux_sym_function_expression_repeat1, + [8294] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(644), 1, + anon_sym_RPAREN, ACTIONS(702), 1, - anon_sym_EQ, - [8033] = 2, + anon_sym_COMMA, + STATE(187), 1, + aux_sym_function_expression_repeat1, + [8307] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(355), 1, + anon_sym_DOT, ACTIONS(704), 1, - anon_sym_EQ_GT, - [8040] = 2, + anon_sym_EQ, + STATE(208), 1, + aux_sym_field_path_repeat1, + [8320] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(706), 1, - anon_sym_EQ, - [8047] = 2, - ACTIONS(3), 1, - sym_comment, + anon_sym_COMMA, ACTIONS(708), 1, - ts_builtin_sym_end, - [8054] = 2, + anon_sym_RPAREN, + STATE(202), 1, + aux_sym_function_expression_repeat1, + [8333] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(625), 1, + anon_sym_RBRACE, ACTIONS(710), 1, - sym_string, - [8061] = 2, + anon_sym_SEMI, + STATE(196), 1, + aux_sym_object_repeat1, + [8346] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(159), 1, + anon_sym_RBRACK, ACTIONS(712), 1, - sym_string, - [8068] = 2, + anon_sym_COMMA, + STATE(180), 1, + aux_sym_array_repeat1, + [8359] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(355), 1, + anon_sym_DOT, ACTIONS(714), 1, + anon_sym_EQ, + STATE(201), 1, + aux_sym_field_path_repeat1, + [8372] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(678), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [8380] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(695), 2, + anon_sym_EQ, + anon_sym_DOT, + [8388] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 2, sym_identifier, - [8075] = 2, + anon_sym_in, + [8396] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(642), 1, + sym_identifier, + STATE(214), 1, + sym_parameter, + [8406] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(689), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [8414] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(655), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [8422] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(716), 1, - anon_sym_SEMI, - [8082] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(572), 1, - anon_sym_COLON, - [8089] = 2, + sym_string, + [8429] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(718), 1, - anon_sym_EQ_GT, - [8096] = 2, + anon_sym_RBRACK, + [8436] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(720), 1, + anon_sym_EQ, + [8443] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(722), 1, + anon_sym_EQ_GT, + [8450] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(724), 1, + anon_sym_EQ_GT, + [8457] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(726), 1, + anon_sym_EQ_GT, + [8464] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(728), 1, + sym_identifier, + [8471] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(730), 1, + anon_sym_EQ_GT, + [8478] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(732), 1, + anon_sym_EQ_GT, + [8485] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(734), 1, + sym_identifier, + [8492] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(736), 1, + ts_builtin_sym_end, + [8499] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(738), 1, + sym_string, + [8506] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(740), 1, + anon_sym_SEMI, + [8513] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(742), 1, + anon_sym_EQ, + [8520] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(744), 1, + anon_sym_RBRACK, + [8527] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(746), 1, + anon_sym_EQ_GT, + [8534] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(598), 1, + anon_sym_COLON, + [8541] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(748), 1, + anon_sym_EQ_GT, + [8548] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(750), 1, + sym_identifier, + [8555] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(752), 1, anon_sym_EQ_GT, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(25)] = 0, - [SMALL_STATE(26)] = 71, - [SMALL_STATE(27)] = 142, - [SMALL_STATE(28)] = 191, - [SMALL_STATE(29)] = 262, - [SMALL_STATE(30)] = 333, - [SMALL_STATE(31)] = 404, - [SMALL_STATE(32)] = 475, - [SMALL_STATE(33)] = 546, - [SMALL_STATE(34)] = 617, - [SMALL_STATE(35)] = 688, - [SMALL_STATE(36)] = 759, - [SMALL_STATE(37)] = 830, - [SMALL_STATE(38)] = 901, - [SMALL_STATE(39)] = 972, - [SMALL_STATE(40)] = 1043, - [SMALL_STATE(41)] = 1114, - [SMALL_STATE(42)] = 1185, - [SMALL_STATE(43)] = 1256, - [SMALL_STATE(44)] = 1327, - [SMALL_STATE(45)] = 1398, - [SMALL_STATE(46)] = 1469, - [SMALL_STATE(47)] = 1540, - [SMALL_STATE(48)] = 1611, - [SMALL_STATE(49)] = 1682, - [SMALL_STATE(50)] = 1753, - [SMALL_STATE(51)] = 1824, - [SMALL_STATE(52)] = 1895, - [SMALL_STATE(53)] = 1966, - [SMALL_STATE(54)] = 2037, - [SMALL_STATE(55)] = 2108, - [SMALL_STATE(56)] = 2179, - [SMALL_STATE(57)] = 2250, - [SMALL_STATE(58)] = 2321, - [SMALL_STATE(59)] = 2392, - [SMALL_STATE(60)] = 2463, - [SMALL_STATE(61)] = 2534, - [SMALL_STATE(62)] = 2605, - [SMALL_STATE(63)] = 2676, - [SMALL_STATE(64)] = 2747, - [SMALL_STATE(65)] = 2818, - [SMALL_STATE(66)] = 2889, - [SMALL_STATE(67)] = 2960, - [SMALL_STATE(68)] = 3001, - [SMALL_STATE(69)] = 3070, - [SMALL_STATE(70)] = 3111, - [SMALL_STATE(71)] = 3152, - [SMALL_STATE(72)] = 3221, - [SMALL_STATE(73)] = 3276, - [SMALL_STATE(74)] = 3325, - [SMALL_STATE(75)] = 3386, - [SMALL_STATE(76)] = 3445, - [SMALL_STATE(77)] = 3498, - [SMALL_STATE(78)] = 3543, - [SMALL_STATE(79)] = 3606, - [SMALL_STATE(80)] = 3671, - [SMALL_STATE(81)] = 3740, - [SMALL_STATE(82)] = 3781, - [SMALL_STATE(83)] = 3822, - [SMALL_STATE(84)] = 3863, - [SMALL_STATE(85)] = 3932, - [SMALL_STATE(86)] = 3973, - [SMALL_STATE(87)] = 4014, - [SMALL_STATE(88)] = 4083, - [SMALL_STATE(89)] = 4124, - [SMALL_STATE(90)] = 4165, - [SMALL_STATE(91)] = 4234, - [SMALL_STATE(92)] = 4275, - [SMALL_STATE(93)] = 4346, - [SMALL_STATE(94)] = 4415, - [SMALL_STATE(95)] = 4456, - [SMALL_STATE(96)] = 4497, - [SMALL_STATE(97)] = 4542, - [SMALL_STATE(98)] = 4583, - [SMALL_STATE(99)] = 4628, - [SMALL_STATE(100)] = 4669, - [SMALL_STATE(101)] = 4710, - [SMALL_STATE(102)] = 4751, - [SMALL_STATE(103)] = 4792, - [SMALL_STATE(104)] = 4833, - [SMALL_STATE(105)] = 4874, - [SMALL_STATE(106)] = 4943, - [SMALL_STATE(107)] = 4984, - [SMALL_STATE(108)] = 5017, - [SMALL_STATE(109)] = 5072, - [SMALL_STATE(110)] = 5105, - [SMALL_STATE(111)] = 5164, - [SMALL_STATE(112)] = 5197, - [SMALL_STATE(113)] = 5230, - [SMALL_STATE(114)] = 5289, - [SMALL_STATE(115)] = 5322, - [SMALL_STATE(116)] = 5355, - [SMALL_STATE(117)] = 5414, - [SMALL_STATE(118)] = 5447, - [SMALL_STATE(119)] = 5480, - [SMALL_STATE(120)] = 5513, - [SMALL_STATE(121)] = 5546, - [SMALL_STATE(122)] = 5605, - [SMALL_STATE(123)] = 5664, - [SMALL_STATE(124)] = 5697, - [SMALL_STATE(125)] = 5756, - [SMALL_STATE(126)] = 5811, - [SMALL_STATE(127)] = 5848, - [SMALL_STATE(128)] = 5893, - [SMALL_STATE(129)] = 5944, - [SMALL_STATE(130)] = 5997, - [SMALL_STATE(131)] = 6038, - [SMALL_STATE(132)] = 6071, - [SMALL_STATE(133)] = 6104, - [SMALL_STATE(134)] = 6151, - [SMALL_STATE(135)] = 6184, - [SMALL_STATE(136)] = 6217, - [SMALL_STATE(137)] = 6250, - [SMALL_STATE(138)] = 6283, - [SMALL_STATE(139)] = 6316, - [SMALL_STATE(140)] = 6353, - [SMALL_STATE(141)] = 6390, - [SMALL_STATE(142)] = 6423, - [SMALL_STATE(143)] = 6482, - [SMALL_STATE(144)] = 6515, - [SMALL_STATE(145)] = 6548, - [SMALL_STATE(146)] = 6607, - [SMALL_STATE(147)] = 6666, - [SMALL_STATE(148)] = 6701, - [SMALL_STATE(149)] = 6756, - [SMALL_STATE(150)] = 6815, - [SMALL_STATE(151)] = 6846, - [SMALL_STATE(152)] = 6905, - [SMALL_STATE(153)] = 6959, - [SMALL_STATE(154)] = 6987, - [SMALL_STATE(155)] = 7041, - [SMALL_STATE(156)] = 7095, - [SMALL_STATE(157)] = 7148, - [SMALL_STATE(158)] = 7201, - [SMALL_STATE(159)] = 7254, - [SMALL_STATE(160)] = 7307, - [SMALL_STATE(161)] = 7360, - [SMALL_STATE(162)] = 7379, - [SMALL_STATE(163)] = 7398, - [SMALL_STATE(164)] = 7417, - [SMALL_STATE(165)] = 7436, - [SMALL_STATE(166)] = 7455, - [SMALL_STATE(167)] = 7471, - [SMALL_STATE(168)] = 7487, - [SMALL_STATE(169)] = 7503, - [SMALL_STATE(170)] = 7519, - [SMALL_STATE(171)] = 7535, - [SMALL_STATE(172)] = 7549, - [SMALL_STATE(173)] = 7565, - [SMALL_STATE(174)] = 7578, - [SMALL_STATE(175)] = 7591, - [SMALL_STATE(176)] = 7602, - [SMALL_STATE(177)] = 7615, - [SMALL_STATE(178)] = 7628, - [SMALL_STATE(179)] = 7641, - [SMALL_STATE(180)] = 7654, - [SMALL_STATE(181)] = 7667, - [SMALL_STATE(182)] = 7680, - [SMALL_STATE(183)] = 7693, - [SMALL_STATE(184)] = 7706, - [SMALL_STATE(185)] = 7719, - [SMALL_STATE(186)] = 7732, - [SMALL_STATE(187)] = 7745, - [SMALL_STATE(188)] = 7758, - [SMALL_STATE(189)] = 7771, - [SMALL_STATE(190)] = 7784, - [SMALL_STATE(191)] = 7797, - [SMALL_STATE(192)] = 7810, - [SMALL_STATE(193)] = 7823, - [SMALL_STATE(194)] = 7836, - [SMALL_STATE(195)] = 7849, - [SMALL_STATE(196)] = 7862, - [SMALL_STATE(197)] = 7875, - [SMALL_STATE(198)] = 7888, - [SMALL_STATE(199)] = 7901, - [SMALL_STATE(200)] = 7914, - [SMALL_STATE(201)] = 7927, - [SMALL_STATE(202)] = 7937, - [SMALL_STATE(203)] = 7945, - [SMALL_STATE(204)] = 7953, - [SMALL_STATE(205)] = 7961, - [SMALL_STATE(206)] = 7969, - [SMALL_STATE(207)] = 7977, - [SMALL_STATE(208)] = 7984, - [SMALL_STATE(209)] = 7991, - [SMALL_STATE(210)] = 7998, - [SMALL_STATE(211)] = 8005, - [SMALL_STATE(212)] = 8012, - [SMALL_STATE(213)] = 8019, - [SMALL_STATE(214)] = 8026, - [SMALL_STATE(215)] = 8033, - [SMALL_STATE(216)] = 8040, - [SMALL_STATE(217)] = 8047, - [SMALL_STATE(218)] = 8054, - [SMALL_STATE(219)] = 8061, - [SMALL_STATE(220)] = 8068, - [SMALL_STATE(221)] = 8075, - [SMALL_STATE(222)] = 8082, - [SMALL_STATE(223)] = 8089, - [SMALL_STATE(224)] = 8096, + [SMALL_STATE(26)] = 72, + [SMALL_STATE(27)] = 144, + [SMALL_STATE(28)] = 216, + [SMALL_STATE(29)] = 288, + [SMALL_STATE(30)] = 360, + [SMALL_STATE(31)] = 432, + [SMALL_STATE(32)] = 504, + [SMALL_STATE(33)] = 576, + [SMALL_STATE(34)] = 648, + [SMALL_STATE(35)] = 720, + [SMALL_STATE(36)] = 792, + [SMALL_STATE(37)] = 864, + [SMALL_STATE(38)] = 936, + [SMALL_STATE(39)] = 1008, + [SMALL_STATE(40)] = 1080, + [SMALL_STATE(41)] = 1152, + [SMALL_STATE(42)] = 1224, + [SMALL_STATE(43)] = 1296, + [SMALL_STATE(44)] = 1368, + [SMALL_STATE(45)] = 1440, + [SMALL_STATE(46)] = 1512, + [SMALL_STATE(47)] = 1584, + [SMALL_STATE(48)] = 1656, + [SMALL_STATE(49)] = 1728, + [SMALL_STATE(50)] = 1800, + [SMALL_STATE(51)] = 1872, + [SMALL_STATE(52)] = 1944, + [SMALL_STATE(53)] = 2016, + [SMALL_STATE(54)] = 2088, + [SMALL_STATE(55)] = 2160, + [SMALL_STATE(56)] = 2232, + [SMALL_STATE(57)] = 2304, + [SMALL_STATE(58)] = 2376, + [SMALL_STATE(59)] = 2448, + [SMALL_STATE(60)] = 2520, + [SMALL_STATE(61)] = 2592, + [SMALL_STATE(62)] = 2664, + [SMALL_STATE(63)] = 2736, + [SMALL_STATE(64)] = 2808, + [SMALL_STATE(65)] = 2880, + [SMALL_STATE(66)] = 2952, + [SMALL_STATE(67)] = 3024, + [SMALL_STATE(68)] = 3096, + [SMALL_STATE(69)] = 3145, + [SMALL_STATE(70)] = 3214, + [SMALL_STATE(71)] = 3255, + [SMALL_STATE(72)] = 3296, + [SMALL_STATE(73)] = 3367, + [SMALL_STATE(74)] = 3408, + [SMALL_STATE(75)] = 3477, + [SMALL_STATE(76)] = 3518, + [SMALL_STATE(77)] = 3563, + [SMALL_STATE(78)] = 3604, + [SMALL_STATE(79)] = 3645, + [SMALL_STATE(80)] = 3690, + [SMALL_STATE(81)] = 3745, + [SMALL_STATE(82)] = 3794, + [SMALL_STATE(83)] = 3855, + [SMALL_STATE(84)] = 3914, + [SMALL_STATE(85)] = 3967, + [SMALL_STATE(86)] = 4012, + [SMALL_STATE(87)] = 4075, + [SMALL_STATE(88)] = 4140, + [SMALL_STATE(89)] = 4209, + [SMALL_STATE(90)] = 4278, + [SMALL_STATE(91)] = 4319, + [SMALL_STATE(92)] = 4360, + [SMALL_STATE(93)] = 4401, + [SMALL_STATE(94)] = 4442, + [SMALL_STATE(95)] = 4511, + [SMALL_STATE(96)] = 4552, + [SMALL_STATE(97)] = 4593, + [SMALL_STATE(98)] = 4634, + [SMALL_STATE(99)] = 4675, + [SMALL_STATE(100)] = 4744, + [SMALL_STATE(101)] = 4813, + [SMALL_STATE(102)] = 4882, + [SMALL_STATE(103)] = 4923, + [SMALL_STATE(104)] = 4964, + [SMALL_STATE(105)] = 5005, + [SMALL_STATE(106)] = 5046, + [SMALL_STATE(107)] = 5087, + [SMALL_STATE(108)] = 5128, + [SMALL_STATE(109)] = 5169, + [SMALL_STATE(110)] = 5210, + [SMALL_STATE(111)] = 5251, + [SMALL_STATE(112)] = 5284, + [SMALL_STATE(113)] = 5343, + [SMALL_STATE(114)] = 5376, + [SMALL_STATE(115)] = 5409, + [SMALL_STATE(116)] = 5462, + [SMALL_STATE(117)] = 5495, + [SMALL_STATE(118)] = 5528, + [SMALL_STATE(119)] = 5569, + [SMALL_STATE(120)] = 5628, + [SMALL_STATE(121)] = 5687, + [SMALL_STATE(122)] = 5720, + [SMALL_STATE(123)] = 5779, + [SMALL_STATE(124)] = 5812, + [SMALL_STATE(125)] = 5871, + [SMALL_STATE(126)] = 5904, + [SMALL_STATE(127)] = 5951, + [SMALL_STATE(128)] = 5984, + [SMALL_STATE(129)] = 6017, + [SMALL_STATE(130)] = 6050, + [SMALL_STATE(131)] = 6083, + [SMALL_STATE(132)] = 6116, + [SMALL_STATE(133)] = 6149, + [SMALL_STATE(134)] = 6182, + [SMALL_STATE(135)] = 6241, + [SMALL_STATE(136)] = 6292, + [SMALL_STATE(137)] = 6325, + [SMALL_STATE(138)] = 6358, + [SMALL_STATE(139)] = 6417, + [SMALL_STATE(140)] = 6450, + [SMALL_STATE(141)] = 6483, + [SMALL_STATE(142)] = 6516, + [SMALL_STATE(143)] = 6571, + [SMALL_STATE(144)] = 6604, + [SMALL_STATE(145)] = 6641, + [SMALL_STATE(146)] = 6678, + [SMALL_STATE(147)] = 6733, + [SMALL_STATE(148)] = 6766, + [SMALL_STATE(149)] = 6799, + [SMALL_STATE(150)] = 6844, + [SMALL_STATE(151)] = 6881, + [SMALL_STATE(152)] = 6940, + [SMALL_STATE(153)] = 6999, + [SMALL_STATE(154)] = 7034, + [SMALL_STATE(155)] = 7093, + [SMALL_STATE(156)] = 7148, + [SMALL_STATE(157)] = 7207, + [SMALL_STATE(158)] = 7238, + [SMALL_STATE(159)] = 7294, + [SMALL_STATE(160)] = 7322, + [SMALL_STATE(161)] = 7376, + [SMALL_STATE(162)] = 7430, + [SMALL_STATE(163)] = 7484, + [SMALL_STATE(164)] = 7540, + [SMALL_STATE(165)] = 7593, + [SMALL_STATE(166)] = 7646, + [SMALL_STATE(167)] = 7699, + [SMALL_STATE(168)] = 7752, + [SMALL_STATE(169)] = 7805, + [SMALL_STATE(170)] = 7824, + [SMALL_STATE(171)] = 7843, + [SMALL_STATE(172)] = 7862, + [SMALL_STATE(173)] = 7881, + [SMALL_STATE(174)] = 7900, + [SMALL_STATE(175)] = 7916, + [SMALL_STATE(176)] = 7932, + [SMALL_STATE(177)] = 7948, + [SMALL_STATE(178)] = 7964, + [SMALL_STATE(179)] = 7980, + [SMALL_STATE(180)] = 7996, + [SMALL_STATE(181)] = 8010, + [SMALL_STATE(182)] = 8023, + [SMALL_STATE(183)] = 8036, + [SMALL_STATE(184)] = 8049, + [SMALL_STATE(185)] = 8062, + [SMALL_STATE(186)] = 8075, + [SMALL_STATE(187)] = 8088, + [SMALL_STATE(188)] = 8101, + [SMALL_STATE(189)] = 8114, + [SMALL_STATE(190)] = 8127, + [SMALL_STATE(191)] = 8140, + [SMALL_STATE(192)] = 8153, + [SMALL_STATE(193)] = 8164, + [SMALL_STATE(194)] = 8177, + [SMALL_STATE(195)] = 8190, + [SMALL_STATE(196)] = 8203, + [SMALL_STATE(197)] = 8216, + [SMALL_STATE(198)] = 8229, + [SMALL_STATE(199)] = 8242, + [SMALL_STATE(200)] = 8255, + [SMALL_STATE(201)] = 8268, + [SMALL_STATE(202)] = 8281, + [SMALL_STATE(203)] = 8294, + [SMALL_STATE(204)] = 8307, + [SMALL_STATE(205)] = 8320, + [SMALL_STATE(206)] = 8333, + [SMALL_STATE(207)] = 8346, + [SMALL_STATE(208)] = 8359, + [SMALL_STATE(209)] = 8372, + [SMALL_STATE(210)] = 8380, + [SMALL_STATE(211)] = 8388, + [SMALL_STATE(212)] = 8396, + [SMALL_STATE(213)] = 8406, + [SMALL_STATE(214)] = 8414, + [SMALL_STATE(215)] = 8422, + [SMALL_STATE(216)] = 8429, + [SMALL_STATE(217)] = 8436, + [SMALL_STATE(218)] = 8443, + [SMALL_STATE(219)] = 8450, + [SMALL_STATE(220)] = 8457, + [SMALL_STATE(221)] = 8464, + [SMALL_STATE(222)] = 8471, + [SMALL_STATE(223)] = 8478, + [SMALL_STATE(224)] = 8485, + [SMALL_STATE(225)] = 8492, + [SMALL_STATE(226)] = 8499, + [SMALL_STATE(227)] = 8506, + [SMALL_STATE(228)] = 8513, + [SMALL_STATE(229)] = 8520, + [SMALL_STATE(230)] = 8527, + [SMALL_STATE(231)] = 8534, + [SMALL_STATE(232)] = 8541, + [SMALL_STATE(233)] = 8548, + [SMALL_STATE(234)] = 8555, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -9045,353 +9575,369 @@ 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(27), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(218), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [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(27), - [40] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(94), - [43] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(88), - [46] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(88), - [49] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(92), - [52] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(172), - [55] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(15), - [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(162), - [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(56), - [67] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(218), - [70] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(58), - [73] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(58), - [76] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(64), - [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(158), - [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131), - [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(132), - [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(163), - [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), - [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), - [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219), - [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), - [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), - [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), - [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), - [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148), - [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(151), - [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(226), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), + [39] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(68), + [42] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(105), + [45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(71), + [48] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(71), + [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(72), + [54] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(179), + [57] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(12), + [60] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(171), + [63] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(13), + [66] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(66), + [69] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(226), + [72] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(60), + [75] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(60), + [78] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(58), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), + [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), + [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), + [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173), + [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), + [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(215), + [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), + [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(153), + [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), + [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), + [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(155), + [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), [155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146), - [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [165] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), - [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149), - [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), - [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), - [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), - [187] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), - [189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_path, 1, 0, 0), - [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), - [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), - [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), - [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), - [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), - [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121), - [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), - [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), - [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(160), - [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), - [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), - [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), - [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), - [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [245] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), - [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), - [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), - [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), - [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [261] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), - [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), - [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), - [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [273] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), - [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), - [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), - [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), - [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), - [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(155), - [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), - [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [305] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), - [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [309] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), - [311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [313] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), - [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [317] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), - [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [321] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), - [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), - [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), - [329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), - [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [333] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), - [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [337] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142), - [339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139), - [343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3, 0, 0), - [347] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 3, 0, 0), - [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_definition, 3, 0, 10), - [351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_definition, 3, 0, 10), - [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), - [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), - [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [369] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), - [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [373] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), - [375] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [379] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), - [381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_path_expression, 3, 0, 6), - [383] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_path_expression, 3, 0, 6), - [385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 3, 0, 7), - [387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 3, 0, 7), - [389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 3, 0, 5), - [391] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 3, 0, 5), - [393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 8), - [395] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 8), - [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_expression, 3, 0, 9), - [399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_default_expression, 3, 0, 9), - [401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 4, 0, 0), - [403] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 4, 0, 0), - [405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 4, 0, 0), - [407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 4, 0, 0), - [409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 7, 0, 13), - [411] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 7, 0, 13), - [413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 7, 0, 17), - [415] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 7, 0, 17), - [417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [419] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 6, 0, 7), - [423] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 6, 0, 7), - [425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 4, 0, 11), - [427] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 4, 0, 11), - [429] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), - [431] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), - [433] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 6, 0, 13), - [435] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 6, 0, 13), - [437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, 0, 11), - [439] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, 0, 11), - [441] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 3, 0, 0), - [443] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 3, 0, 0), - [445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 1, 0, 0), - [447] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 1, 0, 0), - [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 6, 0, 15), - [453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 6, 0, 15), - [455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1, 0, 0), - [457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1, 0, 0), - [459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 5, 0, 7), - [461] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 5, 0, 7), - [463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 4), - [465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 4), - [467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 5, 0, 13), - [469] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 5, 0, 13), - [471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison_constraint, 2, 0, 3), - [473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison_constraint, 2, 0, 3), - [475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 4, 0, 13), - [477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 4, 0, 13), - [479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 5, 0, 0), - [481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 5, 0, 0), - [483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_expression, 2, 0, 2), - [485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_expression, 2, 0, 2), - [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 2, 0, 0), - [489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 2, 0, 0), - [491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2, 0, 0), - [493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 2, 0, 0), - [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 4, 0, 7), - [497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 4, 0, 7), - [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 5, 0, 14), - [501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 5, 0, 14), - [503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 5, 0, 0), - [505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 5, 0, 0), - [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), - [509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [511] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), - [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [523] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), - [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), - [529] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), - [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1, 0, 1), - [545] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), REDUCE(sym_parameter, 1, 0, 1), - [548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), - [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 2, 0, 0), - [562] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 2, 0, 0), - [564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 12), - [566] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 3, 0, 16), - [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [578] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(178), - [581] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2, 0, 0), - [583] = {.entry = {.count = 1, .reusable = false}}, SHIFT(178), - [585] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), - [587] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), - [589] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), - [591] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), - [593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [605] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(36), - [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), - [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), - [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), - [624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_path, 1, 0, 0), - [626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), - [628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [630] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(201), - [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_expression_repeat1, 2, 0, 0), - [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_path, 2, 0, 0), - [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), - [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), - [643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_path_repeat1, 2, 0, 0), - [647] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_path_repeat1, 2, 0, 0), SHIFT_REPEAT(211), - [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [654] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(12), - [657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), - [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [667] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2, 0, 0), SHIFT_REPEAT(184), - [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2, 0, 0), - [672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), - [684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), - [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [708] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), - [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), + [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(151), + [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), + [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), + [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), + [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(160), + [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), + [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142), + [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146), + [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(150), + [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149), + [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), + [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), + [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), + [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), + [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168), + [235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [245] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), + [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), + [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), + [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), + [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [261] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), + [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), + [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), + [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [273] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), + [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), + [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), + [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(163), + [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), + [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), + [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), + [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [305] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134), + [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [309] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), + [311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [313] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162), + [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [317] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), + [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [321] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), + [327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), + [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [333] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), + [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [337] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), + [339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), + [343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [345] = {.entry = {.count = 1, .reusable = false}}, SHIFT(158), + [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), + [351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), + [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_path, 1, 0, 0), + [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 5, 0, 15), + [359] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 5, 0, 15), + [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), + [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [377] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), + [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [381] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), + [383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [387] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), + [389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 4, 0, 7), + [391] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 4, 0, 7), + [393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), + [395] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), + [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 1, 0, 0), + [399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 1, 0, 0), + [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 3, 0, 5), + [409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 3, 0, 5), + [411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_expression, 2, 0, 2), + [413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_expression, 2, 0, 2), + [415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison_constraint, 2, 0, 3), + [417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison_constraint, 2, 0, 3), + [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_path_expression, 3, 0, 6), + [421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_path_expression, 3, 0, 6), + [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 3, 0, 7), + [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 3, 0, 7), + [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 4), + [429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 4), + [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 8), + [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 8), + [435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_expression, 3, 0, 9), + [437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_default_expression, 3, 0, 9), + [439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_definition, 3, 0, 10), + [441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_definition, 3, 0, 10), + [443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 4, 0, 0), + [445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 4, 0, 0), + [447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 3, 0, 0), + [449] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 3, 0, 0), + [451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2, 0, 0), + [453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 2, 0, 0), + [455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 7, 0, 14), + [457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 7, 0, 14), + [459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 7, 0, 18), + [461] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 7, 0, 18), + [463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_constraint, 4, 0, 11), + [465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_constraint, 4, 0, 11), + [467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 4, 0, 0), + [469] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 4, 0, 0), + [471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 6, 0, 7), + [473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 6, 0, 7), + [475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 6, 0, 14), + [477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 6, 0, 14), + [479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, 0, 12), + [481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, 0, 12), + [483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 6, 0, 16), + [485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 6, 0, 16), + [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 4, 0, 12), + [489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 4, 0, 12), + [491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3, 0, 0), + [493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 3, 0, 0), + [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 5, 0, 7), + [497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 5, 0, 7), + [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 5, 0, 14), + [501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 5, 0, 14), + [503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1, 0, 0), + [505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1, 0, 0), + [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 5, 0, 0), + [509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 5, 0, 0), + [511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 4, 0, 14), + [513] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 4, 0, 14), + [515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 2, 0, 0), + [517] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 2, 0, 0), + [519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_constraint, 5, 0, 11), + [521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_constraint, 5, 0, 11), + [523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 5, 0, 0), + [525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 5, 0, 0), + [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [543] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), + [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [547] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), + [549] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), + [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1, 0, 1), + [565] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), REDUCE(sym_parameter, 1, 0, 1), + [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), + [576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 2, 0, 0), + [586] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 2, 0, 0), + [588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 13), + [590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 3, 0, 17), + [592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [606] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(204), + [609] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_let_expression_repeat1, 2, 0, 0), + [611] = {.entry = {.count = 1, .reusable = false}}, SHIFT(204), + [613] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), + [615] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), + [617] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), + [619] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [635] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2, 0, 0), SHIFT_REPEAT(34), + [638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [652] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(212), + [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_expression_repeat1, 2, 0, 0), + [657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [675] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2, 0, 0), SHIFT_REPEAT(184), + [678] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2, 0, 0), + [680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [686] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(10), + [689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2, 0, 0), + [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_path_repeat1, 2, 0, 0), + [697] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_path_repeat1, 2, 0, 0), SHIFT_REPEAT(221), + [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_path, 1, 0, 0), + [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [714] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_path, 2, 0, 0), + [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [736] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), }; #ifdef __cplusplus diff --git a/examples/array-constraint.dcdl b/examples/array-constraint.dcdl new file mode 100644 index 0000000..5d88109 --- /dev/null +++ b/examples/array-constraint.dcdl @@ -0,0 +1,11 @@ +let + Service = { + name = String; + enabled = Bool default true; + }; + Services = [...Service]; +in + Services & [ + { name = "api"; }, + { name = "worker"; enabled = false; }, + ] diff --git a/packages/decodal-codemirror/src/decodal-parser-jsr.js b/packages/decodal-codemirror/src/decodal-parser-jsr.js index 5941995..df7b840 100644 --- a/packages/decodal-codemirror/src/decodal-parser-jsr.js +++ b/packages/decodal-codemirror/src/decodal-parser-jsr.js @@ -2,15 +2,15 @@ import {LRParser} from "npm:@lezer/lr@^1.4.10" export const parser = LRParser.deserialize({ version: 14, - states: "7vQYQPOOO#nQPO'#CaOOQO'#Cr'#CrO$wQPO'#CyO&UQPO'#DOO&^QPO'#DSO&eQPO'#DWO&mQPO'#CqO$wQPO'#DcO&wQPO'#DhOOQO'#Cq'#CqOOQO'#Cp'#CpO&|QPO'#CoO$wQPO'#CoOOQO'#Cn'#CnO)fQPO'#CmO.XQPO'#ClO0]QPO'#CkOOQO'#Cj'#CjO2TQPO'#CiO3xQPO'#ChO5jQPO'#CgO7UQPO'#CfOOQO'#Ce'#CeO7`QPO'#C`O7eQPO'#C_OOQO'#Dz'#DzQYQPOOO8xQPO'#D{O8}QPO,58{OOQO,59e,59eO9VQPO'#CaOOQO,59j,59jO9_QPO,59jOOQO,59n,59nO9gQPO,59nO9oQPO'#EOO9tQPO'#DYO9|QPO,59rO:RQPO'#CqO:`QPO'#D^O:hQQO,59vO:mQPO,59vO:rQPO,59]O:wQPO,59}OOQO,5:S,5:SO:|QPO'#DjOOQO,59[,59[O;TQPO,59[OOQO,59Z,59ZO$wQPO,59YO$wQPO,59XO$wQPO,59WOOQO'#Dr'#DrO$wQPO,59VO$wQPO,59UO$wQPO,59TO$wQPO,59SO$wQPO,59RO$wQPO,59QO$wQPO,58zOOQO,58y,58yOOQO-E7x-E7xOOQO,5:g,5:gOOQO-E7y-E7yO;YQPO1G/UO;bQPO1G/UOOQO1G/U1G/UO;jQPO1G/YO;qQPO1G/YOOQO1G/Y1G/YOOQO,5:j,5:jOOQO-E7|-E7|O$wQPO1G/^O$wQPO,59yO;yQPO,59xOZAN>ZOJeQPOAN>ZOOQO-E8O-E8OOOQOG23uG23uP]AN>]OJuQPOAN>]OOQO-E8Q-E8QOOQOG23wG23wPZAN>ZOJeQPOAN>ZOOQO-E8O-E8OOOQOG23uG23uP]AN>]OJuQPOAN>]OOQO-E8Q-E8QOOQOG23wG23wP context.column(context.node.from) + context.unit, Array: context => context.column(context.node.from) + context.unit, + ArrayConstraint: context => context.column(context.node.from) + context.unit, MatchExpression: context => context.column(context.node.from) + context.unit, LetExpression: context => context.column(context.node.from) + context.unit, }), foldNodeProp.add({ Object: foldDelimited('{', '}'), Array: foldDelimited('[', ']'), + ArrayConstraint: foldDelimited('[', ']'), MatchExpression: foldDelimited('{', '}'), }), ], diff --git a/packages/decodal-codemirror/src/mod.ts b/packages/decodal-codemirror/src/mod.ts index ec82f27..49a75e7 100644 --- a/packages/decodal-codemirror/src/mod.ts +++ b/packages/decodal-codemirror/src/mod.ts @@ -22,7 +22,7 @@ const parserWithMetadata = parser.configure({ Regex: t.regexp, 'Integer Float': t.number, Comment: t.lineComment, - 'Plus Minus Star Slash PlusPlus Equal EqualEqual Bang BangEqual Amp AmpAmp PipePipe SlashSlash Gt Gte Lt Lte Arrow': t.operator, + 'Plus Minus Star Slash PlusPlus Ellipsis Equal EqualEqual Bang BangEqual Amp AmpAmp PipePipe SlashSlash Gt Gte Lt Lte Arrow': t.operator, 'LBrace RBrace': t.brace, 'LBracket RBracket': t.squareBracket, 'LParen RParen': t.paren, @@ -31,12 +31,14 @@ const parserWithMetadata = parser.configure({ indentNodeProp.add({ Object: context => context.column(context.node.from) + context.unit, Array: context => context.column(context.node.from) + context.unit, + ArrayConstraint: context => context.column(context.node.from) + context.unit, MatchExpression: context => context.column(context.node.from) + context.unit, LetExpression: context => context.column(context.node.from) + context.unit, }), foldNodeProp.add({ Object: foldDelimited('{', '}'), Array: foldDelimited('[', ']'), + ArrayConstraint: foldDelimited('[', ']'), MatchExpression: foldDelimited('{', '}'), }), ], diff --git a/packages/decodal-codemirror/wasm/decodal_language_tools_bg.wasm b/packages/decodal-codemirror/wasm/decodal_language_tools_bg.wasm index a8446a4..d178fda 100644 Binary files a/packages/decodal-codemirror/wasm/decodal_language_tools_bg.wasm and b/packages/decodal-codemirror/wasm/decodal_language_tools_bg.wasm differ diff --git a/packages/decodal-wasm/decodal_wasm_bg.wasm b/packages/decodal-wasm/decodal_wasm_bg.wasm index c03a15e..2a2cb52 100644 Binary files a/packages/decodal-wasm/decodal_wasm_bg.wasm and b/packages/decodal-wasm/decodal_wasm_bg.wasm differ diff --git a/site/decodal-site/src/lib/highlight.js b/site/decodal-site/src/lib/highlight.js index 7cfcf1a..4009e1a 100644 --- a/site/decodal-site/src/lib/highlight.js +++ b/site/decodal-site/src/lib/highlight.js @@ -41,7 +41,7 @@ export function highlightDecodalTokens(source, tokens) { function tokenClass(kind, text) { if (['let', 'in', 'fn', 'match', 'import', 'default'].includes(kind)) return 'tok-keyword'; - if (kind === 'ident' && ['String', 'Int', 'Float', 'Bool', 'Array'].includes(text)) return 'tok-type'; + if (kind === 'ident' && ['String', 'Int', 'Float', 'Bool'].includes(text)) return 'tok-type'; if (kind === 'ident') return ''; if (['true', 'false'].includes(kind)) return 'tok-literal'; if (['int', 'float'].includes(kind)) return 'tok-number'; @@ -60,6 +60,7 @@ function tokenClass(kind, text) { 'pipe_pipe', 'plus', 'plus_plus', + 'ellipsis', 'minus', 'star', 'slash', @@ -255,6 +256,7 @@ function isOperatorStart(char) { function readOperator(source, start) { let index = start + 1; + if (source.startsWith('...', start)) return start + 3; if ('&|/+'.includes(source[start]) && source[index] === source[start]) return index + 1; if ((source[start] === '<' || source[start] === '>' || source[start] === '=' || source[start] === '!') && source[index] === '=') { index += 1;