From ff6cc707d2aa8cce8248e6872dc22dda81d85cc9 Mon Sep 17 00:00:00 2001 From: Jeff Date: Wed, 3 Jan 2024 19:57:06 -0500 Subject: [PATCH] Implement new type checking --- src/abstract_tree/assignment.rs | 73 +- src/abstract_tree/block.rs | 12 + src/abstract_tree/built_in_value.rs | 29 +- src/abstract_tree/expression.rs | 12 + src/abstract_tree/function_call.rs | 63 +- src/abstract_tree/function_node.rs | 135 + src/abstract_tree/index.rs | 12 +- src/abstract_tree/mod.rs | 24 +- src/abstract_tree/statement.rs | 14 + src/abstract_tree/type_definition.rs | 151 +- src/abstract_tree/value_node.rs | 13 +- src/error.rs | 17 +- src/interpret.rs | 1 + src/lib.rs | 7 +- src/value/function.rs | 129 +- src/value/mod.rs | 15 +- tests/interpret.rs | 21 + tree-sitter-dust/grammar.js | 6 + tree-sitter-dust/src/grammar.json | 21 + tree-sitter-dust/src/node-types.json | 8 + tree-sitter-dust/src/parser.c | 20431 +++++++++++++------------ 21 files changed, 10734 insertions(+), 10460 deletions(-) create mode 100644 src/abstract_tree/function_node.rs diff --git a/src/abstract_tree/assignment.rs b/src/abstract_tree/assignment.rs index 00101e3..9f68362 100644 --- a/src/abstract_tree/assignment.rs +++ b/src/abstract_tree/assignment.rs @@ -26,7 +26,6 @@ impl AbstractTree for Assignment { let identifier_node = node.child(0).unwrap(); let identifier = Identifier::from_syntax_node(source, identifier_node, context)?; - let identifier_type = identifier.expected_type(context)?; let type_node = node.child(1).unwrap(); let type_definition = if type_node.kind() == "type_definition" { @@ -56,42 +55,6 @@ impl AbstractTree for Assignment { let statement = Statement::from_syntax_node(source, statement_node, context)?; let statement_type = statement.expected_type(context)?; - if let Some(type_definition) = &type_definition { - match operator { - AssignmentOperator::Equal => { - type_definition - .inner() - .check(&statement_type) - .map_err(|error| error.at_node(statement_node, source))?; - } - AssignmentOperator::PlusEqual => { - if let Type::List(item_type) = type_definition.inner() { - item_type - .check(&statement_type) - .map_err(|error| error.at_node(statement_node, source))?; - } else { - type_definition - .inner() - .check(&identifier_type) - .map_err(|error| error.at_node(identifier_node, source))?; - } - } - AssignmentOperator::MinusEqual => todo!(), - } - } else { - match operator { - AssignmentOperator::Equal => {} - AssignmentOperator::PlusEqual => { - if let Type::List(item_type) = identifier_type { - item_type - .check(&statement_type) - .map_err(|error| error.at_node(statement_node, source))?; - } - } - AssignmentOperator::MinusEqual => todo!(), - } - } - let variable_key = identifier.inner().clone(); let variable_type = if let Some(definition) = &type_definition { definition.inner().clone() @@ -111,6 +74,42 @@ impl AbstractTree for Assignment { }) } + fn check_type(&self, context: &Map) -> Result<()> { + let statement_type = self.statement.expected_type(context)?; + + if let Some(type_definition) = &self.type_definition { + match self.operator { + AssignmentOperator::Equal => { + type_definition.inner().check(&statement_type)?; + } + AssignmentOperator::PlusEqual => { + if let Type::List(item_type) = type_definition.inner() { + item_type.check(&statement_type)?; + } else { + type_definition + .inner() + .check(&self.identifier.expected_type(context)?)?; + } + } + AssignmentOperator::MinusEqual => todo!(), + } + } else { + match self.operator { + AssignmentOperator::Equal => {} + AssignmentOperator::PlusEqual => { + if let Type::List(item_type) = self.identifier.expected_type(context)? { + item_type.check(&statement_type)?; + } + } + AssignmentOperator::MinusEqual => todo!(), + } + } + + self.statement.check_type(context)?; + + Ok(()) + } + fn run(&self, source: &str, context: &Map) -> Result { let key = self.identifier.inner(); let value = self.statement.run(source, context)?; diff --git a/src/abstract_tree/block.rs b/src/abstract_tree/block.rs index 301458b..ebe55af 100644 --- a/src/abstract_tree/block.rs +++ b/src/abstract_tree/block.rs @@ -50,6 +50,18 @@ impl AbstractTree for Block { }) } + fn check_type(&self, _context: &Map) -> Result<()> { + for statement in &self.statements { + if let Statement::Return(inner_statement) = statement { + return inner_statement.check_type(_context); + } else { + statement.check_type(_context)?; + } + } + + Ok(()) + } + fn run(&self, source: &str, context: &Map) -> Result { if self.is_async { let statements = &self.statements; diff --git a/src/abstract_tree/built_in_value.rs b/src/abstract_tree/built_in_value.rs index 8ee01e8..9fa9bd4 100644 --- a/src/abstract_tree/built_in_value.rs +++ b/src/abstract_tree/built_in_value.rs @@ -4,8 +4,8 @@ use serde::{Deserialize, Serialize}; use tree_sitter::Node; use crate::{ - built_in_functions::string_functions, AbstractTree, BuiltInFunction, Function, List, Map, - Result, Type, Value, + built_in_functions::string_functions, AbstractTree, BuiltInFunction, Function, Identifier, + List, Map, Result, Type, TypeDefinition, Value, }; static ARGS: OnceLock = OnceLock::new(); @@ -31,12 +31,29 @@ impl BuiltInValue { match self { BuiltInValue::Args => Type::list(Type::String), BuiltInValue::AssertEqual => BuiltInFunction::AssertEqual.r#type(), - BuiltInValue::Fs => Type::Map, - BuiltInValue::Json => Type::Map, + BuiltInValue::Fs => Type::Map(Vec::new()), + BuiltInValue::Json => Type::Map(Vec::new()), BuiltInValue::Length => BuiltInFunction::Length.r#type(), BuiltInValue::Output => BuiltInFunction::Output.r#type(), - BuiltInValue::Random => Type::Map, - BuiltInValue::String => Type::Map, + BuiltInValue::Random => Type::Map(vec![ + ( + Identifier::new("boolean".to_string()), + TypeDefinition::new(BuiltInFunction::RandomBoolean.r#type()), + ), + ( + Identifier::new("float".to_string()), + TypeDefinition::new(BuiltInFunction::RandomFloat.r#type()), + ), + ( + Identifier::new("from".to_string()), + TypeDefinition::new(BuiltInFunction::RandomFrom.r#type()), + ), + ( + Identifier::new("integer".to_string()), + TypeDefinition::new(BuiltInFunction::RandomInteger.r#type()), + ), + ]), + BuiltInValue::String => Type::Map(Vec::new()), } } diff --git a/src/abstract_tree/expression.rs b/src/abstract_tree/expression.rs index 2ce271d..4930236 100644 --- a/src/abstract_tree/expression.rs +++ b/src/abstract_tree/expression.rs @@ -65,6 +65,18 @@ impl AbstractTree for Expression { Ok(expression) } + fn check_type(&self, _context: &Map) -> Result<()> { + match self { + Expression::Value(value_node) => value_node.check_type(_context), + Expression::Identifier(identifier) => identifier.check_type(_context), + Expression::Math(math) => math.check_type(_context), + Expression::Logic(logic) => logic.check_type(_context), + Expression::FunctionCall(function_call) => function_call.check_type(_context), + Expression::Index(index) => index.check_type(_context), + Expression::Yield(r#yield) => r#yield.check_type(_context), + } + } + fn run(&self, source: &str, context: &Map) -> Result { match self { Expression::Value(value_node) => value_node.run(source, context), diff --git a/src/abstract_tree/function_call.rs b/src/abstract_tree/function_call.rs index b9741d0..af41ea5 100644 --- a/src/abstract_tree/function_call.rs +++ b/src/abstract_tree/function_call.rs @@ -25,9 +25,7 @@ impl AbstractTree for FunctionCall { let function_node = node.child(0).unwrap(); let function_expression = FunctionExpression::from_syntax_node(source, function_node, context)?; - let function_type = function_expression.expected_type(context)?; - let mut minimum_parameter_count = 0; let mut arguments = Vec::new(); for index in 2..node.child_count() - 1 { @@ -35,48 +33,47 @@ impl AbstractTree for FunctionCall { if child.is_named() { let expression = Expression::from_syntax_node(source, child, context)?; - let expression_type = expression.expected_type(context)?; - let argument_index = arguments.len(); - - if let Type::Function { - parameter_types, .. - } = &function_type - { - if let Some(r#type) = parameter_types.get(argument_index) { - if let Type::Option(_) = r#type { - } else { - minimum_parameter_count += 1; - } - - r#type - .check(&expression_type) - .map_err(|error| error.at_node(child, source))?; - } - } arguments.push(expression); } } - if let Type::Function { - parameter_types: _, .. - } = &function_type - { - if arguments.len() < minimum_parameter_count { - return Err(Error::ExpectedFunctionArgumentMinimum { - source: source[function_node.byte_range()].to_string(), - minumum_expected: minimum_parameter_count, - actual: arguments.len(), - }); - } - } - Ok(FunctionCall { function_expression, arguments, }) } + fn check_type(&self, context: &Map) -> Result<()> { + let function_expression_type = self.function_expression.expected_type(context)?; + let parameter_types = if let Type::Function { + parameter_types, .. + } = &function_expression_type + { + parameter_types + } else { + return Err(Error::ExpectedFunctionType { + actual: function_expression_type, + }); + }; + + for (index, expression) in self.arguments.iter().enumerate() { + if let Some(r#type) = parameter_types.get(index) { + r#type.check(&expression.expected_type(context)?)?; + } + } + + if self.arguments.len() != parameter_types.len() { + return Err(Error::ExpectedFunctionArgumentAmount { + source: "TODO".to_string(), + expected: parameter_types.len(), + actual: self.arguments.len(), + }); + } + + Ok(()) + } + fn run(&self, source: &str, context: &Map) -> Result { let (name, value) = match &self.function_expression { FunctionExpression::Identifier(identifier) => { diff --git a/src/abstract_tree/function_node.rs b/src/abstract_tree/function_node.rs new file mode 100644 index 0000000..66bac94 --- /dev/null +++ b/src/abstract_tree/function_node.rs @@ -0,0 +1,135 @@ +use serde::{Deserialize, Serialize}; +use tree_sitter::Node; + +use crate::{ + AbstractTree, Block, Error, Function, Identifier, Map, Result, Type, TypeDefinition, Value, +}; + +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord)] +pub struct FunctionNode { + parameters: Vec, + body: Block, + r#type: Type, +} + +impl FunctionNode { + pub fn new(parameters: Vec, body: Block, r#type: Type) -> Self { + Self { + parameters, + body, + r#type, + } + } + + pub fn parameters(&self) -> &Vec { + &self.parameters + } + + pub fn body(&self) -> &Block { + &self.body + } + + pub fn r#type(&self) -> &Type { + &self.r#type + } + + pub fn return_type(&self) -> &Type { + match &self.r#type { + Type::Function { + parameter_types: _, + return_type, + } => return_type.as_ref(), + _ => &Type::None, + } + } + + pub fn call( + &self, + name: Option, + arguments: &[Value], + source: &str, + outer_context: &Map, + ) -> Result { + let parameter_argument_pairs = self.parameters.iter().zip(arguments.iter()); + let function_context = Map::clone_from(outer_context)?; + + for (identifier, value) in parameter_argument_pairs { + let key = identifier.inner().clone(); + + function_context.set(key, value.clone(), None)?; + } + + if let Some(name) = name { + function_context.set( + name, + Value::Function(Function::ContextDefined(self.clone())), + None, + )?; + } + + let return_value = self.body.run(source, &function_context)?; + + Ok(return_value) + } +} + +impl AbstractTree for FunctionNode { + fn from_syntax_node(source: &str, node: Node, context: &Map) -> Result { + Error::expect_syntax_node(source, "function", node)?; + + let child_count = node.child_count(); + let mut parameters = Vec::new(); + let mut parameter_types = Vec::new(); + + for index in 1..child_count - 3 { + let child = node.child(index).unwrap(); + + if child.kind() == "identifier" { + let identifier = Identifier::from_syntax_node(source, child, context)?; + + parameters.push(identifier); + } + + if child.kind() == "type_definition" { + let type_definition = TypeDefinition::from_syntax_node(source, child, context)?; + + parameter_types.push(type_definition.take_inner()); + } + } + + let function_context = Map::clone_from(context)?; + + for (parameter_name, parameter_type) in parameters.iter().zip(parameter_types.iter()) { + function_context.set( + parameter_name.inner().clone(), + Value::none(), + Some(parameter_type.clone()), + )?; + } + + let return_type_node = node.child(child_count - 2).unwrap(); + let return_type = TypeDefinition::from_syntax_node(source, return_type_node, context)?; + + let body_node = node.child(child_count - 1).unwrap(); + let body = Block::from_syntax_node(source, body_node, &function_context)?; + + let r#type = Type::function(parameter_types, return_type.take_inner()); + + Ok(FunctionNode::new(parameters, body, r#type)) + } + + fn check_type(&self, context: &Map) -> Result<()> { + self.return_type() + .check(&self.body.expected_type(context)?)?; + + Ok(()) + } + + fn run(&self, _source: &str, _context: &Map) -> Result { + Ok(Value::Function(Function::ContextDefined(self.clone()))) + } + + fn expected_type(&self, _context: &Map) -> Result { + Ok(self.r#type().clone()) + } +} diff --git a/src/abstract_tree/index.rs b/src/abstract_tree/index.rs index 2c19511..3b5f272 100644 --- a/src/abstract_tree/index.rs +++ b/src/abstract_tree/index.rs @@ -92,7 +92,17 @@ impl AbstractTree for Index { fn expected_type(&self, context: &Map) -> Result { match self.collection.expected_type(context)? { Type::List(item_type) => Ok(*item_type.clone()), - Type::Map => Ok(Type::Any), + Type::Map(identifier_types) => { + if let IndexExpression::Identifier(index_identifier) = &self.index { + for (identifier, r#type) in identifier_types { + if &identifier == index_identifier { + return Ok(r#type.take_inner()); + } + } + } + + Ok(Type::None) + } Type::None => Ok(Type::None), r#type => Ok(r#type), } diff --git a/src/abstract_tree/mod.rs b/src/abstract_tree/mod.rs index 3f9006d..18dca33 100644 --- a/src/abstract_tree/mod.rs +++ b/src/abstract_tree/mod.rs @@ -13,6 +13,7 @@ pub mod expression; pub mod r#for; pub mod function_call; pub mod function_expression; +pub mod function_node; pub mod identifier; pub mod if_else; pub mod index; @@ -29,9 +30,9 @@ pub mod r#yield; pub use { assignment::*, block::*, built_in_value::*, expression::*, function_call::*, - function_expression::*, identifier::*, if_else::*, index::*, index_assignment::IndexAssignment, - index_expression::*, logic::*, math::*, r#for::*, r#match::*, r#while::*, r#yield::*, - statement::*, type_definition::*, value_node::*, + function_expression::*, function_node::*, identifier::*, if_else::*, index::*, + index_assignment::IndexAssignment, index_expression::*, logic::*, math::*, r#for::*, + r#match::*, r#while::*, r#yield::*, statement::*, type_definition::*, value_node::*, }; use tree_sitter::Node; @@ -59,6 +60,18 @@ impl AbstractTree for Root { Ok(Root { statements }) } + fn check_type(&self, _context: &Map) -> Result<()> { + for statement in &self.statements { + if let Statement::Return(inner_statement) = statement { + return inner_statement.check_type(_context); + } else { + statement.check_type(_context)?; + } + } + + Ok(()) + } + fn run(&self, source: &str, context: &Map) -> Result { let mut value = Value::none(); @@ -92,6 +105,11 @@ pub trait AbstractTree: Sized { /// node's byte range. fn from_syntax_node(source: &str, node: Node, context: &Map) -> Result; + /// Verify the type integrity of the node. + fn check_type(&self, _context: &Map) -> Result<()> { + Ok(()) + } + /// Execute dust code by traversing the tree. fn run(&self, source: &str, context: &Map) -> Result; diff --git a/src/abstract_tree/statement.rs b/src/abstract_tree/statement.rs index e95caf4..861983b 100644 --- a/src/abstract_tree/statement.rs +++ b/src/abstract_tree/statement.rs @@ -66,6 +66,20 @@ impl AbstractTree for Statement { } } + fn check_type(&self, _context: &Map) -> Result<()> { + match self { + Statement::Assignment(assignment) => assignment.check_type(_context), + Statement::Expression(expression) => expression.check_type(_context), + Statement::IfElse(if_else) => if_else.check_type(_context), + Statement::Match(r#match) => r#match.check_type(_context), + Statement::While(r#while) => r#while.check_type(_context), + Statement::Block(block) => block.check_type(_context), + Statement::For(r#for) => r#for.check_type(_context), + Statement::IndexAssignment(index_assignment) => index_assignment.check_type(_context), + Statement::Return(statement) => statement.check_type(_context), + } + } + fn run(&self, source: &str, context: &Map) -> Result { match self { Statement::Assignment(assignment) => assignment.run(source, context), diff --git a/src/abstract_tree/type_definition.rs b/src/abstract_tree/type_definition.rs index bb024d7..b3344b3 100644 --- a/src/abstract_tree/type_definition.rs +++ b/src/abstract_tree/type_definition.rs @@ -3,7 +3,7 @@ use std::fmt::{self, Display, Formatter}; use serde::{Deserialize, Serialize}; use tree_sitter::Node; -use crate::{AbstractTree, Error, Map, Result, Value}; +use crate::{AbstractTree, Error, Identifier, Map, Result, Value}; #[derive(Debug, Clone, Serialize, Deserialize, Eq, PartialEq, PartialOrd, Ord)] pub struct TypeDefinition { @@ -61,7 +61,7 @@ pub enum Type { }, Integer, List(Box), - Map, + Map(Vec<(Identifier, TypeDefinition)>), None, Number, String, @@ -92,13 +92,12 @@ impl Type { | (Type::Collection, Type::Collection) | (Type::Collection, Type::List(_)) | (Type::List(_), Type::Collection) - | (Type::Collection, Type::Map) - | (Type::Map, Type::Collection) + | (Type::Collection, Type::Map(_)) + | (Type::Map(_), Type::Collection) | (Type::Collection, Type::String) | (Type::String, Type::Collection) | (Type::Float, Type::Float) | (Type::Integer, Type::Integer) - | (Type::Map, Type::Map) | (Type::Number, Type::Number) | (Type::Number, Type::Integer) | (Type::Number, Type::Float) @@ -106,6 +105,16 @@ impl Type { | (Type::Float, Type::Number) | (Type::None, Type::None) | (Type::String, Type::String) => Ok(()), + (Type::Map(left), Type::Map(right)) => { + if left == right { + Ok(()) + } else { + Err(Error::TypeCheck { + expected: self.clone(), + actual: other.clone(), + }) + } + } (Type::Option(left), Type::Option(right)) => { if left == right { Ok(()) @@ -172,69 +181,95 @@ impl Type { } impl AbstractTree for Type { - fn from_syntax_node(source: &str, node: Node, _context: &Map) -> Result { - Error::expect_syntax_node(source, "type", node)?; + fn from_syntax_node(_source: &str, node: Node, _context: &Map) -> Result { + Error::expect_syntax_node(_source, "type", node)?; let type_node = node.child(0).unwrap(); - let r#type = - match type_node.kind() { - "[" => { - let item_type_node = node.child(1).unwrap(); - let item_type = Type::from_syntax_node(source, item_type_node, _context)?; + let r#type = match type_node.kind() { + "[" => { + let item_type_node = node.child(1).unwrap(); + let item_type = Type::from_syntax_node(_source, item_type_node, _context)?; - Type::List(Box::new(item_type)) + Type::List(Box::new(item_type)) + } + "any" => Type::Any, + "bool" => Type::Boolean, + "collection" => Type::Collection, + "float" => Type::Float, + "(" => { + let child_count = node.child_count(); + let mut parameter_types = Vec::new(); + + for index in 1..child_count - 2 { + let child = node.child(index).unwrap(); + + if child.is_named() { + let parameter_type = Type::from_syntax_node(_source, child, _context)?; + + parameter_types.push(parameter_type); + } } - "any" => Type::Any, - "bool" => Type::Boolean, - "collection" => Type::Collection, - "float" => Type::Float, - "(" => { - let child_count = node.child_count(); - let mut parameter_types = Vec::new(); - for index in 1..child_count - 2 { - let child = node.child(index).unwrap(); + let final_node = node.child(child_count - 1).unwrap(); + let return_type = if final_node.is_named() { + Type::from_syntax_node(_source, final_node, _context)? + } else { + Type::None + }; - if child.is_named() { - let parameter_type = Type::from_syntax_node(source, child, _context)?; + Type::Function { + parameter_types, + return_type: Box::new(return_type), + } + } + "int" => Type::Integer, - parameter_types.push(parameter_type); + "num" => Type::Number, + "none" => Type::None, + "str" => Type::String, + "{" => { + let child_count = node.child_count(); + let mut identifier_types = Vec::new(); + let mut identifier = None; + + for index in 1..child_count - 1 { + let child = node.child(index).unwrap(); + + match child.kind() { + "identifier" => { + identifier = + Some(Identifier::from_syntax_node(_source, child, _context)?); } - } + "type_definition" => { + if let Some(identifier) = &identifier { + let type_definition = + TypeDefinition::from_syntax_node(_source, child, _context)?; - let final_node = node.child(child_count - 1).unwrap(); - let return_type = if final_node.is_named() { - Type::from_syntax_node(source, final_node, _context)? - } else { - Type::None - }; - - Type::Function { - parameter_types, - return_type: Box::new(return_type), + identifier_types.push((identifier.clone(), type_definition)); + } + } + _ => {} } } - "int" => Type::Integer, - "map" => Type::Map, - "num" => Type::Number, - "none" => Type::None, - "str" => Type::String, - "option" => { - let inner_type_node = node.child(2).unwrap(); - let inner_type = Type::from_syntax_node(source, inner_type_node, _context)?; - Type::Option(Box::new(inner_type)) - } - _ => return Err(Error::UnexpectedSyntaxNode { - expected: - "any, bool, collection, float, function, int, list, map, num, str or option" - .to_string(), + Type::Map(identifier_types) + } + "option" => { + let inner_type_node = node.child(2).unwrap(); + let inner_type = Type::from_syntax_node(_source, inner_type_node, _context)?; + + Type::Option(Box::new(inner_type)) + } + _ => { + return Err(Error::UnexpectedSyntaxNode { + expected: "any, bool, float, int, num, str, option, (, [ or {".to_string(), actual: type_node.kind().to_string(), location: type_node.start_position(), - relevant_source: source[type_node.byte_range()].to_string(), - }), - }; + relevant_source: _source[type_node.byte_range()].to_string(), + }) + } + }; Ok(r#type) } @@ -274,7 +309,15 @@ impl Display for Type { } Type::Integer => write!(f, "int"), Type::List(item_type) => write!(f, "[{item_type}]"), - Type::Map => write!(f, "map"), + Type::Map(identifier_types) => { + write!(f, "{{")?; + + for (identifier, r#type) in identifier_types { + write!(f, "{} {}", identifier.inner(), r#type)?; + } + + write!(f, "}}") + } Type::Number => write!(f, "num"), Type::None => write!(f, "none"), Type::String => write!(f, "str"), diff --git a/src/abstract_tree/value_node.rs b/src/abstract_tree/value_node.rs index ac05d3b..d04c304 100644 --- a/src/abstract_tree/value_node.rs +++ b/src/abstract_tree/value_node.rs @@ -203,7 +203,18 @@ impl AbstractTree for ValueNode { Type::None } } - ValueNode::Map(_) => Type::Map, + ValueNode::Map(statements) => { + let mut identifier_types = Vec::new(); + + for (key, (statement, _)) in statements { + identifier_types.push(( + Identifier::new(key.clone()), + TypeDefinition::new(statement.expected_type(context)?), + )); + } + + Type::Map(identifier_types) + } ValueNode::BuiltInValue(built_in_value) => built_in_value.expected_type(context)?, }; diff --git a/src/error.rs b/src/error.rs index 09c78c8..76fd770 100644 --- a/src/error.rs +++ b/src/error.rs @@ -83,6 +83,10 @@ pub enum Error { actual: usize, }, + ExpectedFunctionType { + actual: Type, + }, + ExpectedString { actual: Value, }, @@ -217,16 +221,8 @@ impl Error { pub fn is_type_check_error(&self, other: &Error) -> bool { match self { - Error::WithContext { error, .. } => { - debug_assert_eq!(error.as_ref(), other); - - error.as_ref() == other - } - _ => { - debug_assert_eq!(self, other); - - self == other - } + Error::WithContext { error, .. } => error.as_ref() == other, + _ => self == other, } } } @@ -438,6 +434,7 @@ impl fmt::Display for Error { f, "Parsing was cancelled either manually or because it took too long." ), + ExpectedFunctionType { actual } => write!(f, "Expected a function but got {actual}."), } } } diff --git a/src/interpret.rs b/src/interpret.rs index 96b374a..2b07ff6 100644 --- a/src/interpret.rs +++ b/src/interpret.rs @@ -115,6 +115,7 @@ impl Interpreter { }; if let Some(abstract_tree) = &self.abstract_tree { + abstract_tree.check_type(&self.context)?; abstract_tree.run(source, &self.context) } else { Ok(Value::none()) diff --git a/src/lib.rs b/src/lib.rs index b539bb6..3878990 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -8,12 +8,7 @@ pub use crate::{ built_in_functions::BuiltInFunction, error::*, interpret::*, - value::{ - function::{ContextDefinedFunction, Function}, - list::List, - map::Map, - Value, - }, + value::{function::Function, list::List, map::Map, Value}, }; mod abstract_tree; diff --git a/src/value/function.rs b/src/value/function.rs index 3a26beb..be664ce 100644 --- a/src/value/function.rs +++ b/src/value/function.rs @@ -3,15 +3,12 @@ use std::fmt::{self, Display, Formatter}; use serde::{Deserialize, Serialize}; use tree_sitter::Node; -use crate::{ - AbstractTree, Block, BuiltInFunction, Error, Identifier, Map, Result, Type, TypeDefinition, - Value, -}; +use crate::{AbstractTree, BuiltInFunction, FunctionNode, Map, Result, Type, Value}; #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord)] pub enum Function { BuiltIn(BuiltInFunction), - ContextDefined(ContextDefinedFunction), + ContextDefined(FunctionNode), } impl Display for Function { @@ -54,55 +51,17 @@ impl Function { } impl AbstractTree for Function { - fn from_syntax_node(source: &str, node: Node, context: &Map) -> Result { - Error::expect_syntax_node(source, "function", node)?; + fn from_syntax_node(_source: &str, _node: Node, _context: &Map) -> Result { + let inner_function = FunctionNode::from_syntax_node(_source, _node, _context)?; - let child_count = node.child_count(); - let mut parameters = Vec::new(); - let mut parameter_types = Vec::new(); + Ok(Function::ContextDefined(inner_function)) + } - for index in 1..child_count - 3 { - let child = node.child(index).unwrap(); - - if child.kind() == "identifier" { - let identifier = Identifier::from_syntax_node(source, child, context)?; - - parameters.push(identifier); - } - - if child.kind() == "type_definition" { - let type_definition = TypeDefinition::from_syntax_node(source, child, context)?; - - parameter_types.push(type_definition.take_inner()); - } + fn check_type(&self, _context: &Map) -> Result<()> { + match self { + Function::BuiltIn(_) => Ok(()), + Function::ContextDefined(defined_function) => defined_function.check_type(_context), } - - let function_context = Map::clone_from(context)?; - - for (parameter_name, parameter_type) in parameters.iter().zip(parameter_types.iter()) { - function_context.set( - parameter_name.inner().clone(), - Value::none(), - Some(parameter_type.clone()), - )?; - } - - let return_type_node = node.child(child_count - 2).unwrap(); - let return_type = TypeDefinition::from_syntax_node(source, return_type_node, context)?; - - let body_node = node.child(child_count - 1).unwrap(); - let body = Block::from_syntax_node(source, body_node, &function_context)?; - - return_type - .inner() - .check(&body.expected_type(&function_context)?) - .map_err(|error| error.at_node(body_node, source))?; - - let r#type = Type::function(parameter_types, return_type.take_inner()); - - Ok(Self::ContextDefined(ContextDefinedFunction::new( - parameters, body, r#type, - ))) } fn run(&self, _source: &str, _context: &Map) -> Result { @@ -116,71 +75,3 @@ impl AbstractTree for Function { } } } - -#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord)] -pub struct ContextDefinedFunction { - parameters: Vec, - body: Block, - r#type: Type, -} - -impl ContextDefinedFunction { - pub fn new(parameters: Vec, body: Block, r#type: Type) -> Self { - Self { - parameters, - body, - r#type, - } - } - - pub fn parameters(&self) -> &Vec { - &self.parameters - } - - pub fn body(&self) -> &Block { - &self.body - } - - pub fn r#type(&self) -> &Type { - &self.r#type - } - - pub fn return_type(&self) -> &Type { - match &self.r#type { - Type::Function { - parameter_types: _, - return_type, - } => return_type.as_ref(), - _ => &Type::None, - } - } - - pub fn call( - &self, - name: Option, - arguments: &[Value], - source: &str, - outer_context: &Map, - ) -> Result { - let parameter_argument_pairs = self.parameters.iter().zip(arguments.iter()); - let function_context = Map::clone_from(outer_context)?; - - for (identifier, value) in parameter_argument_pairs { - let key = identifier.inner().clone(); - - function_context.set(key, value.clone(), None)?; - } - - if let Some(name) = name { - function_context.set( - name, - Value::Function(Function::ContextDefined(self.clone())), - None, - )?; - } - - let return_value = self.body.run(source, &function_context)?; - - Ok(return_value) - } -} diff --git a/src/value/mod.rs b/src/value/mod.rs index 307bbff..8863e89 100644 --- a/src/value/mod.rs +++ b/src/value/mod.rs @@ -1,7 +1,7 @@ //! Types that represent runtime values. use crate::{ error::{Error, Result}, - Function, List, Map, Type, + Function, Identifier, List, Map, Type, TypeDefinition, }; use serde::{ @@ -74,7 +74,18 @@ impl Value { Type::List(Box::new(Type::Any)) } } - Value::Map(_) => Type::Map, + Value::Map(map) => { + let mut identifier_types = Vec::new(); + + for (key, (value, _)) in map.variables().unwrap().iter() { + identifier_types.push(( + Identifier::new(key.clone()), + TypeDefinition::new(value.r#type()), + )); + } + + Type::Map(identifier_types) + } Value::Function(function) => function.r#type().clone(), Value::String(_) => Type::String, Value::Float(_) => Type::Float, diff --git a/tests/interpret.rs b/tests/interpret.rs index 2e10ac0..4f863d7 100644 --- a/tests/interpret.rs +++ b/tests/interpret.rs @@ -441,6 +441,27 @@ mod type_definition { })); } + #[test] + fn argument_count_check() { + let result = interpret( + " + foo = (x ) { + x + } + foo() + ", + ); + + assert_eq!( + Err(Error::ExpectedFunctionArgumentAmount { + source: "foo".to_string(), + expected: 1, + actual: 0 + }), + result + ) + } + #[test] fn callback_type_check() { let result = interpret( diff --git a/tree-sitter-dust/grammar.js b/tree-sitter-dust/grammar.js index b61b2d0..e28cec7 100644 --- a/tree-sitter-dust/grammar.js +++ b/tree-sitter-dust/grammar.js @@ -352,6 +352,12 @@ module.exports = grammar({ 'num', 'str', seq('[', $.type, ']'), + seq( + '{', + $.identifier, + $.type_definition, + '}', + ), seq( '(', repeat( diff --git a/tree-sitter-dust/src/grammar.json b/tree-sitter-dust/src/grammar.json index 6b0b2fd..34287c7 100644 --- a/tree-sitter-dust/src/grammar.json +++ b/tree-sitter-dust/src/grammar.json @@ -1132,6 +1132,27 @@ } ] }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "type_definition" + }, + { + "type": "STRING", + "value": "}" + } + ] + }, { "type": "SEQ", "members": [ diff --git a/tree-sitter-dust/src/node-types.json b/tree-sitter-dust/src/node-types.json index 9de0837..5cc8aa3 100644 --- a/tree-sitter-dust/src/node-types.json +++ b/tree-sitter-dust/src/node-types.json @@ -541,9 +541,17 @@ "multiple": true, "required": false, "types": [ + { + "type": "identifier", + "named": true + }, { "type": "type", "named": true + }, + { + "type": "type_definition", + "named": true } ] } diff --git a/tree-sitter-dust/src/parser.c b/tree-sitter-dust/src/parser.c index a280141..21c8a85 100644 --- a/tree-sitter-dust/src/parser.c +++ b/tree-sitter-dust/src/parser.c @@ -6,7 +6,7 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 446 +#define STATE_COUNT 449 #define LARGE_STATE_COUNT 44 #define SYMBOL_COUNT 109 #define ALIAS_COUNT 0 @@ -803,59 +803,59 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [1] = 1, [2] = 2, [3] = 3, - [4] = 2, - [5] = 2, + [4] = 3, + [5] = 3, [6] = 6, - [7] = 6, + [7] = 7, [8] = 8, [9] = 9, - [10] = 8, - [11] = 6, - [12] = 12, - [13] = 12, - [14] = 9, - [15] = 9, - [16] = 8, - [17] = 6, - [18] = 12, - [19] = 8, - [20] = 9, - [21] = 6, - [22] = 12, - [23] = 12, - [24] = 8, - [25] = 25, - [26] = 9, + [10] = 6, + [11] = 8, + [12] = 7, + [13] = 9, + [14] = 8, + [15] = 7, + [16] = 7, + [17] = 9, + [18] = 6, + [19] = 9, + [20] = 7, + [21] = 8, + [22] = 6, + [23] = 9, + [24] = 24, + [25] = 6, + [26] = 8, [27] = 27, [28] = 28, - [29] = 29, - [30] = 29, + [29] = 27, + [30] = 28, [31] = 31, [32] = 32, - [33] = 33, - [34] = 34, + [33] = 27, + [34] = 32, [35] = 28, - [36] = 32, - [37] = 29, - [38] = 38, - [39] = 28, - [40] = 34, - [41] = 32, + [36] = 36, + [37] = 37, + [38] = 37, + [39] = 39, + [40] = 32, + [41] = 37, [42] = 42, - [43] = 34, + [43] = 43, [44] = 44, [45] = 45, [46] = 46, - [47] = 47, + [47] = 45, [48] = 44, - [49] = 45, + [49] = 49, [50] = 46, [51] = 51, [52] = 52, [53] = 53, [54] = 54, [55] = 55, - [56] = 52, + [56] = 56, [57] = 57, [58] = 58, [59] = 59, @@ -863,7 +863,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [61] = 61, [62] = 62, [63] = 63, - [64] = 64, + [64] = 56, [65] = 65, [66] = 66, [67] = 67, @@ -880,144 +880,144 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [78] = 78, [79] = 79, [80] = 45, - [81] = 46, + [81] = 44, [82] = 44, - [83] = 44, - [84] = 45, - [85] = 85, - [86] = 85, - [87] = 61, + [83] = 45, + [84] = 84, + [85] = 84, + [86] = 46, + [87] = 68, [88] = 44, - [89] = 46, - [90] = 45, - [91] = 70, - [92] = 51, - [93] = 66, - [94] = 76, - [95] = 61, - [96] = 67, - [97] = 74, - [98] = 77, - [99] = 72, - [100] = 78, - [101] = 55, - [102] = 63, - [103] = 52, - [104] = 60, - [105] = 64, - [106] = 73, - [107] = 58, - [108] = 75, + [89] = 45, + [90] = 46, + [91] = 53, + [92] = 77, + [93] = 52, + [94] = 75, + [95] = 72, + [96] = 78, + [97] = 58, + [98] = 57, + [99] = 59, + [100] = 60, + [101] = 74, + [102] = 71, + [103] = 76, + [104] = 51, + [105] = 70, + [106] = 55, + [107] = 56, + [108] = 73, [109] = 68, - [110] = 69, - [111] = 59, - [112] = 79, - [113] = 57, - [114] = 52, - [115] = 71, - [116] = 53, + [110] = 63, + [111] = 79, + [112] = 69, + [113] = 66, + [114] = 62, + [115] = 61, + [116] = 56, [117] = 65, - [118] = 47, - [119] = 62, - [120] = 45, - [121] = 44, - [122] = 122, - [123] = 61, + [118] = 49, + [119] = 67, + [120] = 44, + [121] = 45, + [122] = 68, + [123] = 123, [124] = 124, - [125] = 122, - [126] = 85, + [125] = 123, + [126] = 126, [127] = 127, - [128] = 85, - [129] = 129, - [130] = 130, + [128] = 128, + [129] = 126, + [130] = 84, [131] = 131, - [132] = 129, - [133] = 133, - [134] = 133, - [135] = 127, - [136] = 131, - [137] = 133, - [138] = 138, + [132] = 126, + [133] = 126, + [134] = 134, + [135] = 135, + [136] = 135, + [137] = 131, + [138] = 134, [139] = 139, - [140] = 133, - [141] = 133, + [140] = 84, + [141] = 135, [142] = 142, - [143] = 130, - [144] = 129, - [145] = 127, - [146] = 131, - [147] = 147, - [148] = 133, - [149] = 130, - [150] = 139, - [151] = 151, - [152] = 142, + [143] = 128, + [144] = 144, + [145] = 142, + [146] = 126, + [147] = 126, + [148] = 134, + [149] = 131, + [150] = 144, + [151] = 144, + [152] = 152, [153] = 139, - [154] = 142, - [155] = 147, + [154] = 128, + [155] = 142, [156] = 156, [157] = 157, [158] = 158, [159] = 159, [160] = 160, - [161] = 159, + [161] = 158, [162] = 162, - [163] = 160, - [164] = 160, - [165] = 159, - [166] = 162, - [167] = 167, - [168] = 160, - [169] = 159, - [170] = 159, - [171] = 167, - [172] = 172, + [163] = 159, + [164] = 164, + [165] = 160, + [166] = 160, + [167] = 162, + [168] = 164, + [169] = 164, + [170] = 170, + [171] = 171, + [172] = 158, [173] = 173, - [174] = 172, - [175] = 159, - [176] = 160, - [177] = 172, - [178] = 172, - [179] = 159, - [180] = 162, - [181] = 160, - [182] = 173, - [183] = 183, - [184] = 173, - [185] = 167, - [186] = 159, - [187] = 160, - [188] = 158, - [189] = 189, - [190] = 183, - [191] = 189, - [192] = 192, - [193] = 162, - [194] = 172, - [195] = 172, - [196] = 172, - [197] = 172, - [198] = 172, - [199] = 160, - [200] = 159, - [201] = 160, - [202] = 192, - [203] = 172, - [204] = 159, - [205] = 160, - [206] = 159, - [207] = 160, - [208] = 159, - [209] = 160, - [210] = 172, - [211] = 158, + [174] = 162, + [175] = 160, + [176] = 162, + [177] = 162, + [178] = 160, + [179] = 171, + [180] = 160, + [181] = 181, + [182] = 158, + [183] = 158, + [184] = 158, + [185] = 158, + [186] = 158, + [187] = 187, + [188] = 170, + [189] = 159, + [190] = 171, + [191] = 162, + [192] = 162, + [193] = 160, + [194] = 162, + [195] = 173, + [196] = 187, + [197] = 181, + [198] = 160, + [199] = 159, + [200] = 160, + [201] = 158, + [202] = 160, + [203] = 158, + [204] = 160, + [205] = 158, + [206] = 158, + [207] = 162, + [208] = 170, + [209] = 162, + [210] = 160, + [211] = 162, [212] = 212, [213] = 213, [214] = 214, - [215] = 65, - [216] = 75, - [217] = 217, - [218] = 53, + [215] = 53, + [216] = 216, + [217] = 55, + [218] = 78, [219] = 219, [220] = 220, [221] = 221, @@ -1029,222 +1029,225 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [227] = 227, [228] = 228, [229] = 229, - [230] = 228, + [230] = 223, [231] = 231, [232] = 232, [233] = 46, [234] = 234, [235] = 234, [236] = 234, - [237] = 45, - [238] = 44, - [239] = 213, - [240] = 234, + [237] = 44, + [238] = 234, + [239] = 45, + [240] = 213, [241] = 234, [242] = 234, - [243] = 212, - [244] = 234, - [245] = 69, - [246] = 64, + [243] = 234, + [244] = 212, + [245] = 60, + [246] = 73, [247] = 57, - [248] = 214, - [249] = 67, - [250] = 65, + [248] = 46, + [249] = 79, + [250] = 68, [251] = 51, - [252] = 46, - [253] = 78, - [254] = 79, - [255] = 60, - [256] = 66, - [257] = 53, - [258] = 68, - [259] = 61, - [260] = 75, - [261] = 76, - [262] = 59, - [263] = 58, - [264] = 74, - [265] = 71, - [266] = 77, + [252] = 78, + [253] = 70, + [254] = 56, + [255] = 61, + [256] = 69, + [257] = 63, + [258] = 71, + [259] = 59, + [260] = 65, + [261] = 66, + [262] = 76, + [263] = 55, + [264] = 77, + [265] = 74, + [266] = 214, [267] = 52, - [268] = 72, - [269] = 55, - [270] = 45, - [271] = 63, - [272] = 44, - [273] = 70, - [274] = 73, + [268] = 75, + [269] = 72, + [270] = 62, + [271] = 44, + [272] = 58, + [273] = 45, + [274] = 53, [275] = 275, - [276] = 52, - [277] = 75, - [278] = 65, + [276] = 56, + [277] = 55, + [278] = 78, [279] = 53, [280] = 219, - [281] = 217, - [282] = 47, - [283] = 229, - [284] = 228, - [285] = 223, - [286] = 61, - [287] = 220, - [288] = 224, - [289] = 228, - [290] = 231, - [291] = 225, - [292] = 232, - [293] = 221, + [281] = 216, + [282] = 49, + [283] = 232, + [284] = 231, + [285] = 220, + [286] = 223, + [287] = 225, + [288] = 228, + [289] = 68, + [290] = 222, + [291] = 221, + [292] = 223, + [293] = 229, [294] = 226, [295] = 227, - [296] = 222, - [297] = 62, + [296] = 67, + [297] = 224, [298] = 298, [299] = 45, [300] = 44, [301] = 301, [302] = 302, [303] = 303, - [304] = 85, - [305] = 46, + [304] = 46, + [305] = 305, [306] = 306, - [307] = 44, - [308] = 85, - [309] = 45, - [310] = 310, - [311] = 311, + [307] = 84, + [308] = 45, + [309] = 44, + [310] = 84, + [311] = 45, [312] = 312, [313] = 313, [314] = 312, - [315] = 313, - [316] = 44, - [317] = 45, - [318] = 311, - [319] = 311, - [320] = 46, - [321] = 321, - [322] = 312, - [323] = 321, - [324] = 52, + [315] = 46, + [316] = 312, + [317] = 317, + [318] = 313, + [319] = 319, + [320] = 44, + [321] = 319, + [322] = 319, + [323] = 317, + [324] = 60, [325] = 68, - [326] = 61, + [326] = 56, [327] = 327, [328] = 328, [329] = 329, - [330] = 329, - [331] = 331, + [330] = 330, + [331] = 45, [332] = 332, - [333] = 45, - [334] = 332, - [335] = 44, - [336] = 332, + [333] = 44, + [334] = 334, + [335] = 335, + [336] = 336, [337] = 337, - [338] = 338, - [339] = 338, - [340] = 340, + [338] = 336, + [339] = 335, + [340] = 336, [341] = 341, - [342] = 341, - [343] = 341, + [342] = 342, + [343] = 342, [344] = 344, - [345] = 341, + [345] = 342, [346] = 346, - [347] = 341, - [348] = 341, - [349] = 341, - [350] = 341, - [351] = 341, - [352] = 338, - [353] = 338, - [354] = 341, - [355] = 341, - [356] = 341, - [357] = 357, - [358] = 358, + [347] = 347, + [348] = 342, + [349] = 342, + [350] = 346, + [351] = 342, + [352] = 346, + [353] = 346, + [354] = 342, + [355] = 342, + [356] = 342, + [357] = 342, + [358] = 342, [359] = 359, - [360] = 359, - [361] = 359, + [360] = 342, + [361] = 361, [362] = 362, - [363] = 363, - [364] = 364, + [363] = 362, + [364] = 362, [365] = 365, [366] = 366, [367] = 367, [368] = 368, [369] = 369, [370] = 370, - [371] = 212, + [371] = 371, [372] = 213, - [373] = 373, + [373] = 212, [374] = 374, - [375] = 375, + [375] = 374, [376] = 374, - [377] = 374, + [377] = 377, [378] = 378, [379] = 379, - [380] = 379, - [381] = 381, - [382] = 382, - [383] = 381, + [380] = 380, + [381] = 380, + [382] = 378, + [383] = 383, [384] = 384, - [385] = 382, + [385] = 385, [386] = 386, - [387] = 384, - [388] = 381, - [389] = 384, - [390] = 378, + [387] = 387, + [388] = 388, + [389] = 388, + [390] = 385, [391] = 378, - [392] = 379, - [393] = 393, + [392] = 392, + [393] = 385, [394] = 394, - [395] = 382, - [396] = 396, - [397] = 397, - [398] = 398, + [395] = 388, + [396] = 384, + [397] = 384, + [398] = 380, [399] = 399, [400] = 400, - [401] = 401, + [401] = 400, [402] = 402, [403] = 403, [404] = 404, - [405] = 405, - [406] = 400, - [407] = 405, - [408] = 403, - [409] = 400, - [410] = 410, - [411] = 405, - [412] = 402, - [413] = 402, - [414] = 403, - [415] = 415, + [405] = 404, + [406] = 406, + [407] = 407, + [408] = 408, + [409] = 406, + [410] = 404, + [411] = 408, + [412] = 412, + [413] = 400, + [414] = 408, + [415] = 406, [416] = 416, [417] = 417, [418] = 418, [419] = 419, [420] = 420, - [421] = 420, - [422] = 416, - [423] = 420, - [424] = 424, - [425] = 419, - [426] = 420, - [427] = 419, - [428] = 416, - [429] = 416, + [421] = 418, + [422] = 422, + [423] = 423, + [424] = 422, + [425] = 422, + [426] = 422, + [427] = 417, + [428] = 428, + [429] = 422, [430] = 430, - [431] = 431, - [432] = 432, - [433] = 433, - [434] = 416, - [435] = 420, + [431] = 417, + [432] = 422, + [433] = 417, + [434] = 434, + [435] = 435, [436] = 436, - [437] = 430, - [438] = 420, - [439] = 430, - [440] = 440, - [441] = 433, - [442] = 420, - [443] = 432, - [444] = 433, - [445] = 432, + [437] = 437, + [438] = 417, + [439] = 418, + [440] = 419, + [441] = 422, + [442] = 442, + [443] = 443, + [444] = 436, + [445] = 419, + [446] = 435, + [447] = 436, + [448] = 435, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -1442,6 +1445,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '>') ADVANCE(66); if (lookahead == '[') ADVANCE(48); if (lookahead == ']') ADVANCE(49); + if (lookahead == '{') ADVANCE(33); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -2246,13 +2250,13 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [77] = {.lex_state = 25}, [78] = {.lex_state = 25}, [79] = {.lex_state = 25}, - [80] = {.lex_state = 25}, + [80] = {.lex_state = 1}, [81] = {.lex_state = 1}, - [82] = {.lex_state = 1}, + [82] = {.lex_state = 25}, [83] = {.lex_state = 25}, - [84] = {.lex_state = 1}, + [84] = {.lex_state = 25}, [85] = {.lex_state = 25}, - [86] = {.lex_state = 25}, + [86] = {.lex_state = 1}, [87] = {.lex_state = 25}, [88] = {.lex_state = 1}, [89] = {.lex_state = 1}, @@ -2404,17 +2408,17 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [235] = {.lex_state = 1}, [236] = {.lex_state = 1}, [237] = {.lex_state = 2}, - [238] = {.lex_state = 2}, - [239] = {.lex_state = 5}, - [240] = {.lex_state = 1}, + [238] = {.lex_state = 1}, + [239] = {.lex_state = 2}, + [240] = {.lex_state = 5}, [241] = {.lex_state = 1}, [242] = {.lex_state = 1}, - [243] = {.lex_state = 5}, - [244] = {.lex_state = 1}, + [243] = {.lex_state = 1}, + [244] = {.lex_state = 5}, [245] = {.lex_state = 2}, [246] = {.lex_state = 2}, [247] = {.lex_state = 2}, - [248] = {.lex_state = 5}, + [248] = {.lex_state = 2}, [249] = {.lex_state = 2}, [250] = {.lex_state = 2}, [251] = {.lex_state = 2}, @@ -2432,7 +2436,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [263] = {.lex_state = 2}, [264] = {.lex_state = 2}, [265] = {.lex_state = 2}, - [266] = {.lex_state = 2}, + [266] = {.lex_state = 5}, [267] = {.lex_state = 2}, [268] = {.lex_state = 2}, [269] = {.lex_state = 2}, @@ -2452,18 +2456,18 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [283] = {.lex_state = 1}, [284] = {.lex_state = 1}, [285] = {.lex_state = 1}, - [286] = {.lex_state = 3}, + [286] = {.lex_state = 1}, [287] = {.lex_state = 1}, [288] = {.lex_state = 1}, - [289] = {.lex_state = 1}, + [289] = {.lex_state = 3}, [290] = {.lex_state = 1}, [291] = {.lex_state = 1}, [292] = {.lex_state = 1}, [293] = {.lex_state = 1}, [294] = {.lex_state = 1}, [295] = {.lex_state = 1}, - [296] = {.lex_state = 1}, - [297] = {.lex_state = 4}, + [296] = {.lex_state = 4}, + [297] = {.lex_state = 1}, [298] = {.lex_state = 1}, [299] = {.lex_state = 3}, [300] = {.lex_state = 3}, @@ -2471,12 +2475,12 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [302] = {.lex_state = 1}, [303] = {.lex_state = 1}, [304] = {.lex_state = 2}, - [305] = {.lex_state = 2}, + [305] = {.lex_state = 1}, [306] = {.lex_state = 1}, [307] = {.lex_state = 2}, [308] = {.lex_state = 2}, [309] = {.lex_state = 2}, - [310] = {.lex_state = 1}, + [310] = {.lex_state = 2}, [311] = {.lex_state = 2}, [312] = {.lex_state = 2}, [313] = {.lex_state = 2}, @@ -2493,27 +2497,27 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [324] = {.lex_state = 2}, [325] = {.lex_state = 2}, [326] = {.lex_state = 2}, - [327] = {.lex_state = 2}, - [328] = {.lex_state = 3}, + [327] = {.lex_state = 7}, + [328] = {.lex_state = 7}, [329] = {.lex_state = 2}, - [330] = {.lex_state = 2}, - [331] = {.lex_state = 7}, - [332] = {.lex_state = 2}, + [330] = {.lex_state = 7}, + [331] = {.lex_state = 2}, + [332] = {.lex_state = 3}, [333] = {.lex_state = 2}, - [334] = {.lex_state = 2}, + [334] = {.lex_state = 7}, [335] = {.lex_state = 2}, [336] = {.lex_state = 2}, [337] = {.lex_state = 7}, [338] = {.lex_state = 2}, [339] = {.lex_state = 2}, - [340] = {.lex_state = 7}, - [341] = {.lex_state = 2}, + [340] = {.lex_state = 2}, + [341] = {.lex_state = 7}, [342] = {.lex_state = 2}, [343] = {.lex_state = 2}, - [344] = {.lex_state = 7}, + [344] = {.lex_state = 1}, [345] = {.lex_state = 2}, - [346] = {.lex_state = 7}, - [347] = {.lex_state = 2}, + [346] = {.lex_state = 2}, + [347] = {.lex_state = 1}, [348] = {.lex_state = 2}, [349] = {.lex_state = 2}, [350] = {.lex_state = 2}, @@ -2523,23 +2527,23 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [354] = {.lex_state = 2}, [355] = {.lex_state = 2}, [356] = {.lex_state = 2}, - [357] = {.lex_state = 7}, - [358] = {.lex_state = 1}, - [359] = {.lex_state = 2}, + [357] = {.lex_state = 2}, + [358] = {.lex_state = 2}, + [359] = {.lex_state = 1}, [360] = {.lex_state = 2}, - [361] = {.lex_state = 2}, - [362] = {.lex_state = 1}, - [363] = {.lex_state = 1}, - [364] = {.lex_state = 1}, + [361] = {.lex_state = 1}, + [362] = {.lex_state = 2}, + [363] = {.lex_state = 2}, + [364] = {.lex_state = 2}, [365] = {.lex_state = 1}, [366] = {.lex_state = 1}, [367] = {.lex_state = 1}, [368] = {.lex_state = 1}, [369] = {.lex_state = 1}, [370] = {.lex_state = 1}, - [371] = {.lex_state = 5}, + [371] = {.lex_state = 1}, [372] = {.lex_state = 5}, - [373] = {.lex_state = 1}, + [373] = {.lex_state = 5}, [374] = {.lex_state = 25}, [375] = {.lex_state = 25}, [376] = {.lex_state = 25}, @@ -2552,7 +2556,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [383] = {.lex_state = 1}, [384] = {.lex_state = 1}, [385] = {.lex_state = 1}, - [386] = {.lex_state = 1}, + [386] = {.lex_state = 25}, [387] = {.lex_state = 1}, [388] = {.lex_state = 1}, [389] = {.lex_state = 1}, @@ -2563,55 +2567,58 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [394] = {.lex_state = 1}, [395] = {.lex_state = 1}, [396] = {.lex_state = 1}, - [397] = {.lex_state = 25}, + [397] = {.lex_state = 1}, [398] = {.lex_state = 1}, [399] = {.lex_state = 1}, - [400] = {.lex_state = 1}, - [401] = {.lex_state = 1}, + [400] = {.lex_state = 0}, + [401] = {.lex_state = 0}, [402] = {.lex_state = 0}, [403] = {.lex_state = 0}, [404] = {.lex_state = 0}, [405] = {.lex_state = 0}, [406] = {.lex_state = 1}, - [407] = {.lex_state = 0}, + [407] = {.lex_state = 1}, [408] = {.lex_state = 0}, [409] = {.lex_state = 1}, - [410] = {.lex_state = 1}, + [410] = {.lex_state = 0}, [411] = {.lex_state = 0}, - [412] = {.lex_state = 0}, + [412] = {.lex_state = 1}, [413] = {.lex_state = 0}, [414] = {.lex_state = 0}, - [415] = {.lex_state = 0}, - [416] = {.lex_state = 0}, + [415] = {.lex_state = 1}, + [416] = {.lex_state = 1}, [417] = {.lex_state = 0}, - [418] = {.lex_state = 5}, - [419] = {.lex_state = 1}, + [418] = {.lex_state = 1}, + [419] = {.lex_state = 0}, [420] = {.lex_state = 0}, - [421] = {.lex_state = 0}, + [421] = {.lex_state = 1}, [422] = {.lex_state = 0}, [423] = {.lex_state = 0}, - [424] = {.lex_state = 25}, - [425] = {.lex_state = 1}, + [424] = {.lex_state = 0}, + [425] = {.lex_state = 0}, [426] = {.lex_state = 0}, - [427] = {.lex_state = 1}, - [428] = {.lex_state = 0}, + [427] = {.lex_state = 0}, + [428] = {.lex_state = 5}, [429] = {.lex_state = 0}, [430] = {.lex_state = 0}, - [431] = {.lex_state = 5}, + [431] = {.lex_state = 0}, [432] = {.lex_state = 0}, - [433] = {.lex_state = 1}, + [433] = {.lex_state = 0}, [434] = {.lex_state = 0}, [435] = {.lex_state = 0}, - [436] = {.lex_state = 0}, - [437] = {.lex_state = 0}, + [436] = {.lex_state = 1}, + [437] = {.lex_state = 5}, [438] = {.lex_state = 0}, - [439] = {.lex_state = 0}, + [439] = {.lex_state = 1}, [440] = {.lex_state = 0}, - [441] = {.lex_state = 1}, - [442] = {.lex_state = 0}, + [441] = {.lex_state = 0}, + [442] = {.lex_state = 25}, [443] = {.lex_state = 0}, [444] = {.lex_state = 1}, [445] = {.lex_state = 0}, + [446] = {.lex_state = 0}, + [447] = {.lex_state = 1}, + [448] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2684,20 +2691,20 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(1), }, [1] = { - [sym_root] = STATE(440), - [sym_statement] = STATE(25), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_root] = STATE(443), + [sym_statement] = STATE(24), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -2706,13 +2713,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(25), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(24), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -2743,19 +2750,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(37), }, [2] = { - [sym_statement] = STATE(26), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_statement] = STATE(2), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -2764,20 +2771,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(26), - [aux_sym_map_repeat1] = STATE(387), - [sym_identifier] = ACTIONS(39), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(2), + [ts_builtin_sym_end] = ACTIONS(39), + [sym_identifier] = ACTIONS(41), + [sym__comment] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(44), + [anon_sym_async] = ACTIONS(47), + [anon_sym_LBRACE] = ACTIONS(50), + [anon_sym_RBRACE] = ACTIONS(39), + [sym_integer] = ACTIONS(53), + [sym_float] = ACTIONS(56), + [sym_string] = ACTIONS(56), + [anon_sym_true] = ACTIONS(59), + [anon_sym_false] = ACTIONS(59), + [anon_sym_LBRACK] = ACTIONS(62), + [anon_sym_none] = ACTIONS(65), + [anon_sym_some] = ACTIONS(68), + [anon_sym_if] = ACTIONS(71), + [anon_sym_match] = ACTIONS(74), + [anon_sym_while] = ACTIONS(77), + [anon_sym_for] = ACTIONS(80), + [anon_sym_asyncfor] = ACTIONS(83), + [anon_sym_return] = ACTIONS(86), + [anon_sym_args] = ACTIONS(89), + [anon_sym_assert_equal] = ACTIONS(89), + [anon_sym_env] = ACTIONS(89), + [anon_sym_fs] = ACTIONS(89), + [anon_sym_json] = ACTIONS(89), + [anon_sym_length] = ACTIONS(89), + [anon_sym_output] = ACTIONS(89), + [anon_sym_random] = ACTIONS(89), + [anon_sym_string] = ACTIONS(89), + }, + [3] = { + [sym_statement] = STATE(21), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), + [sym_block] = STATE(230), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), + [sym_assignment] = STATE(230), + [sym_index_assignment] = STATE(230), + [sym_if_else] = STATE(230), + [sym_if] = STATE(213), + [sym_match] = STATE(230), + [sym_while] = STATE(230), + [sym_for] = STATE(230), + [sym_return] = STATE(230), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(21), + [aux_sym_map_repeat1] = STATE(380), + [sym_identifier] = ACTIONS(92), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(41), + [anon_sym_RBRACE] = ACTIONS(94), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), @@ -2802,80 +2869,20 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_random] = ACTIONS(37), [anon_sym_string] = ACTIONS(37), }, - [3] = { - [sym_statement] = STATE(3), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), - [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(3), - [ts_builtin_sym_end] = ACTIONS(43), - [sym_identifier] = ACTIONS(45), - [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(48), - [anon_sym_async] = ACTIONS(51), - [anon_sym_LBRACE] = ACTIONS(54), - [anon_sym_RBRACE] = ACTIONS(43), - [sym_integer] = ACTIONS(57), - [sym_float] = ACTIONS(60), - [sym_string] = ACTIONS(60), - [anon_sym_true] = ACTIONS(63), - [anon_sym_false] = ACTIONS(63), - [anon_sym_LBRACK] = ACTIONS(66), - [anon_sym_none] = ACTIONS(69), - [anon_sym_some] = ACTIONS(72), - [anon_sym_if] = ACTIONS(75), - [anon_sym_match] = ACTIONS(78), - [anon_sym_while] = ACTIONS(81), - [anon_sym_for] = ACTIONS(84), - [anon_sym_asyncfor] = ACTIONS(87), - [anon_sym_return] = ACTIONS(90), - [anon_sym_args] = ACTIONS(93), - [anon_sym_assert_equal] = ACTIONS(93), - [anon_sym_env] = ACTIONS(93), - [anon_sym_fs] = ACTIONS(93), - [anon_sym_json] = ACTIONS(93), - [anon_sym_length] = ACTIONS(93), - [anon_sym_output] = ACTIONS(93), - [anon_sym_random] = ACTIONS(93), - [anon_sym_string] = ACTIONS(93), - }, [4] = { - [sym_statement] = STATE(20), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_statement] = STATE(14), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -2884,15 +2891,15 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(20), - [aux_sym_map_repeat1] = STATE(389), - [sym_identifier] = ACTIONS(39), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(14), + [aux_sym_map_repeat1] = STATE(398), + [sym_identifier] = ACTIONS(92), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), @@ -2923,19 +2930,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(37), }, [5] = { - [sym_statement] = STATE(14), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_statement] = STATE(26), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -2944,15 +2951,15 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(14), - [aux_sym_map_repeat1] = STATE(384), - [sym_identifier] = ACTIONS(39), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(26), + [aux_sym_map_repeat1] = STATE(381), + [sym_identifier] = ACTIONS(92), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), @@ -2983,19 +2990,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(37), }, [6] = { - [sym_statement] = STATE(3), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_statement] = STATE(16), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -3004,13 +3011,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(3), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(16), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3042,19 +3049,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(37), }, [7] = { - [sym_statement] = STATE(3), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_statement] = STATE(2), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -3063,13 +3070,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(3), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3101,19 +3108,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(37), }, [8] = { - [sym_statement] = STATE(11), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_statement] = STATE(2), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -3122,12 +3129,71 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(2), + [sym_identifier] = ACTIONS(5), + [sym__comment] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(7), + [anon_sym_async] = ACTIONS(9), + [anon_sym_LBRACE] = ACTIONS(11), + [anon_sym_RBRACE] = ACTIONS(100), + [sym_integer] = ACTIONS(13), + [sym_float] = ACTIONS(15), + [sym_string] = ACTIONS(15), + [anon_sym_true] = ACTIONS(17), + [anon_sym_false] = ACTIONS(17), + [anon_sym_LBRACK] = ACTIONS(19), + [anon_sym_none] = ACTIONS(21), + [anon_sym_some] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_args] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_env] = ACTIONS(37), + [anon_sym_fs] = ACTIONS(37), + [anon_sym_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_string] = ACTIONS(37), + }, + [9] = { + [sym_statement] = STATE(11), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), + [sym_block] = STATE(230), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), + [sym_assignment] = STATE(230), + [sym_index_assignment] = STATE(230), + [sym_if_else] = STATE(230), + [sym_if] = STATE(213), + [sym_match] = STATE(230), + [sym_while] = STATE(230), + [sym_for] = STATE(230), + [sym_return] = STATE(230), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), [aux_sym_root_repeat1] = STATE(11), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), @@ -3159,79 +3225,20 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_random] = ACTIONS(37), [anon_sym_string] = ACTIONS(37), }, - [9] = { - [sym_statement] = STATE(3), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), - [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(3), - [sym_identifier] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_async] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(104), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), - }, [10] = { - [sym_statement] = STATE(17), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_statement] = STATE(12), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -3240,13 +3247,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(17), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(12), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3278,19 +3285,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(37), }, [11] = { - [sym_statement] = STATE(3), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_statement] = STATE(2), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -3299,13 +3306,72 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(3), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(2), + [sym_identifier] = ACTIONS(5), + [sym__comment] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(7), + [anon_sym_async] = ACTIONS(9), + [anon_sym_LBRACE] = ACTIONS(11), + [anon_sym_RBRACE] = ACTIONS(106), + [sym_integer] = ACTIONS(13), + [sym_float] = ACTIONS(15), + [sym_string] = ACTIONS(15), + [anon_sym_true] = ACTIONS(17), + [anon_sym_false] = ACTIONS(17), + [anon_sym_LBRACK] = ACTIONS(19), + [anon_sym_none] = ACTIONS(21), + [anon_sym_some] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_args] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_env] = ACTIONS(37), + [anon_sym_fs] = ACTIONS(37), + [anon_sym_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_string] = ACTIONS(37), + }, + [12] = { + [sym_statement] = STATE(2), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), + [sym_block] = STATE(230), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), + [sym_assignment] = STATE(230), + [sym_index_assignment] = STATE(230), + [sym_if_else] = STATE(230), + [sym_if] = STATE(213), + [sym_match] = STATE(230), + [sym_while] = STATE(230), + [sym_for] = STATE(230), + [sym_return] = STATE(230), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3336,79 +3402,20 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_random] = ACTIONS(37), [anon_sym_string] = ACTIONS(37), }, - [12] = { - [sym_statement] = STATE(20), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), - [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(20), - [sym_identifier] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_async] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(96), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), - }, [13] = { - [sym_statement] = STATE(14), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_statement] = STATE(26), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -3417,13 +3424,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(14), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(26), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3455,19 +3462,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(37), }, [14] = { - [sym_statement] = STATE(3), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_statement] = STATE(2), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -3476,13 +3483,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(3), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3514,19 +3521,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(37), }, [15] = { - [sym_statement] = STATE(3), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_statement] = STATE(2), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -3535,131 +3542,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(3), - [sym_identifier] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_async] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(106), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), - }, - [16] = { - [sym_statement] = STATE(21), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), - [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(21), - [sym_identifier] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_async] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(110), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), - }, - [17] = { - [sym_statement] = STATE(3), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), - [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(3), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3690,20 +3579,20 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_random] = ACTIONS(37), [anon_sym_string] = ACTIONS(37), }, - [18] = { - [sym_statement] = STATE(9), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [16] = { + [sym_statement] = STATE(2), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -3712,13 +3601,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(9), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3749,20 +3638,20 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_random] = ACTIONS(37), [anon_sym_string] = ACTIONS(37), }, - [19] = { - [sym_statement] = STATE(6), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [17] = { + [sym_statement] = STATE(14), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -3771,13 +3660,131 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(6), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(14), + [sym_identifier] = ACTIONS(5), + [sym__comment] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(7), + [anon_sym_async] = ACTIONS(9), + [anon_sym_LBRACE] = ACTIONS(11), + [anon_sym_RBRACE] = ACTIONS(96), + [sym_integer] = ACTIONS(13), + [sym_float] = ACTIONS(15), + [sym_string] = ACTIONS(15), + [anon_sym_true] = ACTIONS(17), + [anon_sym_false] = ACTIONS(17), + [anon_sym_LBRACK] = ACTIONS(19), + [anon_sym_none] = ACTIONS(21), + [anon_sym_some] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_args] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_env] = ACTIONS(37), + [anon_sym_fs] = ACTIONS(37), + [anon_sym_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_string] = ACTIONS(37), + }, + [18] = { + [sym_statement] = STATE(15), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), + [sym_block] = STATE(230), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), + [sym_assignment] = STATE(230), + [sym_index_assignment] = STATE(230), + [sym_if_else] = STATE(230), + [sym_if] = STATE(213), + [sym_match] = STATE(230), + [sym_while] = STATE(230), + [sym_for] = STATE(230), + [sym_return] = STATE(230), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(15), + [sym_identifier] = ACTIONS(5), + [sym__comment] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(7), + [anon_sym_async] = ACTIONS(9), + [anon_sym_LBRACE] = ACTIONS(11), + [anon_sym_RBRACE] = ACTIONS(110), + [sym_integer] = ACTIONS(13), + [sym_float] = ACTIONS(15), + [sym_string] = ACTIONS(15), + [anon_sym_true] = ACTIONS(17), + [anon_sym_false] = ACTIONS(17), + [anon_sym_LBRACK] = ACTIONS(19), + [anon_sym_none] = ACTIONS(21), + [anon_sym_some] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_args] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_env] = ACTIONS(37), + [anon_sym_fs] = ACTIONS(37), + [anon_sym_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_string] = ACTIONS(37), + }, + [19] = { + [sym_statement] = STATE(8), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), + [sym_block] = STATE(230), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), + [sym_assignment] = STATE(230), + [sym_index_assignment] = STATE(230), + [sym_if_else] = STATE(230), + [sym_if] = STATE(213), + [sym_match] = STATE(230), + [sym_while] = STATE(230), + [sym_for] = STATE(230), + [sym_return] = STATE(230), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(8), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3809,19 +3816,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(37), }, [20] = { - [sym_statement] = STATE(3), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_statement] = STATE(2), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -3830,72 +3837,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(3), - [sym_identifier] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_async] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(116), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), - }, - [21] = { - [sym_statement] = STATE(3), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), - [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), - [sym_assignment] = STATE(230), - [sym_index_assignment] = STATE(230), - [sym_if_else] = STATE(230), - [sym_if] = STATE(213), - [sym_match] = STATE(230), - [sym_while] = STATE(230), - [sym_for] = STATE(230), - [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(3), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3926,20 +3874,20 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_random] = ACTIONS(37), [anon_sym_string] = ACTIONS(37), }, - [22] = { - [sym_statement] = STATE(15), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [21] = { + [sym_statement] = STATE(2), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -3948,13 +3896,72 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(15), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(2), + [sym_identifier] = ACTIONS(5), + [sym__comment] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(7), + [anon_sym_async] = ACTIONS(9), + [anon_sym_LBRACE] = ACTIONS(11), + [anon_sym_RBRACE] = ACTIONS(120), + [sym_integer] = ACTIONS(13), + [sym_float] = ACTIONS(15), + [sym_string] = ACTIONS(15), + [anon_sym_true] = ACTIONS(17), + [anon_sym_false] = ACTIONS(17), + [anon_sym_LBRACK] = ACTIONS(19), + [anon_sym_none] = ACTIONS(21), + [anon_sym_some] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_args] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_env] = ACTIONS(37), + [anon_sym_fs] = ACTIONS(37), + [anon_sym_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_string] = ACTIONS(37), + }, + [22] = { + [sym_statement] = STATE(20), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), + [sym_block] = STATE(230), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), + [sym_assignment] = STATE(230), + [sym_index_assignment] = STATE(230), + [sym_if_else] = STATE(230), + [sym_if] = STATE(213), + [sym_match] = STATE(230), + [sym_while] = STATE(230), + [sym_for] = STATE(230), + [sym_return] = STATE(230), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(20), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -3986,19 +3993,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(37), }, [23] = { - [sym_statement] = STATE(26), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_statement] = STATE(21), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -4007,19 +4014,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(26), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(21), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(41), + [anon_sym_RBRACE] = ACTIONS(94), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), @@ -4045,19 +4052,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(37), }, [24] = { - [sym_statement] = STATE(7), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_statement] = STATE(2), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -4066,19 +4073,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(7), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(2), + [ts_builtin_sym_end] = ACTIONS(122), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(122), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), @@ -4104,19 +4111,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(37), }, [25] = { - [sym_statement] = STATE(3), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_statement] = STATE(7), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -4125,19 +4132,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(3), - [ts_builtin_sym_end] = ACTIONS(124), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(7), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), + [anon_sym_RBRACE] = ACTIONS(124), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), @@ -4163,19 +4170,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(37), }, [26] = { - [sym_statement] = STATE(3), - [sym_expression] = STATE(86), - [sym__expression_kind] = STATE(58), + [sym_statement] = STATE(2), + [sym_expression] = STATE(84), + [sym__expression_kind] = STATE(71), [sym_block] = STATE(230), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), [sym_assignment] = STATE(230), [sym_index_assignment] = STATE(230), [sym_if_else] = STATE(230), @@ -4184,19 +4191,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_while] = STATE(230), [sym_for] = STATE(230), [sym_return] = STATE(230), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [aux_sym_root_repeat1] = STATE(3), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [aux_sym_root_repeat1] = STATE(2), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), - [anon_sym_RBRACE] = ACTIONS(122), + [anon_sym_RBRACE] = ACTIONS(124), [sym_integer] = ACTIONS(13), [sym_float] = ACTIONS(15), [sym_string] = ACTIONS(15), @@ -4222,33 +4229,33 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(37), }, [27] = { - [sym_statement] = STATE(393), - [sym_expression] = STATE(304), - [sym__expression_kind] = STATE(263), - [sym_block] = STATE(284), - [sym_value] = STATE(259), - [sym_boolean] = STATE(273), - [sym_list] = STATE(273), - [sym_map] = STATE(273), - [sym_option] = STATE(273), - [sym_index] = STATE(297), + [sym_statement] = STATE(293), + [sym_expression] = STATE(310), + [sym__expression_kind] = STATE(258), + [sym_block] = STATE(286), + [sym_value] = STATE(250), + [sym_boolean] = STATE(269), + [sym_list] = STATE(269), + [sym_map] = STATE(269), + [sym_option] = STATE(269), + [sym_index] = STATE(296), [sym_index_expression] = STATE(426), - [sym_math] = STATE(263), - [sym_logic] = STATE(263), - [sym_assignment] = STATE(284), - [sym_index_assignment] = STATE(284), - [sym_if_else] = STATE(284), + [sym_math] = STATE(258), + [sym_logic] = STATE(258), + [sym_assignment] = STATE(286), + [sym_index_assignment] = STATE(286), + [sym_if_else] = STATE(286), [sym_if] = STATE(372), - [sym_match] = STATE(284), - [sym_while] = STATE(284), - [sym_for] = STATE(284), - [sym_return] = STATE(284), - [sym_function] = STATE(273), - [sym_function_expression] = STATE(439), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(258), - [sym_yield] = STATE(258), - [sym_built_in_value] = STATE(273), + [sym_match] = STATE(286), + [sym_while] = STATE(286), + [sym_for] = STATE(286), + [sym_return] = STATE(286), + [sym_function] = STATE(269), + [sym_function_expression] = STATE(445), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(245), + [sym_yield] = STATE(245), + [sym_built_in_value] = STATE(269), [sym_identifier] = ACTIONS(126), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(128), @@ -4279,147 +4286,33 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(158), }, [28] = { - [sym_statement] = STATE(295), - [sym_expression] = STATE(128), - [sym__expression_kind] = STATE(107), - [sym_block] = STATE(289), - [sym_value] = STATE(95), - [sym_boolean] = STATE(91), - [sym_list] = STATE(91), - [sym_map] = STATE(91), - [sym_option] = STATE(91), - [sym_index] = STATE(119), - [sym_index_expression] = STATE(420), - [sym_math] = STATE(107), - [sym_logic] = STATE(107), - [sym_assignment] = STATE(289), - [sym_index_assignment] = STATE(289), - [sym_if_else] = STATE(289), - [sym_if] = STATE(239), - [sym_match] = STATE(289), - [sym_while] = STATE(289), - [sym_for] = STATE(289), - [sym_return] = STATE(289), - [sym_function] = STATE(91), - [sym_function_expression] = STATE(430), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(109), - [sym_yield] = STATE(109), - [sym_built_in_value] = STATE(91), - [sym_identifier] = ACTIONS(160), - [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(162), - [anon_sym_async] = ACTIONS(164), - [anon_sym_LBRACE] = ACTIONS(166), - [sym_integer] = ACTIONS(168), - [sym_float] = ACTIONS(170), - [sym_string] = ACTIONS(170), - [anon_sym_true] = ACTIONS(172), - [anon_sym_false] = ACTIONS(172), - [anon_sym_LBRACK] = ACTIONS(174), - [anon_sym_none] = ACTIONS(176), - [anon_sym_some] = ACTIONS(178), - [anon_sym_if] = ACTIONS(146), - [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(180), - [anon_sym_for] = ACTIONS(182), - [anon_sym_asyncfor] = ACTIONS(184), - [anon_sym_return] = ACTIONS(186), - [anon_sym_args] = ACTIONS(188), - [anon_sym_assert_equal] = ACTIONS(188), - [anon_sym_env] = ACTIONS(188), - [anon_sym_fs] = ACTIONS(188), - [anon_sym_json] = ACTIONS(188), - [anon_sym_length] = ACTIONS(188), - [anon_sym_output] = ACTIONS(188), - [anon_sym_random] = ACTIONS(188), - [anon_sym_string] = ACTIONS(188), - }, - [29] = { - [sym_statement] = STATE(291), - [sym_expression] = STATE(128), - [sym__expression_kind] = STATE(107), - [sym_block] = STATE(289), - [sym_value] = STATE(95), - [sym_boolean] = STATE(91), - [sym_list] = STATE(91), - [sym_map] = STATE(91), - [sym_option] = STATE(91), - [sym_index] = STATE(119), - [sym_index_expression] = STATE(420), - [sym_math] = STATE(107), - [sym_logic] = STATE(107), - [sym_assignment] = STATE(289), - [sym_index_assignment] = STATE(289), - [sym_if_else] = STATE(289), - [sym_if] = STATE(239), - [sym_match] = STATE(289), - [sym_while] = STATE(289), - [sym_for] = STATE(289), - [sym_return] = STATE(289), - [sym_function] = STATE(91), - [sym_function_expression] = STATE(430), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(109), - [sym_yield] = STATE(109), - [sym_built_in_value] = STATE(91), - [sym_identifier] = ACTIONS(160), - [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(162), - [anon_sym_async] = ACTIONS(164), - [anon_sym_LBRACE] = ACTIONS(166), - [sym_integer] = ACTIONS(168), - [sym_float] = ACTIONS(170), - [sym_string] = ACTIONS(170), - [anon_sym_true] = ACTIONS(172), - [anon_sym_false] = ACTIONS(172), - [anon_sym_LBRACK] = ACTIONS(174), - [anon_sym_none] = ACTIONS(176), - [anon_sym_some] = ACTIONS(178), - [anon_sym_if] = ACTIONS(146), - [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(180), - [anon_sym_for] = ACTIONS(182), - [anon_sym_asyncfor] = ACTIONS(184), - [anon_sym_return] = ACTIONS(186), - [anon_sym_args] = ACTIONS(188), - [anon_sym_assert_equal] = ACTIONS(188), - [anon_sym_env] = ACTIONS(188), - [anon_sym_fs] = ACTIONS(188), - [anon_sym_json] = ACTIONS(188), - [anon_sym_length] = ACTIONS(188), - [anon_sym_output] = ACTIONS(188), - [anon_sym_random] = ACTIONS(188), - [anon_sym_string] = ACTIONS(188), - }, - [30] = { - [sym_statement] = STATE(225), + [sym_statement] = STATE(231), [sym_expression] = STATE(85), - [sym__expression_kind] = STATE(58), - [sym_block] = STATE(228), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), - [sym_assignment] = STATE(228), - [sym_index_assignment] = STATE(228), - [sym_if_else] = STATE(228), + [sym__expression_kind] = STATE(71), + [sym_block] = STATE(223), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), + [sym_assignment] = STATE(223), + [sym_index_assignment] = STATE(223), + [sym_if_else] = STATE(223), [sym_if] = STATE(213), - [sym_match] = STATE(228), - [sym_while] = STATE(228), - [sym_for] = STATE(228), - [sym_return] = STATE(228), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), + [sym_match] = STATE(223), + [sym_while] = STATE(223), + [sym_for] = STATE(223), + [sym_return] = STATE(223), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -4449,34 +4342,148 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_random] = ACTIONS(37), [anon_sym_string] = ACTIONS(37), }, + [29] = { + [sym_statement] = STATE(229), + [sym_expression] = STATE(85), + [sym__expression_kind] = STATE(71), + [sym_block] = STATE(223), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), + [sym_assignment] = STATE(223), + [sym_index_assignment] = STATE(223), + [sym_if_else] = STATE(223), + [sym_if] = STATE(213), + [sym_match] = STATE(223), + [sym_while] = STATE(223), + [sym_for] = STATE(223), + [sym_return] = STATE(223), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [sym_identifier] = ACTIONS(5), + [sym__comment] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(7), + [anon_sym_async] = ACTIONS(9), + [anon_sym_LBRACE] = ACTIONS(11), + [sym_integer] = ACTIONS(13), + [sym_float] = ACTIONS(15), + [sym_string] = ACTIONS(15), + [anon_sym_true] = ACTIONS(17), + [anon_sym_false] = ACTIONS(17), + [anon_sym_LBRACK] = ACTIONS(19), + [anon_sym_none] = ACTIONS(21), + [anon_sym_some] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_args] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_env] = ACTIONS(37), + [anon_sym_fs] = ACTIONS(37), + [anon_sym_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_string] = ACTIONS(37), + }, + [30] = { + [sym_statement] = STATE(284), + [sym_expression] = STATE(140), + [sym__expression_kind] = STATE(102), + [sym_block] = STATE(286), + [sym_value] = STATE(109), + [sym_boolean] = STATE(95), + [sym_list] = STATE(95), + [sym_map] = STATE(95), + [sym_option] = STATE(95), + [sym_index] = STATE(119), + [sym_index_expression] = STATE(424), + [sym_math] = STATE(102), + [sym_logic] = STATE(102), + [sym_assignment] = STATE(286), + [sym_index_assignment] = STATE(286), + [sym_if_else] = STATE(286), + [sym_if] = STATE(240), + [sym_match] = STATE(286), + [sym_while] = STATE(286), + [sym_for] = STATE(286), + [sym_return] = STATE(286), + [sym_function] = STATE(95), + [sym_function_expression] = STATE(419), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(100), + [sym_yield] = STATE(100), + [sym_built_in_value] = STATE(95), + [sym_identifier] = ACTIONS(160), + [sym__comment] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(162), + [anon_sym_async] = ACTIONS(164), + [anon_sym_LBRACE] = ACTIONS(166), + [sym_integer] = ACTIONS(168), + [sym_float] = ACTIONS(170), + [sym_string] = ACTIONS(170), + [anon_sym_true] = ACTIONS(172), + [anon_sym_false] = ACTIONS(172), + [anon_sym_LBRACK] = ACTIONS(174), + [anon_sym_none] = ACTIONS(176), + [anon_sym_some] = ACTIONS(178), + [anon_sym_if] = ACTIONS(146), + [anon_sym_match] = ACTIONS(148), + [anon_sym_while] = ACTIONS(180), + [anon_sym_for] = ACTIONS(182), + [anon_sym_asyncfor] = ACTIONS(184), + [anon_sym_return] = ACTIONS(186), + [anon_sym_args] = ACTIONS(188), + [anon_sym_assert_equal] = ACTIONS(188), + [anon_sym_env] = ACTIONS(188), + [anon_sym_fs] = ACTIONS(188), + [anon_sym_json] = ACTIONS(188), + [anon_sym_length] = ACTIONS(188), + [anon_sym_output] = ACTIONS(188), + [anon_sym_random] = ACTIONS(188), + [anon_sym_string] = ACTIONS(188), + }, [31] = { - [sym_statement] = STATE(386), - [sym_expression] = STATE(304), - [sym__expression_kind] = STATE(263), - [sym_block] = STATE(284), - [sym_value] = STATE(259), - [sym_boolean] = STATE(273), - [sym_list] = STATE(273), - [sym_map] = STATE(273), - [sym_option] = STATE(273), - [sym_index] = STATE(297), + [sym_statement] = STATE(383), + [sym_expression] = STATE(307), + [sym__expression_kind] = STATE(258), + [sym_block] = STATE(292), + [sym_value] = STATE(250), + [sym_boolean] = STATE(269), + [sym_list] = STATE(269), + [sym_map] = STATE(269), + [sym_option] = STATE(269), + [sym_index] = STATE(296), [sym_index_expression] = STATE(426), - [sym_math] = STATE(263), - [sym_logic] = STATE(263), - [sym_assignment] = STATE(284), - [sym_index_assignment] = STATE(284), - [sym_if_else] = STATE(284), + [sym_math] = STATE(258), + [sym_logic] = STATE(258), + [sym_assignment] = STATE(292), + [sym_index_assignment] = STATE(292), + [sym_if_else] = STATE(292), [sym_if] = STATE(372), - [sym_match] = STATE(284), - [sym_while] = STATE(284), - [sym_for] = STATE(284), - [sym_return] = STATE(284), - [sym_function] = STATE(273), - [sym_function_expression] = STATE(439), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(258), - [sym_yield] = STATE(258), - [sym_built_in_value] = STATE(273), + [sym_match] = STATE(292), + [sym_while] = STATE(292), + [sym_for] = STATE(292), + [sym_return] = STATE(292), + [sym_function] = STATE(269), + [sym_function_expression] = STATE(445), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(245), + [sym_yield] = STATE(245), + [sym_built_in_value] = STATE(269), [sym_identifier] = ACTIONS(126), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(128), @@ -4507,33 +4514,33 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(158), }, [32] = { - [sym_statement] = STATE(288), - [sym_expression] = STATE(128), - [sym__expression_kind] = STATE(107), - [sym_block] = STATE(289), - [sym_value] = STATE(95), - [sym_boolean] = STATE(91), - [sym_list] = STATE(91), - [sym_map] = STATE(91), - [sym_option] = STATE(91), + [sym_statement] = STATE(285), + [sym_expression] = STATE(140), + [sym__expression_kind] = STATE(102), + [sym_block] = STATE(286), + [sym_value] = STATE(109), + [sym_boolean] = STATE(95), + [sym_list] = STATE(95), + [sym_map] = STATE(95), + [sym_option] = STATE(95), [sym_index] = STATE(119), - [sym_index_expression] = STATE(420), - [sym_math] = STATE(107), - [sym_logic] = STATE(107), - [sym_assignment] = STATE(289), - [sym_index_assignment] = STATE(289), - [sym_if_else] = STATE(289), - [sym_if] = STATE(239), - [sym_match] = STATE(289), - [sym_while] = STATE(289), - [sym_for] = STATE(289), - [sym_return] = STATE(289), - [sym_function] = STATE(91), - [sym_function_expression] = STATE(430), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(109), - [sym_yield] = STATE(109), - [sym_built_in_value] = STATE(91), + [sym_index_expression] = STATE(424), + [sym_math] = STATE(102), + [sym_logic] = STATE(102), + [sym_assignment] = STATE(286), + [sym_index_assignment] = STATE(286), + [sym_if_else] = STATE(286), + [sym_if] = STATE(240), + [sym_match] = STATE(286), + [sym_while] = STATE(286), + [sym_for] = STATE(286), + [sym_return] = STATE(286), + [sym_function] = STATE(95), + [sym_function_expression] = STATE(419), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(100), + [sym_yield] = STATE(100), + [sym_built_in_value] = STATE(95), [sym_identifier] = ACTIONS(160), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(162), @@ -4564,33 +4571,33 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(188), }, [33] = { - [sym_statement] = STATE(298), - [sym_expression] = STATE(126), - [sym__expression_kind] = STATE(107), - [sym_block] = STATE(284), - [sym_value] = STATE(95), - [sym_boolean] = STATE(91), - [sym_list] = STATE(91), - [sym_map] = STATE(91), - [sym_option] = STATE(91), + [sym_statement] = STATE(293), + [sym_expression] = STATE(140), + [sym__expression_kind] = STATE(102), + [sym_block] = STATE(286), + [sym_value] = STATE(109), + [sym_boolean] = STATE(95), + [sym_list] = STATE(95), + [sym_map] = STATE(95), + [sym_option] = STATE(95), [sym_index] = STATE(119), - [sym_index_expression] = STATE(420), - [sym_math] = STATE(107), - [sym_logic] = STATE(107), - [sym_assignment] = STATE(284), - [sym_index_assignment] = STATE(284), - [sym_if_else] = STATE(284), - [sym_if] = STATE(239), - [sym_match] = STATE(284), - [sym_while] = STATE(284), - [sym_for] = STATE(284), - [sym_return] = STATE(284), - [sym_function] = STATE(91), - [sym_function_expression] = STATE(430), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(109), - [sym_yield] = STATE(109), - [sym_built_in_value] = STATE(91), + [sym_index_expression] = STATE(424), + [sym_math] = STATE(102), + [sym_logic] = STATE(102), + [sym_assignment] = STATE(286), + [sym_index_assignment] = STATE(286), + [sym_if_else] = STATE(286), + [sym_if] = STATE(240), + [sym_match] = STATE(286), + [sym_while] = STATE(286), + [sym_for] = STATE(286), + [sym_return] = STATE(286), + [sym_function] = STATE(95), + [sym_function_expression] = STATE(419), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(100), + [sym_yield] = STATE(100), + [sym_built_in_value] = STATE(95), [sym_identifier] = ACTIONS(160), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(162), @@ -4621,90 +4628,90 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(188), }, [34] = { - [sym_statement] = STATE(220), - [sym_expression] = STATE(85), - [sym__expression_kind] = STATE(58), - [sym_block] = STATE(228), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), - [sym_assignment] = STATE(228), - [sym_index_assignment] = STATE(228), - [sym_if_else] = STATE(228), - [sym_if] = STATE(213), - [sym_match] = STATE(228), - [sym_while] = STATE(228), - [sym_for] = STATE(228), - [sym_return] = STATE(228), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [sym_identifier] = ACTIONS(5), + [sym_statement] = STATE(285), + [sym_expression] = STATE(310), + [sym__expression_kind] = STATE(258), + [sym_block] = STATE(286), + [sym_value] = STATE(250), + [sym_boolean] = STATE(269), + [sym_list] = STATE(269), + [sym_map] = STATE(269), + [sym_option] = STATE(269), + [sym_index] = STATE(296), + [sym_index_expression] = STATE(426), + [sym_math] = STATE(258), + [sym_logic] = STATE(258), + [sym_assignment] = STATE(286), + [sym_index_assignment] = STATE(286), + [sym_if_else] = STATE(286), + [sym_if] = STATE(372), + [sym_match] = STATE(286), + [sym_while] = STATE(286), + [sym_for] = STATE(286), + [sym_return] = STATE(286), + [sym_function] = STATE(269), + [sym_function_expression] = STATE(445), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(245), + [sym_yield] = STATE(245), + [sym_built_in_value] = STATE(269), + [sym_identifier] = ACTIONS(126), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_async] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_LPAREN] = ACTIONS(128), + [anon_sym_async] = ACTIONS(130), + [anon_sym_LBRACE] = ACTIONS(132), + [sym_integer] = ACTIONS(134), + [sym_float] = ACTIONS(136), + [sym_string] = ACTIONS(136), + [anon_sym_true] = ACTIONS(138), + [anon_sym_false] = ACTIONS(138), + [anon_sym_LBRACK] = ACTIONS(140), + [anon_sym_none] = ACTIONS(142), + [anon_sym_some] = ACTIONS(144), + [anon_sym_if] = ACTIONS(146), + [anon_sym_match] = ACTIONS(148), + [anon_sym_while] = ACTIONS(150), + [anon_sym_for] = ACTIONS(152), + [anon_sym_asyncfor] = ACTIONS(154), + [anon_sym_return] = ACTIONS(156), + [anon_sym_args] = ACTIONS(158), + [anon_sym_assert_equal] = ACTIONS(158), + [anon_sym_env] = ACTIONS(158), + [anon_sym_fs] = ACTIONS(158), + [anon_sym_json] = ACTIONS(158), + [anon_sym_length] = ACTIONS(158), + [anon_sym_output] = ACTIONS(158), + [anon_sym_random] = ACTIONS(158), + [anon_sym_string] = ACTIONS(158), }, [35] = { - [sym_statement] = STATE(295), - [sym_expression] = STATE(308), - [sym__expression_kind] = STATE(263), - [sym_block] = STATE(289), - [sym_value] = STATE(259), - [sym_boolean] = STATE(273), - [sym_list] = STATE(273), - [sym_map] = STATE(273), - [sym_option] = STATE(273), - [sym_index] = STATE(297), + [sym_statement] = STATE(284), + [sym_expression] = STATE(310), + [sym__expression_kind] = STATE(258), + [sym_block] = STATE(286), + [sym_value] = STATE(250), + [sym_boolean] = STATE(269), + [sym_list] = STATE(269), + [sym_map] = STATE(269), + [sym_option] = STATE(269), + [sym_index] = STATE(296), [sym_index_expression] = STATE(426), - [sym_math] = STATE(263), - [sym_logic] = STATE(263), - [sym_assignment] = STATE(289), - [sym_index_assignment] = STATE(289), - [sym_if_else] = STATE(289), + [sym_math] = STATE(258), + [sym_logic] = STATE(258), + [sym_assignment] = STATE(286), + [sym_index_assignment] = STATE(286), + [sym_if_else] = STATE(286), [sym_if] = STATE(372), - [sym_match] = STATE(289), - [sym_while] = STATE(289), - [sym_for] = STATE(289), - [sym_return] = STATE(289), - [sym_function] = STATE(273), - [sym_function_expression] = STATE(439), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(258), - [sym_yield] = STATE(258), - [sym_built_in_value] = STATE(273), + [sym_match] = STATE(286), + [sym_while] = STATE(286), + [sym_for] = STATE(286), + [sym_return] = STATE(286), + [sym_function] = STATE(269), + [sym_function_expression] = STATE(445), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(245), + [sym_yield] = STATE(245), + [sym_built_in_value] = STATE(269), [sym_identifier] = ACTIONS(126), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(128), @@ -4735,90 +4742,90 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(158), }, [36] = { - [sym_statement] = STATE(224), - [sym_expression] = STATE(85), - [sym__expression_kind] = STATE(58), - [sym_block] = STATE(228), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), - [sym_assignment] = STATE(228), - [sym_index_assignment] = STATE(228), - [sym_if_else] = STATE(228), - [sym_if] = STATE(213), - [sym_match] = STATE(228), - [sym_while] = STATE(228), - [sym_for] = STATE(228), - [sym_return] = STATE(228), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), - [sym_identifier] = ACTIONS(5), + [sym_statement] = STATE(383), + [sym_expression] = STATE(307), + [sym__expression_kind] = STATE(258), + [sym_block] = STATE(292), + [sym_value] = STATE(250), + [sym_boolean] = STATE(269), + [sym_list] = STATE(269), + [sym_map] = STATE(269), + [sym_option] = STATE(269), + [sym_index] = STATE(296), + [sym_index_expression] = STATE(426), + [sym_math] = STATE(258), + [sym_logic] = STATE(258), + [sym_assignment] = STATE(292), + [sym_index_assignment] = STATE(292), + [sym_if_else] = STATE(292), + [sym_if] = STATE(372), + [sym_match] = STATE(292), + [sym_while] = STATE(292), + [sym_for] = STATE(292), + [sym_return] = STATE(292), + [sym_function] = STATE(269), + [sym_function_expression] = STATE(445), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(245), + [sym_yield] = STATE(245), + [sym_built_in_value] = STATE(269), + [sym_identifier] = ACTIONS(126), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(7), - [anon_sym_async] = ACTIONS(9), - [anon_sym_LBRACE] = ACTIONS(11), - [sym_integer] = ACTIONS(13), - [sym_float] = ACTIONS(15), - [sym_string] = ACTIONS(15), - [anon_sym_true] = ACTIONS(17), - [anon_sym_false] = ACTIONS(17), - [anon_sym_LBRACK] = ACTIONS(19), - [anon_sym_none] = ACTIONS(21), - [anon_sym_some] = ACTIONS(23), - [anon_sym_if] = ACTIONS(25), - [anon_sym_match] = ACTIONS(27), - [anon_sym_while] = ACTIONS(29), - [anon_sym_for] = ACTIONS(31), - [anon_sym_asyncfor] = ACTIONS(33), - [anon_sym_return] = ACTIONS(35), - [anon_sym_args] = ACTIONS(37), - [anon_sym_assert_equal] = ACTIONS(37), - [anon_sym_env] = ACTIONS(37), - [anon_sym_fs] = ACTIONS(37), - [anon_sym_json] = ACTIONS(37), - [anon_sym_length] = ACTIONS(37), - [anon_sym_output] = ACTIONS(37), - [anon_sym_random] = ACTIONS(37), - [anon_sym_string] = ACTIONS(37), + [anon_sym_LPAREN] = ACTIONS(128), + [anon_sym_async] = ACTIONS(130), + [anon_sym_LBRACE] = ACTIONS(132), + [sym_integer] = ACTIONS(134), + [sym_float] = ACTIONS(136), + [sym_string] = ACTIONS(136), + [anon_sym_true] = ACTIONS(138), + [anon_sym_false] = ACTIONS(138), + [anon_sym_LBRACK] = ACTIONS(140), + [anon_sym_none] = ACTIONS(142), + [anon_sym_some] = ACTIONS(144), + [anon_sym_if] = ACTIONS(146), + [anon_sym_match] = ACTIONS(148), + [anon_sym_while] = ACTIONS(150), + [anon_sym_for] = ACTIONS(152), + [anon_sym_asyncfor] = ACTIONS(154), + [anon_sym_return] = ACTIONS(156), + [anon_sym_args] = ACTIONS(158), + [anon_sym_assert_equal] = ACTIONS(158), + [anon_sym_env] = ACTIONS(158), + [anon_sym_fs] = ACTIONS(158), + [anon_sym_json] = ACTIONS(158), + [anon_sym_length] = ACTIONS(158), + [anon_sym_output] = ACTIONS(158), + [anon_sym_random] = ACTIONS(158), + [anon_sym_string] = ACTIONS(158), }, [37] = { - [sym_statement] = STATE(291), - [sym_expression] = STATE(308), - [sym__expression_kind] = STATE(263), - [sym_block] = STATE(289), - [sym_value] = STATE(259), - [sym_boolean] = STATE(273), - [sym_list] = STATE(273), - [sym_map] = STATE(273), - [sym_option] = STATE(273), - [sym_index] = STATE(297), + [sym_statement] = STATE(294), + [sym_expression] = STATE(310), + [sym__expression_kind] = STATE(258), + [sym_block] = STATE(286), + [sym_value] = STATE(250), + [sym_boolean] = STATE(269), + [sym_list] = STATE(269), + [sym_map] = STATE(269), + [sym_option] = STATE(269), + [sym_index] = STATE(296), [sym_index_expression] = STATE(426), - [sym_math] = STATE(263), - [sym_logic] = STATE(263), - [sym_assignment] = STATE(289), - [sym_index_assignment] = STATE(289), - [sym_if_else] = STATE(289), + [sym_math] = STATE(258), + [sym_logic] = STATE(258), + [sym_assignment] = STATE(286), + [sym_index_assignment] = STATE(286), + [sym_if_else] = STATE(286), [sym_if] = STATE(372), - [sym_match] = STATE(289), - [sym_while] = STATE(289), - [sym_for] = STATE(289), - [sym_return] = STATE(289), - [sym_function] = STATE(273), - [sym_function_expression] = STATE(439), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(258), - [sym_yield] = STATE(258), - [sym_built_in_value] = STATE(273), + [sym_match] = STATE(286), + [sym_while] = STATE(286), + [sym_for] = STATE(286), + [sym_return] = STATE(286), + [sym_function] = STATE(269), + [sym_function_expression] = STATE(445), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(245), + [sym_yield] = STATE(245), + [sym_built_in_value] = STATE(269), [sym_identifier] = ACTIONS(126), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(128), @@ -4849,90 +4856,33 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(158), }, [38] = { - [sym_statement] = STATE(393), - [sym_expression] = STATE(304), - [sym__expression_kind] = STATE(263), - [sym_block] = STATE(284), - [sym_value] = STATE(259), - [sym_boolean] = STATE(273), - [sym_list] = STATE(273), - [sym_map] = STATE(273), - [sym_option] = STATE(273), - [sym_index] = STATE(297), - [sym_index_expression] = STATE(426), - [sym_math] = STATE(263), - [sym_logic] = STATE(263), - [sym_assignment] = STATE(284), - [sym_index_assignment] = STATE(284), - [sym_if_else] = STATE(284), - [sym_if] = STATE(372), - [sym_match] = STATE(284), - [sym_while] = STATE(284), - [sym_for] = STATE(284), - [sym_return] = STATE(284), - [sym_function] = STATE(273), - [sym_function_expression] = STATE(439), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(258), - [sym_yield] = STATE(258), - [sym_built_in_value] = STATE(273), - [sym_identifier] = ACTIONS(126), - [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(128), - [anon_sym_async] = ACTIONS(130), - [anon_sym_LBRACE] = ACTIONS(132), - [sym_integer] = ACTIONS(134), - [sym_float] = ACTIONS(136), - [sym_string] = ACTIONS(136), - [anon_sym_true] = ACTIONS(138), - [anon_sym_false] = ACTIONS(138), - [anon_sym_LBRACK] = ACTIONS(140), - [anon_sym_none] = ACTIONS(142), - [anon_sym_some] = ACTIONS(144), - [anon_sym_if] = ACTIONS(146), - [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(150), - [anon_sym_for] = ACTIONS(152), - [anon_sym_asyncfor] = ACTIONS(154), - [anon_sym_return] = ACTIONS(156), - [anon_sym_args] = ACTIONS(158), - [anon_sym_assert_equal] = ACTIONS(158), - [anon_sym_env] = ACTIONS(158), - [anon_sym_fs] = ACTIONS(158), - [anon_sym_json] = ACTIONS(158), - [anon_sym_length] = ACTIONS(158), - [anon_sym_output] = ACTIONS(158), - [anon_sym_random] = ACTIONS(158), - [anon_sym_string] = ACTIONS(158), - }, - [39] = { - [sym_statement] = STATE(227), + [sym_statement] = STATE(226), [sym_expression] = STATE(85), - [sym__expression_kind] = STATE(58), - [sym_block] = STATE(228), - [sym_value] = STATE(61), - [sym_boolean] = STATE(70), - [sym_list] = STATE(70), - [sym_map] = STATE(70), - [sym_option] = STATE(70), - [sym_index] = STATE(62), - [sym_index_expression] = STATE(438), - [sym_math] = STATE(58), - [sym_logic] = STATE(58), - [sym_assignment] = STATE(228), - [sym_index_assignment] = STATE(228), - [sym_if_else] = STATE(228), + [sym__expression_kind] = STATE(71), + [sym_block] = STATE(223), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), + [sym_assignment] = STATE(223), + [sym_index_assignment] = STATE(223), + [sym_if_else] = STATE(223), [sym_if] = STATE(213), - [sym_match] = STATE(228), - [sym_while] = STATE(228), - [sym_for] = STATE(228), - [sym_return] = STATE(228), - [sym_function] = STATE(70), - [sym_function_expression] = STATE(437), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(68), - [sym_yield] = STATE(68), - [sym_built_in_value] = STATE(70), + [sym_match] = STATE(223), + [sym_while] = STATE(223), + [sym_for] = STATE(223), + [sym_return] = STATE(223), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), @@ -4962,34 +4912,34 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_random] = ACTIONS(37), [anon_sym_string] = ACTIONS(37), }, - [40] = { - [sym_statement] = STATE(287), - [sym_expression] = STATE(308), - [sym__expression_kind] = STATE(263), - [sym_block] = STATE(289), - [sym_value] = STATE(259), - [sym_boolean] = STATE(273), - [sym_list] = STATE(273), - [sym_map] = STATE(273), - [sym_option] = STATE(273), - [sym_index] = STATE(297), + [39] = { + [sym_statement] = STATE(387), + [sym_expression] = STATE(307), + [sym__expression_kind] = STATE(258), + [sym_block] = STATE(292), + [sym_value] = STATE(250), + [sym_boolean] = STATE(269), + [sym_list] = STATE(269), + [sym_map] = STATE(269), + [sym_option] = STATE(269), + [sym_index] = STATE(296), [sym_index_expression] = STATE(426), - [sym_math] = STATE(263), - [sym_logic] = STATE(263), - [sym_assignment] = STATE(289), - [sym_index_assignment] = STATE(289), - [sym_if_else] = STATE(289), + [sym_math] = STATE(258), + [sym_logic] = STATE(258), + [sym_assignment] = STATE(292), + [sym_index_assignment] = STATE(292), + [sym_if_else] = STATE(292), [sym_if] = STATE(372), - [sym_match] = STATE(289), - [sym_while] = STATE(289), - [sym_for] = STATE(289), - [sym_return] = STATE(289), - [sym_function] = STATE(273), - [sym_function_expression] = STATE(439), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(258), - [sym_yield] = STATE(258), - [sym_built_in_value] = STATE(273), + [sym_match] = STATE(292), + [sym_while] = STATE(292), + [sym_for] = STATE(292), + [sym_return] = STATE(292), + [sym_function] = STATE(269), + [sym_function_expression] = STATE(445), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(245), + [sym_yield] = STATE(245), + [sym_built_in_value] = STATE(269), [sym_identifier] = ACTIONS(126), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(128), @@ -5019,91 +4969,148 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_random] = ACTIONS(158), [anon_sym_string] = ACTIONS(158), }, + [40] = { + [sym_statement] = STATE(220), + [sym_expression] = STATE(85), + [sym__expression_kind] = STATE(71), + [sym_block] = STATE(223), + [sym_value] = STATE(68), + [sym_boolean] = STATE(72), + [sym_list] = STATE(72), + [sym_map] = STATE(72), + [sym_option] = STATE(72), + [sym_index] = STATE(67), + [sym_index_expression] = STATE(441), + [sym_math] = STATE(71), + [sym_logic] = STATE(71), + [sym_assignment] = STATE(223), + [sym_index_assignment] = STATE(223), + [sym_if_else] = STATE(223), + [sym_if] = STATE(213), + [sym_match] = STATE(223), + [sym_while] = STATE(223), + [sym_for] = STATE(223), + [sym_return] = STATE(223), + [sym_function] = STATE(72), + [sym_function_expression] = STATE(440), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(60), + [sym_yield] = STATE(60), + [sym_built_in_value] = STATE(72), + [sym_identifier] = ACTIONS(5), + [sym__comment] = ACTIONS(3), + [anon_sym_LPAREN] = ACTIONS(7), + [anon_sym_async] = ACTIONS(9), + [anon_sym_LBRACE] = ACTIONS(11), + [sym_integer] = ACTIONS(13), + [sym_float] = ACTIONS(15), + [sym_string] = ACTIONS(15), + [anon_sym_true] = ACTIONS(17), + [anon_sym_false] = ACTIONS(17), + [anon_sym_LBRACK] = ACTIONS(19), + [anon_sym_none] = ACTIONS(21), + [anon_sym_some] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_args] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_env] = ACTIONS(37), + [anon_sym_fs] = ACTIONS(37), + [anon_sym_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_string] = ACTIONS(37), + }, [41] = { - [sym_statement] = STATE(288), - [sym_expression] = STATE(308), - [sym__expression_kind] = STATE(263), - [sym_block] = STATE(289), - [sym_value] = STATE(259), - [sym_boolean] = STATE(273), - [sym_list] = STATE(273), - [sym_map] = STATE(273), - [sym_option] = STATE(273), - [sym_index] = STATE(297), - [sym_index_expression] = STATE(426), - [sym_math] = STATE(263), - [sym_logic] = STATE(263), - [sym_assignment] = STATE(289), - [sym_index_assignment] = STATE(289), - [sym_if_else] = STATE(289), - [sym_if] = STATE(372), - [sym_match] = STATE(289), - [sym_while] = STATE(289), - [sym_for] = STATE(289), - [sym_return] = STATE(289), - [sym_function] = STATE(273), - [sym_function_expression] = STATE(439), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(258), - [sym_yield] = STATE(258), - [sym_built_in_value] = STATE(273), - [sym_identifier] = ACTIONS(126), + [sym_statement] = STATE(294), + [sym_expression] = STATE(140), + [sym__expression_kind] = STATE(102), + [sym_block] = STATE(286), + [sym_value] = STATE(109), + [sym_boolean] = STATE(95), + [sym_list] = STATE(95), + [sym_map] = STATE(95), + [sym_option] = STATE(95), + [sym_index] = STATE(119), + [sym_index_expression] = STATE(424), + [sym_math] = STATE(102), + [sym_logic] = STATE(102), + [sym_assignment] = STATE(286), + [sym_index_assignment] = STATE(286), + [sym_if_else] = STATE(286), + [sym_if] = STATE(240), + [sym_match] = STATE(286), + [sym_while] = STATE(286), + [sym_for] = STATE(286), + [sym_return] = STATE(286), + [sym_function] = STATE(95), + [sym_function_expression] = STATE(419), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(100), + [sym_yield] = STATE(100), + [sym_built_in_value] = STATE(95), + [sym_identifier] = ACTIONS(160), [sym__comment] = ACTIONS(3), - [anon_sym_LPAREN] = ACTIONS(128), - [anon_sym_async] = ACTIONS(130), - [anon_sym_LBRACE] = ACTIONS(132), - [sym_integer] = ACTIONS(134), - [sym_float] = ACTIONS(136), - [sym_string] = ACTIONS(136), - [anon_sym_true] = ACTIONS(138), - [anon_sym_false] = ACTIONS(138), - [anon_sym_LBRACK] = ACTIONS(140), - [anon_sym_none] = ACTIONS(142), - [anon_sym_some] = ACTIONS(144), + [anon_sym_LPAREN] = ACTIONS(162), + [anon_sym_async] = ACTIONS(164), + [anon_sym_LBRACE] = ACTIONS(166), + [sym_integer] = ACTIONS(168), + [sym_float] = ACTIONS(170), + [sym_string] = ACTIONS(170), + [anon_sym_true] = ACTIONS(172), + [anon_sym_false] = ACTIONS(172), + [anon_sym_LBRACK] = ACTIONS(174), + [anon_sym_none] = ACTIONS(176), + [anon_sym_some] = ACTIONS(178), [anon_sym_if] = ACTIONS(146), [anon_sym_match] = ACTIONS(148), - [anon_sym_while] = ACTIONS(150), - [anon_sym_for] = ACTIONS(152), - [anon_sym_asyncfor] = ACTIONS(154), - [anon_sym_return] = ACTIONS(156), - [anon_sym_args] = ACTIONS(158), - [anon_sym_assert_equal] = ACTIONS(158), - [anon_sym_env] = ACTIONS(158), - [anon_sym_fs] = ACTIONS(158), - [anon_sym_json] = ACTIONS(158), - [anon_sym_length] = ACTIONS(158), - [anon_sym_output] = ACTIONS(158), - [anon_sym_random] = ACTIONS(158), - [anon_sym_string] = ACTIONS(158), + [anon_sym_while] = ACTIONS(180), + [anon_sym_for] = ACTIONS(182), + [anon_sym_asyncfor] = ACTIONS(184), + [anon_sym_return] = ACTIONS(186), + [anon_sym_args] = ACTIONS(188), + [anon_sym_assert_equal] = ACTIONS(188), + [anon_sym_env] = ACTIONS(188), + [anon_sym_fs] = ACTIONS(188), + [anon_sym_json] = ACTIONS(188), + [anon_sym_length] = ACTIONS(188), + [anon_sym_output] = ACTIONS(188), + [anon_sym_random] = ACTIONS(188), + [anon_sym_string] = ACTIONS(188), }, [42] = { - [sym_statement] = STATE(386), - [sym_expression] = STATE(304), - [sym__expression_kind] = STATE(263), - [sym_block] = STATE(284), - [sym_value] = STATE(259), - [sym_boolean] = STATE(273), - [sym_list] = STATE(273), - [sym_map] = STATE(273), - [sym_option] = STATE(273), - [sym_index] = STATE(297), + [sym_statement] = STATE(387), + [sym_expression] = STATE(307), + [sym__expression_kind] = STATE(258), + [sym_block] = STATE(292), + [sym_value] = STATE(250), + [sym_boolean] = STATE(269), + [sym_list] = STATE(269), + [sym_map] = STATE(269), + [sym_option] = STATE(269), + [sym_index] = STATE(296), [sym_index_expression] = STATE(426), - [sym_math] = STATE(263), - [sym_logic] = STATE(263), - [sym_assignment] = STATE(284), - [sym_index_assignment] = STATE(284), - [sym_if_else] = STATE(284), + [sym_math] = STATE(258), + [sym_logic] = STATE(258), + [sym_assignment] = STATE(292), + [sym_index_assignment] = STATE(292), + [sym_if_else] = STATE(292), [sym_if] = STATE(372), - [sym_match] = STATE(284), - [sym_while] = STATE(284), - [sym_for] = STATE(284), - [sym_return] = STATE(284), - [sym_function] = STATE(273), - [sym_function_expression] = STATE(439), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(258), - [sym_yield] = STATE(258), - [sym_built_in_value] = STATE(273), + [sym_match] = STATE(292), + [sym_while] = STATE(292), + [sym_for] = STATE(292), + [sym_return] = STATE(292), + [sym_function] = STATE(269), + [sym_function_expression] = STATE(445), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(245), + [sym_yield] = STATE(245), + [sym_built_in_value] = STATE(269), [sym_identifier] = ACTIONS(126), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(128), @@ -5134,33 +5141,33 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_string] = ACTIONS(158), }, [43] = { - [sym_statement] = STATE(287), - [sym_expression] = STATE(128), - [sym__expression_kind] = STATE(107), - [sym_block] = STATE(289), - [sym_value] = STATE(95), - [sym_boolean] = STATE(91), - [sym_list] = STATE(91), - [sym_map] = STATE(91), - [sym_option] = STATE(91), + [sym_statement] = STATE(298), + [sym_expression] = STATE(130), + [sym__expression_kind] = STATE(102), + [sym_block] = STATE(292), + [sym_value] = STATE(109), + [sym_boolean] = STATE(95), + [sym_list] = STATE(95), + [sym_map] = STATE(95), + [sym_option] = STATE(95), [sym_index] = STATE(119), - [sym_index_expression] = STATE(420), - [sym_math] = STATE(107), - [sym_logic] = STATE(107), - [sym_assignment] = STATE(289), - [sym_index_assignment] = STATE(289), - [sym_if_else] = STATE(289), - [sym_if] = STATE(239), - [sym_match] = STATE(289), - [sym_while] = STATE(289), - [sym_for] = STATE(289), - [sym_return] = STATE(289), - [sym_function] = STATE(91), - [sym_function_expression] = STATE(430), - [sym__function_expression_kind] = STATE(66), - [sym_function_call] = STATE(109), - [sym_yield] = STATE(109), - [sym_built_in_value] = STATE(91), + [sym_index_expression] = STATE(424), + [sym_math] = STATE(102), + [sym_logic] = STATE(102), + [sym_assignment] = STATE(292), + [sym_index_assignment] = STATE(292), + [sym_if_else] = STATE(292), + [sym_if] = STATE(240), + [sym_match] = STATE(292), + [sym_while] = STATE(292), + [sym_for] = STATE(292), + [sym_return] = STATE(292), + [sym_function] = STATE(95), + [sym_function_expression] = STATE(419), + [sym__function_expression_kind] = STATE(61), + [sym_function_call] = STATE(100), + [sym_yield] = STATE(100), + [sym_built_in_value] = STATE(95), [sym_identifier] = ACTIONS(160), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(162), @@ -5198,9 +5205,9 @@ static const uint16_t ts_small_parse_table[] = { sym__comment, ACTIONS(194), 1, anon_sym_DASH_GT, - STATE(163), 1, + STATE(161), 1, sym_logic_operator, - STATE(170), 1, + STATE(165), 1, sym_math_operator, ACTIONS(190), 22, ts_builtin_sym_end, @@ -5257,9 +5264,9 @@ static const uint16_t ts_small_parse_table[] = { sym__comment, ACTIONS(194), 1, anon_sym_DASH_GT, - STATE(163), 1, + STATE(161), 1, sym_logic_operator, - STATE(170), 1, + STATE(165), 1, sym_math_operator, ACTIONS(196), 22, ts_builtin_sym_end, @@ -5314,9 +5321,9 @@ static const uint16_t ts_small_parse_table[] = { [130] = 5, ACTIONS(3), 1, sym__comment, - STATE(163), 1, + STATE(161), 1, sym_logic_operator, - STATE(170), 1, + STATE(165), 1, sym_math_operator, ACTIONS(200), 23, ts_builtin_sym_end, @@ -5369,134 +5376,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [193] = 10, + [193] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(208), 1, - anon_sym_LPAREN, - ACTIONS(210), 1, - anon_sym_EQ, - ACTIONS(212), 1, - anon_sym_COLON, - ACTIONS(214), 1, - anon_sym_LT, - STATE(30), 1, - sym_assignment_operator, - STATE(377), 1, - sym_type_definition, - ACTIONS(216), 2, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - ACTIONS(204), 18, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_asyncfor, + ACTIONS(204), 1, anon_sym_DASH_GT, - ACTIONS(206), 24, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [265] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(218), 1, - anon_sym_DASH_GT, - STATE(159), 1, + STATE(175), 1, sym_math_operator, - STATE(201), 1, - sym_logic_operator, - ACTIONS(190), 21, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COLON, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_asyncfor, - ACTIONS(192), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [329] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(218), 1, - anon_sym_DASH_GT, - STATE(159), 1, - sym_math_operator, - STATE(201), 1, + STATE(185), 1, sym_logic_operator, ACTIONS(196), 21, ts_builtin_sym_end, @@ -5547,12 +5434,132 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, + [257] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(204), 1, + anon_sym_DASH_GT, + STATE(175), 1, + sym_math_operator, + STATE(185), 1, + sym_logic_operator, + ACTIONS(190), 21, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + ACTIONS(192), 26, + anon_sym_async, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [321] = 10, + ACTIONS(3), 1, + sym__comment, + ACTIONS(210), 1, + anon_sym_LPAREN, + ACTIONS(212), 1, + anon_sym_EQ, + ACTIONS(214), 1, + anon_sym_COLON, + ACTIONS(216), 1, + anon_sym_LT, + STATE(28), 1, + sym_assignment_operator, + STATE(374), 1, + sym_type_definition, + ACTIONS(218), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(206), 18, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(208), 24, + anon_sym_async, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, [393] = 5, ACTIONS(3), 1, sym__comment, - STATE(159), 1, + STATE(175), 1, sym_math_operator, - STATE(201), 1, + STATE(185), 1, sym_logic_operator, ACTIONS(200), 22, ts_builtin_sym_end, @@ -5658,231 +5665,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [512] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(228), 1, - anon_sym_DOT_DOT, - ACTIONS(224), 22, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COLON, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_asyncfor, - anon_sym_DASH_GT, - ACTIONS(226), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [571] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(230), 23, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_asyncfor, - anon_sym_DASH_GT, - ACTIONS(232), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [628] = 10, - ACTIONS(3), 1, - sym__comment, - ACTIONS(208), 1, - anon_sym_LPAREN, - ACTIONS(212), 1, - anon_sym_COLON, - ACTIONS(214), 1, - anon_sym_LT, - ACTIONS(234), 1, - anon_sym_EQ, - STATE(30), 1, - sym_assignment_operator, - STATE(375), 1, - sym_type_definition, - ACTIONS(216), 2, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - ACTIONS(204), 17, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_asyncfor, - anon_sym_DASH_GT, - ACTIONS(206), 24, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [699] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(236), 23, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_asyncfor, - anon_sym_DASH_GT, - ACTIONS(238), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [756] = 3, + [512] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(224), 23, @@ -5936,10 +5719,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [813] = 3, + [569] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(240), 23, + ACTIONS(228), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -5963,7 +5746,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(242), 26, + ACTIONS(230), 26, anon_sym_async, sym_identifier, sym_integer, @@ -5990,240 +5773,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [870] = 3, + [626] = 10, ACTIONS(3), 1, sym__comment, - ACTIONS(244), 23, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_asyncfor, - anon_sym_DASH_GT, - ACTIONS(246), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [927] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(248), 23, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_asyncfor, - anon_sym_DASH_GT, - ACTIONS(250), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [984] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(252), 23, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_asyncfor, - anon_sym_DASH_GT, - ACTIONS(254), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [1041] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(208), 1, - anon_sym_LPAREN, - ACTIONS(212), 1, - anon_sym_COLON, - ACTIONS(204), 21, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_asyncfor, - anon_sym_DASH_GT, - ACTIONS(206), 26, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [1102] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(208), 1, - anon_sym_LPAREN, ACTIONS(210), 1, - anon_sym_EQ, - ACTIONS(212), 1, + anon_sym_LPAREN, + ACTIONS(214), 1, anon_sym_COLON, - STATE(34), 1, + ACTIONS(216), 1, + anon_sym_LT, + ACTIONS(232), 1, + anon_sym_EQ, + STATE(28), 1, sym_assignment_operator, - ACTIONS(216), 2, + STATE(377), 1, + sym_type_definition, + ACTIONS(218), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(204), 18, - ts_builtin_sym_end, + ACTIONS(206), 17, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, @@ -6241,7 +5809,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(206), 25, + ACTIONS(208), 24, anon_sym_async, sym_identifier, sym_integer, @@ -6252,7 +5820,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, - anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, @@ -6267,10 +5834,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1169] = 3, + [697] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(256), 23, + ACTIONS(234), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -6294,7 +5861,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(258), 26, + ACTIONS(236), 26, anon_sym_async, sym_identifier, sym_integer, @@ -6321,10 +5888,335 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1226] = 3, + [754] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(212), 23, + ACTIONS(238), 23, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(240), 26, + anon_sym_async, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [811] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(242), 23, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(244), 26, + anon_sym_async, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [868] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(246), 23, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(248), 26, + anon_sym_async, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [925] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(250), 23, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(252), 26, + anon_sym_async, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [982] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(210), 1, + anon_sym_LPAREN, + ACTIONS(206), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(208), 26, + anon_sym_async, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [1041] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(254), 23, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(256), 26, + anon_sym_async, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [1098] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(258), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -6375,7 +6267,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1283] = 3, + [1155] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(262), 23, @@ -6429,10 +6321,65 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1340] = 3, + [1212] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(266), 23, + ACTIONS(266), 1, + anon_sym_DOT_DOT, + ACTIONS(238), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(240), 26, + anon_sym_async, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [1271] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(214), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -6483,7 +6430,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1397] = 3, + [1328] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(270), 23, @@ -6537,12 +6484,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [1454] = 4, + [1385] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(208), 1, + ACTIONS(210), 1, anon_sym_LPAREN, - ACTIONS(204), 22, + ACTIONS(212), 1, + anon_sym_EQ, + ACTIONS(214), 1, + anon_sym_COLON, + STATE(38), 1, + sym_assignment_operator, + ACTIONS(218), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(206), 18, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LBRACE, @@ -6550,7 +6506,58 @@ static const uint16_t ts_small_parse_table[] = { sym_float, sym_string, anon_sym_LBRACK, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_asyncfor, + anon_sym_DASH_GT, + ACTIONS(208), 25, + anon_sym_async, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [1452] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(210), 1, + anon_sym_LPAREN, + ACTIONS(214), 1, anon_sym_COLON, + ACTIONS(206), 21, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, @@ -6565,7 +6572,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, - ACTIONS(206), 26, + ACTIONS(208), 26, anon_sym_async, sym_identifier, sym_integer, @@ -7191,9 +7198,171 @@ static const uint16_t ts_small_parse_table[] = { sym__comment, ACTIONS(318), 1, anon_sym_DASH_GT, - STATE(179), 1, + STATE(172), 1, + sym_logic_operator, + STATE(198), 1, sym_math_operator, - STATE(181), 1, + ACTIONS(198), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(196), 23, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [2200] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(318), 1, + anon_sym_DASH_GT, + STATE(172), 1, + sym_logic_operator, + STATE(198), 1, + sym_math_operator, + ACTIONS(192), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(190), 23, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [2260] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(320), 1, + anon_sym_DASH_GT, + STATE(180), 1, + sym_math_operator, + STATE(183), 1, + sym_logic_operator, + ACTIONS(190), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_asyncfor, + ACTIONS(192), 24, + anon_sym_async, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [2320] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(320), 1, + anon_sym_DASH_GT, + STATE(180), 1, + sym_math_operator, + STATE(183), 1, sym_logic_operator, ACTIONS(196), 19, ts_builtin_sym_end, @@ -7240,12 +7409,129 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [2200] = 5, + [2380] = 11, ACTIONS(3), 1, sym__comment, - STATE(160), 1, + ACTIONS(320), 1, + anon_sym_DASH_GT, + ACTIONS(326), 1, + anon_sym_SEMI, + ACTIONS(330), 1, + anon_sym_DASH, + STATE(180), 1, + sym_math_operator, + STATE(183), 1, sym_logic_operator, - STATE(169), 1, + ACTIONS(334), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(332), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(322), 8, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_asyncfor, + ACTIONS(324), 21, + anon_sym_async, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [2450] = 10, + ACTIONS(3), 1, + sym__comment, + ACTIONS(320), 1, + anon_sym_DASH_GT, + ACTIONS(330), 1, + anon_sym_DASH, + STATE(180), 1, + sym_math_operator, + STATE(183), 1, + sym_logic_operator, + ACTIONS(334), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(332), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(322), 9, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_asyncfor, + ACTIONS(324), 21, + anon_sym_async, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [2518] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(172), 1, + sym_logic_operator, + STATE(198), 1, sym_math_operator, ACTIONS(202), 20, sym_identifier, @@ -7293,291 +7579,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [2258] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(320), 1, - anon_sym_DASH_GT, - STATE(160), 1, - sym_logic_operator, - STATE(169), 1, - sym_math_operator, - ACTIONS(192), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(190), 23, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - [2318] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(318), 1, - anon_sym_DASH_GT, - STATE(179), 1, - sym_math_operator, - STATE(181), 1, - sym_logic_operator, - ACTIONS(190), 19, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_asyncfor, - ACTIONS(192), 24, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [2378] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(320), 1, - anon_sym_DASH_GT, - STATE(160), 1, - sym_logic_operator, - STATE(169), 1, - sym_math_operator, - ACTIONS(198), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(196), 23, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - [2438] = 10, - ACTIONS(3), 1, - sym__comment, - ACTIONS(318), 1, - anon_sym_DASH_GT, - ACTIONS(328), 1, - anon_sym_DASH, - STATE(179), 1, - sym_math_operator, - STATE(181), 1, - sym_logic_operator, - ACTIONS(332), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(326), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(330), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(322), 9, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_asyncfor, - ACTIONS(324), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [2506] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(318), 1, - anon_sym_DASH_GT, - ACTIONS(328), 1, - anon_sym_DASH, - ACTIONS(334), 1, - anon_sym_SEMI, - STATE(179), 1, - sym_math_operator, - STATE(181), 1, - sym_logic_operator, - ACTIONS(332), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(326), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(330), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(322), 8, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_asyncfor, - ACTIONS(324), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, [2576] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(212), 1, + ACTIONS(214), 1, anon_sym_COLON, - ACTIONS(208), 20, + ACTIONS(210), 20, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -7628,9 +7635,9 @@ static const uint16_t ts_small_parse_table[] = { sym__comment, ACTIONS(338), 1, anon_sym_DASH_GT, - STATE(206), 1, + STATE(202), 1, sym_math_operator, - STATE(207), 1, + STATE(203), 1, sym_logic_operator, ACTIONS(192), 20, sym_identifier, @@ -7676,12 +7683,65 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - [2690] = 5, + [2690] = 6, ACTIONS(3), 1, sym__comment, - STATE(206), 1, + ACTIONS(338), 1, + anon_sym_DASH_GT, + STATE(202), 1, sym_math_operator, - STATE(207), 1, + STATE(203), 1, + sym_logic_operator, + ACTIONS(198), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(196), 22, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [2749] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(202), 1, + sym_math_operator, + STATE(203), 1, sym_logic_operator, ACTIONS(202), 20, sym_identifier, @@ -7728,63 +7788,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [2747] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(338), 1, - anon_sym_DASH_GT, - STATE(206), 1, - sym_math_operator, - STATE(207), 1, - sym_logic_operator, - ACTIONS(198), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(196), 22, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, [2806] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(280), 20, + ACTIONS(230), 20, sym_identifier, sym_integer, anon_sym_true, @@ -7805,7 +7812,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - ACTIONS(278), 24, + ACTIONS(228), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -7831,302 +7838,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_DASH_GT, [2858] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(222), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(220), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [2910] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(268), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(266), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [2962] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(304), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(302), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3014] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(208), 1, - anon_sym_LPAREN, - ACTIONS(212), 1, - anon_sym_COLON, - ACTIONS(206), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(204), 22, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3070] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(272), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(270), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3122] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(296), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(294), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3174] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(308), 20, @@ -8175,744 +7886,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [3226] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(288), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(286), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3278] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(312), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(310), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3330] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(238), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(236), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3382] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(258), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(256), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3434] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(340), 1, - anon_sym_DOT_DOT, - ACTIONS(226), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(224), 23, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3488] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(254), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(252), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3540] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(260), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(212), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3592] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(292), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(290), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3644] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(246), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(244), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3696] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(300), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(298), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3748] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(208), 1, - anon_sym_LPAREN, - ACTIONS(206), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(204), 23, - anon_sym_SEMI, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3802] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(276), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(274), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3854] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(250), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(248), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3906] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(316), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(314), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [3958] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(242), 20, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_none, - anon_sym_some, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(240), 24, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - [4010] = 3, + [2910] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(226), 20, @@ -8961,7 +7935,400 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [4062] = 3, + [2962] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(300), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(298), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3014] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(288), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(286), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3066] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(312), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(310), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3118] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(248), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(246), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3170] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(244), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(242), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3222] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(252), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(250), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3274] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(210), 1, + anon_sym_LPAREN, + ACTIONS(208), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(206), 23, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3328] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(296), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(294), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3380] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(284), 20, @@ -9010,10 +8377,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [4114] = 3, + [3432] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(232), 20, + ACTIONS(304), 20, sym_identifier, sym_integer, anon_sym_true, @@ -9034,7 +8401,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - ACTIONS(230), 24, + ACTIONS(302), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -9059,7 +8426,303 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - [4166] = 3, + [3484] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(222), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(220), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3536] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(280), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(278), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3588] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(236), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(234), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3640] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(240), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(238), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3692] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(292), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(290), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3744] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(210), 1, + anon_sym_LPAREN, + ACTIONS(214), 1, + anon_sym_COLON, + ACTIONS(208), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(206), 22, + anon_sym_SEMI, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3800] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(264), 20, @@ -9108,25 +8771,369 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, + [3852] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(316), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(314), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3904] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(276), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(274), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [3956] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(272), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(270), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [4008] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(260), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(258), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [4060] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(256), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(254), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [4112] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(340), 1, + anon_sym_DOT_DOT, + ACTIONS(240), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(238), 23, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + [4166] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(268), 20, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + ACTIONS(214), 24, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, [4218] = 10, ACTIONS(3), 1, sym__comment, - ACTIONS(208), 1, - anon_sym_LPAREN, ACTIONS(210), 1, - anon_sym_EQ, + anon_sym_LPAREN, ACTIONS(212), 1, - anon_sym_COLON, + anon_sym_EQ, ACTIONS(214), 1, + anon_sym_COLON, + ACTIONS(216), 1, anon_sym_LT, - STATE(29), 1, + STATE(30), 1, sym_assignment_operator, - STATE(376), 1, + STATE(375), 1, sym_type_definition, - ACTIONS(216), 2, + ACTIONS(218), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(204), 17, + ACTIONS(206), 17, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LBRACE, @@ -9144,7 +9151,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - ACTIONS(206), 18, + ACTIONS(208), 18, sym_identifier, sym_integer, anon_sym_true, @@ -9166,18 +9173,18 @@ static const uint16_t ts_small_parse_table[] = { [4283] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(208), 1, - anon_sym_LPAREN, ACTIONS(210), 1, - anon_sym_EQ, + anon_sym_LPAREN, ACTIONS(212), 1, + anon_sym_EQ, + ACTIONS(214), 1, anon_sym_COLON, - STATE(43), 1, + STATE(41), 1, sym_assignment_operator, - ACTIONS(216), 2, + ACTIONS(218), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(204), 17, + ACTIONS(206), 17, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LBRACE, @@ -9195,7 +9202,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - ACTIONS(206), 19, + ACTIONS(208), 19, sym_identifier, sym_integer, anon_sym_true, @@ -9220,58 +9227,9 @@ static const uint16_t ts_small_parse_table[] = { sym__comment, ACTIONS(342), 1, anon_sym_DASH_GT, - STATE(199), 1, + STATE(186), 1, sym_logic_operator, - STATE(200), 1, - sym_math_operator, - ACTIONS(198), 18, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - ACTIONS(196), 20, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [4398] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(342), 1, - anon_sym_DASH_GT, - STATE(199), 1, - sym_logic_operator, - STATE(200), 1, + STATE(193), 1, sym_math_operator, ACTIONS(192), 18, sym_identifier, @@ -9313,61 +9271,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [4453] = 22, + [4398] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, + ACTIONS(342), 1, + anon_sym_DASH_GT, + STATE(186), 1, + sym_logic_operator, + STATE(193), 1, + sym_math_operator, + ACTIONS(198), 18, sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(348), 1, - anon_sym_RBRACE, - ACTIONS(350), 1, - anon_sym_STAR, - STATE(66), 1, - sym__function_expression_kind, - STATE(124), 1, - aux_sym_match_repeat1, - STATE(328), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, + sym_integer, anon_sym_true, anon_sym_false, - STATE(258), 2, - sym_function_call, - sym_yield, - STATE(259), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, + anon_sym_none, + anon_sym_some, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -9377,10 +9299,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [4539] = 4, + ACTIONS(196), 20, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [4453] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(212), 1, + ACTIONS(214), 1, anon_sym_COLON, ACTIONS(336), 18, sym_identifier, @@ -9401,7 +9344,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - ACTIONS(208), 21, + ACTIONS(210), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -9423,6 +9366,70 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, + [4503] = 22, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(344), 1, + sym_identifier, + ACTIONS(346), 1, + anon_sym_LBRACE, + ACTIONS(348), 1, + anon_sym_RBRACE, + ACTIONS(350), 1, + anon_sym_STAR, + STATE(61), 1, + sym__function_expression_kind, + STATE(124), 1, + aux_sym_match_repeat1, + STATE(332), 1, + sym_expression, + STATE(426), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(245), 2, + sym_function_call, + sym_yield, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, [4589] = 22, ACTIONS(3), 1, sym__comment, @@ -9444,15 +9451,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_some, ACTIONS(381), 1, anon_sym_STAR, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, STATE(124), 1, aux_sym_match_repeat1, - STATE(328), 1, + STATE(332), 1, sym_expression, STATE(426), 1, sym_index_expression, - STATE(439), 1, + STATE(445), 1, sym_function_expression, ACTIONS(366), 2, sym_float, @@ -9460,17 +9467,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(369), 2, anon_sym_true, anon_sym_false, - STATE(258), 2, + STATE(245), 2, sym_function_call, sym_yield, - STATE(259), 2, + STATE(250), 2, sym_value, sym_index, - STATE(263), 3, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -9508,15 +9515,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, ACTIONS(387), 1, anon_sym_RBRACE, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, STATE(124), 1, aux_sym_match_repeat1, - STATE(328), 1, + STATE(332), 1, sym_expression, STATE(426), 1, sym_index_expression, - STATE(439), 1, + STATE(445), 1, sym_function_expression, ACTIONS(136), 2, sym_float, @@ -9524,17 +9531,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(258), 2, + STATE(245), 2, sym_function_call, sym_yield, - STATE(259), 2, + STATE(250), 2, sym_value, sym_index, - STATE(263), 3, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -9551,27 +9558,277 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [4761] = 11, + [4761] = 22, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(346), 1, + anon_sym_LBRACE, + ACTIONS(389), 1, + sym_identifier, + ACTIONS(391), 1, + anon_sym_RPAREN, + STATE(245), 1, + sym_yield, + STATE(348), 1, + sym_expression, + STATE(350), 1, + sym_function_call, + STATE(396), 1, + aux_sym_function_repeat1, + STATE(401), 1, + sym__function_expression_kind, + STATE(432), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(250), 2, + sym_value, + sym_index, + STATE(363), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [4846] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(393), 1, + sym_identifier, + ACTIONS(396), 1, + anon_sym_LPAREN, + ACTIONS(399), 1, + anon_sym_RPAREN, + ACTIONS(401), 1, + anon_sym_LBRACE, + ACTIONS(404), 1, + sym_integer, + ACTIONS(413), 1, + anon_sym_LBRACK, + ACTIONS(416), 1, + anon_sym_none, + ACTIONS(419), 1, + anon_sym_some, + STATE(61), 1, + sym__function_expression_kind, + STATE(127), 1, + aux_sym__expression_list, + STATE(156), 1, + sym_expression, + STATE(419), 1, + sym_function_expression, + STATE(424), 1, + sym_index_expression, + ACTIONS(407), 2, + sym_float, + sym_string, + ACTIONS(410), 2, + anon_sym_true, + anon_sym_false, + STATE(100), 2, + sym_function_call, + sym_yield, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(422), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [4929] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(425), 1, + sym_identifier, + ACTIONS(427), 1, + anon_sym_RPAREN, + ACTIONS(429), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(127), 1, + aux_sym__expression_list, + STATE(156), 1, + sym_expression, + STATE(419), 1, + sym_function_expression, + STATE(424), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(100), 2, + sym_function_call, + sym_yield, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5012] = 22, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(346), 1, + anon_sym_LBRACE, + ACTIONS(389), 1, + sym_identifier, + ACTIONS(431), 1, + anon_sym_RPAREN, + STATE(245), 1, + sym_yield, + STATE(348), 1, + sym_expression, + STATE(350), 1, + sym_function_call, + STATE(384), 1, + aux_sym_function_repeat1, + STATE(401), 1, + sym__function_expression_kind, + STATE(432), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(250), 2, + sym_value, + sym_index, + STATE(363), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5097] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(330), 1, anon_sym_DASH, ACTIONS(342), 1, anon_sym_DASH_GT, - ACTIONS(389), 1, + ACTIONS(433), 1, anon_sym_SEMI, - STATE(199), 1, + STATE(186), 1, sym_logic_operator, - STATE(200), 1, + STATE(193), 1, sym_math_operator, - ACTIONS(332), 2, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 3, + ACTIONS(328), 3, anon_sym_PLUS, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, @@ -9603,7 +9860,69 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [4824] = 22, + [5160] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(425), 1, + sym_identifier, + ACTIONS(429), 1, + anon_sym_LBRACE, + ACTIONS(435), 1, + anon_sym_RBRACK, + STATE(61), 1, + sym__function_expression_kind, + STATE(152), 1, + aux_sym_list_repeat1, + STATE(157), 1, + sym_expression, + STATE(419), 1, + sym_function_expression, + STATE(424), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(100), 2, + sym_function_call, + sym_yield, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5243] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -9618,23 +9937,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_some, ACTIONS(346), 1, anon_sym_LBRACE, - ACTIONS(391), 1, + ACTIONS(389), 1, sym_identifier, - ACTIONS(393), 1, + ACTIONS(391), 1, anon_sym_RPAREN, - STATE(66), 1, - sym__function_expression_kind, - STATE(258), 1, + STATE(245), 1, sym_yield, - STATE(338), 1, - sym_function_call, - STATE(349), 1, + STATE(348), 1, sym_expression, - STATE(383), 1, + STATE(350), 1, + sym_function_call, + STATE(396), 1, aux_sym_function_repeat1, - STATE(426), 1, + STATE(401), 1, + sym__function_expression_kind, + STATE(432), 1, sym_index_expression, - STATE(439), 1, + STATE(445), 1, sym_function_expression, ACTIONS(136), 2, sym_float, @@ -9642,14 +9961,14 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(259), 2, + STATE(250), 2, sym_value, sym_index, - STATE(263), 3, + STATE(364), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -9666,25 +9985,460 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [4909] = 10, + [5328] = 22, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(346), 1, + anon_sym_LBRACE, + ACTIONS(389), 1, + sym_identifier, + ACTIONS(437), 1, + anon_sym_RPAREN, + STATE(245), 1, + sym_yield, + STATE(348), 1, + sym_expression, + STATE(350), 1, + sym_function_call, + STATE(397), 1, + aux_sym_function_repeat1, + STATE(401), 1, + sym__function_expression_kind, + STATE(432), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(250), 2, + sym_value, + sym_index, + STATE(362), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5413] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(425), 1, + sym_identifier, + ACTIONS(429), 1, + anon_sym_LBRACE, + ACTIONS(439), 1, + anon_sym_RPAREN, + STATE(61), 1, + sym__function_expression_kind, + STATE(151), 1, + aux_sym__expression_list, + STATE(156), 1, + sym_expression, + STATE(419), 1, + sym_function_expression, + STATE(424), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(100), 2, + sym_function_call, + sym_yield, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5496] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(425), 1, + sym_identifier, + ACTIONS(429), 1, + anon_sym_LBRACE, + ACTIONS(441), 1, + anon_sym_RBRACK, + STATE(61), 1, + sym__function_expression_kind, + STATE(131), 1, + aux_sym_list_repeat1, + STATE(157), 1, + sym_expression, + STATE(419), 1, + sym_function_expression, + STATE(424), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(100), 2, + sym_function_call, + sym_yield, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5579] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(425), 1, + sym_identifier, + ACTIONS(429), 1, + anon_sym_LBRACE, + ACTIONS(443), 1, + anon_sym_RBRACK, + STATE(61), 1, + sym__function_expression_kind, + STATE(137), 1, + aux_sym_list_repeat1, + STATE(157), 1, + sym_expression, + STATE(419), 1, + sym_function_expression, + STATE(424), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(100), 2, + sym_function_call, + sym_yield, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5662] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(425), 1, + sym_identifier, + ACTIONS(429), 1, + anon_sym_LBRACE, + ACTIONS(445), 1, + anon_sym_RBRACK, + STATE(61), 1, + sym__function_expression_kind, + STATE(152), 1, + aux_sym_list_repeat1, + STATE(157), 1, + sym_expression, + STATE(419), 1, + sym_function_expression, + STATE(424), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(100), 2, + sym_function_call, + sym_yield, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5745] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(425), 1, + sym_identifier, + ACTIONS(429), 1, + anon_sym_LBRACE, + ACTIONS(447), 1, + anon_sym_RPAREN, + STATE(61), 1, + sym__function_expression_kind, + STATE(150), 1, + aux_sym__expression_list, + STATE(156), 1, + sym_expression, + STATE(419), 1, + sym_function_expression, + STATE(424), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(100), 2, + sym_function_call, + sym_yield, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5828] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(344), 1, + sym_identifier, + ACTIONS(346), 1, + anon_sym_LBRACE, + ACTIONS(350), 1, + anon_sym_STAR, + STATE(61), 1, + sym__function_expression_kind, + STATE(125), 1, + aux_sym_match_repeat1, + STATE(332), 1, + sym_expression, + STATE(426), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(245), 2, + sym_function_call, + sym_yield, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [5911] = 10, + ACTIONS(3), 1, + sym__comment, + ACTIONS(330), 1, anon_sym_DASH, ACTIONS(342), 1, anon_sym_DASH_GT, - STATE(199), 1, + STATE(186), 1, sym_logic_operator, - STATE(200), 1, + STATE(193), 1, sym_math_operator, - ACTIONS(332), 2, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 3, + ACTIONS(328), 3, anon_sym_PLUS, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, @@ -9717,7 +10471,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [4970] = 21, + [5972] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(162), 1, @@ -9730,39 +10484,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(178), 1, anon_sym_some, - ACTIONS(395), 1, + ACTIONS(425), 1, sym_identifier, - ACTIONS(397), 1, - anon_sym_RPAREN, - ACTIONS(399), 1, + ACTIONS(429), 1, anon_sym_LBRACE, - STATE(66), 1, + ACTIONS(449), 1, + anon_sym_RBRACK, + STATE(61), 1, sym__function_expression_kind, - STATE(138), 1, - aux_sym__expression_list, + STATE(149), 1, + aux_sym_list_repeat1, STATE(157), 1, sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, + STATE(419), 1, sym_function_expression, + STATE(424), 1, + sym_index_expression, ACTIONS(170), 2, sym_float, sym_string, ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, + STATE(100), 2, sym_function_call, sym_yield, - STATE(107), 3, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, sym__expression_kind, sym_math, sym_logic, - STATE(91), 6, + STATE(95), 6, sym_boolean, sym_list, sym_map, @@ -9779,193 +10533,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [5053] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(395), 1, - sym_identifier, - ACTIONS(399), 1, - anon_sym_LBRACE, - ACTIONS(401), 1, - anon_sym_RPAREN, - STATE(66), 1, - sym__function_expression_kind, - STATE(138), 1, - aux_sym__expression_list, - STATE(157), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, - sym_function_call, - sym_yield, - STATE(107), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(91), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5136] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(395), 1, - sym_identifier, - ACTIONS(399), 1, - anon_sym_LBRACE, - ACTIONS(403), 1, - anon_sym_RPAREN, - STATE(66), 1, - sym__function_expression_kind, - STATE(132), 1, - aux_sym__expression_list, - STATE(157), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, - sym_function_call, - sym_yield, - STATE(107), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(91), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5219] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(395), 1, - sym_identifier, - ACTIONS(399), 1, - anon_sym_LBRACE, - ACTIONS(405), 1, - anon_sym_RPAREN, - STATE(66), 1, - sym__function_expression_kind, - STATE(138), 1, - aux_sym__expression_list, - STATE(157), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, - sym_function_call, - sym_yield, - STATE(107), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(91), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5302] = 22, + [6055] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -9980,149 +10548,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_some, ACTIONS(346), 1, anon_sym_LBRACE, - ACTIONS(391), 1, + ACTIONS(389), 1, sym_identifier, - ACTIONS(393), 1, + ACTIONS(431), 1, anon_sym_RPAREN, - STATE(258), 1, - sym_yield, - STATE(339), 1, - sym_function_call, - STATE(356), 1, - sym_expression, - STATE(383), 1, - aux_sym_function_repeat1, - STATE(412), 1, + STATE(61), 1, sym__function_expression_kind, - STATE(423), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(259), 2, - sym_value, - sym_index, - STATE(360), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5387] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(391), 1, - sym_identifier, - ACTIONS(407), 1, - anon_sym_RPAREN, - STATE(258), 1, + STATE(245), 1, sym_yield, - STATE(339), 1, - sym_function_call, - STATE(356), 1, - sym_expression, - STATE(381), 1, - aux_sym_function_repeat1, - STATE(402), 1, - sym__function_expression_kind, - STATE(423), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(259), 2, - sym_value, - sym_index, - STATE(361), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5472] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(391), 1, - sym_identifier, - ACTIONS(407), 1, - anon_sym_RPAREN, - STATE(66), 1, - sym__function_expression_kind, - STATE(258), 1, - sym_yield, - STATE(349), 1, - sym_expression, STATE(353), 1, sym_function_call, - STATE(381), 1, + STATE(358), 1, + sym_expression, + STATE(384), 1, aux_sym_function_repeat1, STATE(426), 1, sym_index_expression, - STATE(439), 1, + STATE(445), 1, sym_function_expression, ACTIONS(136), 2, sym_float, @@ -10130,14 +10572,14 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(259), 2, + STATE(250), 2, sym_value, sym_index, - STATE(263), 3, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -10154,7 +10596,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [5557] = 21, + [6140] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(162), 1, @@ -10167,538 +10609,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(178), 1, anon_sym_some, - ACTIONS(395), 1, + ACTIONS(425), 1, sym_identifier, - ACTIONS(399), 1, - anon_sym_LBRACE, - ACTIONS(409), 1, - anon_sym_RPAREN, - STATE(66), 1, - sym__function_expression_kind, - STATE(129), 1, - aux_sym__expression_list, - STATE(157), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, - sym_function_call, - sym_yield, - STATE(107), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(91), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5640] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(391), 1, - sym_identifier, - ACTIONS(411), 1, - anon_sym_RPAREN, - STATE(258), 1, - sym_yield, - STATE(339), 1, - sym_function_call, - STATE(356), 1, - sym_expression, - STATE(388), 1, - aux_sym_function_repeat1, - STATE(413), 1, - sym__function_expression_kind, - STATE(423), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(259), 2, - sym_value, - sym_index, - STATE(361), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5725] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(413), 1, - sym_identifier, - ACTIONS(416), 1, - anon_sym_LPAREN, - ACTIONS(419), 1, - anon_sym_RPAREN, - ACTIONS(421), 1, - anon_sym_LBRACE, - ACTIONS(424), 1, - sym_integer, - ACTIONS(433), 1, - anon_sym_LBRACK, - ACTIONS(436), 1, - anon_sym_none, - ACTIONS(439), 1, - anon_sym_some, - STATE(66), 1, - sym__function_expression_kind, - STATE(138), 1, - aux_sym__expression_list, - STATE(157), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, - sym_function_expression, - ACTIONS(427), 2, - sym_float, - sym_string, - ACTIONS(430), 2, - anon_sym_true, - anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, - sym_function_call, - sym_yield, - STATE(107), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(91), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(442), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5808] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(395), 1, - sym_identifier, - ACTIONS(399), 1, - anon_sym_LBRACE, - ACTIONS(445), 1, - anon_sym_RBRACK, - STATE(66), 1, - sym__function_expression_kind, - STATE(151), 1, - aux_sym_list_repeat1, - STATE(156), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, - sym_function_call, - sym_yield, - STATE(107), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(91), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5891] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(391), 1, - sym_identifier, - ACTIONS(411), 1, - anon_sym_RPAREN, - STATE(258), 1, - sym_yield, - STATE(339), 1, - sym_function_call, - STATE(356), 1, - sym_expression, - STATE(388), 1, - aux_sym_function_repeat1, - STATE(412), 1, - sym__function_expression_kind, - STATE(423), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(259), 2, - sym_value, - sym_index, - STATE(359), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [5976] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(391), 1, - sym_identifier, - ACTIONS(407), 1, - anon_sym_RPAREN, - STATE(258), 1, - sym_yield, - STATE(339), 1, - sym_function_call, - STATE(356), 1, - sym_expression, - STATE(381), 1, - aux_sym_function_repeat1, - STATE(412), 1, - sym__function_expression_kind, - STATE(423), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(259), 2, - sym_value, - sym_index, - STATE(361), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [6061] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(395), 1, - sym_identifier, - ACTIONS(399), 1, - anon_sym_LBRACE, - ACTIONS(447), 1, - anon_sym_RBRACK, - STATE(66), 1, - sym__function_expression_kind, - STATE(139), 1, - aux_sym_list_repeat1, - STATE(156), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, - sym_function_call, - sym_yield, - STATE(107), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(91), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [6144] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(395), 1, - sym_identifier, - ACTIONS(399), 1, - anon_sym_LBRACE, - ACTIONS(449), 1, - anon_sym_RPAREN, - STATE(66), 1, - sym__function_expression_kind, - STATE(138), 1, - aux_sym__expression_list, - STATE(157), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, - sym_function_call, - sym_yield, - STATE(107), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(91), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [6227] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(395), 1, - sym_identifier, - ACTIONS(399), 1, + ACTIONS(429), 1, anon_sym_LBRACE, ACTIONS(451), 1, anon_sym_RPAREN, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, - STATE(138), 1, + STATE(127), 1, aux_sym__expression_list, - STATE(157), 1, + STATE(156), 1, sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, + STATE(419), 1, sym_function_expression, + STATE(424), 1, + sym_index_expression, ACTIONS(170), 2, sym_float, sym_string, ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, + STATE(100), 2, sym_function_call, sym_yield, - STATE(107), 3, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, sym__expression_kind, sym_math, sym_logic, - STATE(91), 6, + STATE(95), 6, sym_boolean, sym_list, sym_map, @@ -10715,70 +10658,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [6310] = 22, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(391), 1, - sym_identifier, - ACTIONS(411), 1, - anon_sym_RPAREN, - STATE(66), 1, - sym__function_expression_kind, - STATE(258), 1, - sym_yield, - STATE(349), 1, - sym_expression, - STATE(352), 1, - sym_function_call, - STATE(388), 1, - aux_sym_function_repeat1, - STATE(426), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(259), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [6395] = 21, + [6223] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(162), 1, @@ -10791,39 +10671,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(178), 1, anon_sym_some, - ACTIONS(395), 1, + ACTIONS(425), 1, sym_identifier, - ACTIONS(399), 1, + ACTIONS(429), 1, anon_sym_LBRACE, ACTIONS(453), 1, anon_sym_RPAREN, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, - STATE(144), 1, + STATE(127), 1, aux_sym__expression_list, - STATE(157), 1, + STATE(156), 1, sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, + STATE(419), 1, sym_function_expression, + STATE(424), 1, + sym_index_expression, ACTIONS(170), 2, sym_float, sym_string, ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, + STATE(100), 2, sym_function_call, sym_yield, - STATE(107), 3, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, sym__expression_kind, sym_math, sym_logic, - STATE(91), 6, + STATE(95), 6, sym_boolean, sym_list, sym_map, @@ -10840,7 +10720,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [6478] = 21, + [6306] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -10853,21 +10733,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(144), 1, anon_sym_some, - ACTIONS(344), 1, - sym_identifier, ACTIONS(346), 1, anon_sym_LBRACE, - ACTIONS(350), 1, - anon_sym_STAR, - STATE(66), 1, + ACTIONS(389), 1, + sym_identifier, + ACTIONS(437), 1, + anon_sym_RPAREN, + STATE(61), 1, sym__function_expression_kind, - STATE(122), 1, - aux_sym_match_repeat1, - STATE(328), 1, + STATE(245), 1, + sym_yield, + STATE(352), 1, + sym_function_call, + STATE(358), 1, sym_expression, + STATE(397), 1, + aux_sym_function_repeat1, STATE(426), 1, sym_index_expression, - STATE(439), 1, + STATE(445), 1, sym_function_expression, ACTIONS(136), 2, sym_float, @@ -10875,17 +10759,14 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(258), 2, - sym_function_call, - sym_yield, - STATE(259), 2, + STATE(250), 2, sym_value, sym_index, - STATE(263), 3, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -10902,7 +10783,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [6561] = 22, + [6391] = 22, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -10917,23 +10798,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_some, ACTIONS(346), 1, anon_sym_LBRACE, - ACTIONS(391), 1, + ACTIONS(389), 1, sym_identifier, - ACTIONS(393), 1, + ACTIONS(431), 1, anon_sym_RPAREN, - STATE(258), 1, + STATE(245), 1, sym_yield, - STATE(339), 1, - sym_function_call, - STATE(356), 1, + STATE(348), 1, sym_expression, - STATE(383), 1, + STATE(350), 1, + sym_function_call, + STATE(384), 1, aux_sym_function_repeat1, - STATE(412), 1, + STATE(413), 1, sym__function_expression_kind, - STATE(423), 1, + STATE(432), 1, sym_index_expression, - STATE(439), 1, + STATE(445), 1, sym_function_expression, ACTIONS(136), 2, sym_float, @@ -10941,14 +10822,14 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(259), 2, + STATE(250), 2, sym_value, sym_index, - STATE(361), 3, + STATE(363), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -10965,7 +10846,70 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [6646] = 21, + [6476] = 22, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(346), 1, + anon_sym_LBRACE, + ACTIONS(389), 1, + sym_identifier, + ACTIONS(437), 1, + anon_sym_RPAREN, + STATE(245), 1, + sym_yield, + STATE(348), 1, + sym_expression, + STATE(350), 1, + sym_function_call, + STATE(397), 1, + aux_sym_function_repeat1, + STATE(400), 1, + sym__function_expression_kind, + STATE(432), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(250), 2, + sym_value, + sym_index, + STATE(363), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [6561] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(162), 1, @@ -10978,39 +10922,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(178), 1, anon_sym_some, - ACTIONS(395), 1, + ACTIONS(425), 1, sym_identifier, - ACTIONS(399), 1, + ACTIONS(429), 1, anon_sym_LBRACE, ACTIONS(455), 1, anon_sym_RPAREN, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, - STATE(138), 1, + STATE(144), 1, aux_sym__expression_list, - STATE(157), 1, + STATE(156), 1, sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, + STATE(419), 1, sym_function_expression, + STATE(424), 1, + sym_index_expression, ACTIONS(170), 2, sym_float, sym_string, ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, + STATE(100), 2, sym_function_call, sym_yield, - STATE(107), 3, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, sym__expression_kind, sym_math, sym_logic, - STATE(91), 6, + STATE(95), 6, sym_boolean, sym_list, sym_map, @@ -11027,7 +10971,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [6729] = 21, + [6644] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(162), 1, @@ -11040,39 +10984,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(178), 1, anon_sym_some, - ACTIONS(395), 1, + ACTIONS(425), 1, sym_identifier, - ACTIONS(399), 1, + ACTIONS(429), 1, anon_sym_LBRACE, ACTIONS(457), 1, anon_sym_RBRACK, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, - STATE(151), 1, + STATE(152), 1, aux_sym_list_repeat1, - STATE(156), 1, + STATE(157), 1, sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, + STATE(419), 1, sym_function_expression, + STATE(424), 1, + sym_index_expression, ACTIONS(170), 2, sym_float, sym_string, ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, + STATE(100), 2, sym_function_call, sym_yield, - STATE(107), 3, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, sym__expression_kind, sym_math, sym_logic, - STATE(91), 6, + STATE(95), 6, sym_boolean, sym_list, sym_map, @@ -11089,114 +11033,52 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [6812] = 21, + [6727] = 21, ACTIONS(3), 1, sym__comment, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(425), 1, + sym_identifier, + ACTIONS(429), 1, + anon_sym_LBRACE, ACTIONS(459), 1, - sym_identifier, - ACTIONS(462), 1, - anon_sym_LPAREN, - ACTIONS(465), 1, - anon_sym_LBRACE, - ACTIONS(468), 1, - sym_integer, - ACTIONS(477), 1, - anon_sym_LBRACK, - ACTIONS(480), 1, - anon_sym_RBRACK, - ACTIONS(482), 1, - anon_sym_none, - ACTIONS(485), 1, - anon_sym_some, - STATE(66), 1, + anon_sym_RPAREN, + STATE(61), 1, sym__function_expression_kind, - STATE(151), 1, - aux_sym_list_repeat1, + STATE(127), 1, + aux_sym__expression_list, STATE(156), 1, sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, + STATE(419), 1, sym_function_expression, - ACTIONS(471), 2, - sym_float, - sym_string, - ACTIONS(474), 2, - anon_sym_true, - anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, - sym_function_call, - sym_yield, - STATE(107), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(91), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(488), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [6895] = 21, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(395), 1, - sym_identifier, - ACTIONS(399), 1, - anon_sym_LBRACE, - ACTIONS(491), 1, - anon_sym_RBRACK, - STATE(66), 1, - sym__function_expression_kind, - STATE(150), 1, - aux_sym_list_repeat1, - STATE(156), 1, - sym_expression, - STATE(420), 1, + STATE(424), 1, sym_index_expression, - STATE(430), 1, - sym_function_expression, ACTIONS(170), 2, sym_float, sym_string, ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, + STATE(100), 2, sym_function_call, sym_yield, - STATE(107), 3, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, sym__expression_kind, sym_math, sym_logic, - STATE(91), 6, + STATE(95), 6, sym_boolean, sym_list, sym_map, @@ -11213,7 +11095,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [6978] = 21, + [6810] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(162), 1, @@ -11226,39 +11108,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(178), 1, anon_sym_some, - ACTIONS(395), 1, + ACTIONS(425), 1, sym_identifier, - ACTIONS(399), 1, + ACTIONS(429), 1, anon_sym_LBRACE, - ACTIONS(493), 1, - anon_sym_RBRACK, - STATE(66), 1, + ACTIONS(461), 1, + anon_sym_RPAREN, + STATE(61), 1, sym__function_expression_kind, - STATE(151), 1, - aux_sym_list_repeat1, + STATE(127), 1, + aux_sym__expression_list, STATE(156), 1, sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, + STATE(419), 1, sym_function_expression, + STATE(424), 1, + sym_index_expression, ACTIONS(170), 2, sym_float, sym_string, ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, + STATE(100), 2, sym_function_call, sym_yield, - STATE(107), 3, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, sym__expression_kind, sym_math, sym_logic, - STATE(91), 6, + STATE(95), 6, sym_boolean, sym_list, sym_map, @@ -11275,59 +11157,59 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [7061] = 21, + [6893] = 21, ACTIONS(3), 1, sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(395), 1, + ACTIONS(463), 1, sym_identifier, - ACTIONS(399), 1, + ACTIONS(466), 1, + anon_sym_LPAREN, + ACTIONS(469), 1, anon_sym_LBRACE, - ACTIONS(495), 1, + ACTIONS(472), 1, + sym_integer, + ACTIONS(481), 1, + anon_sym_LBRACK, + ACTIONS(484), 1, anon_sym_RBRACK, - STATE(66), 1, + ACTIONS(486), 1, + anon_sym_none, + ACTIONS(489), 1, + anon_sym_some, + STATE(61), 1, sym__function_expression_kind, - STATE(153), 1, + STATE(152), 1, aux_sym_list_repeat1, - STATE(156), 1, + STATE(157), 1, sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, + STATE(419), 1, sym_function_expression, - ACTIONS(170), 2, + STATE(424), 1, + sym_index_expression, + ACTIONS(475), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(478), 2, anon_sym_true, anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, + STATE(100), 2, sym_function_call, sym_yield, - STATE(107), 3, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, sym__expression_kind, sym_math, sym_logic, - STATE(91), 6, + STATE(95), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(188), 9, + ACTIONS(492), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -11337,7 +11219,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [7144] = 21, + [6976] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -11356,15 +11238,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACE, ACTIONS(350), 1, anon_sym_STAR, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, - STATE(125), 1, + STATE(123), 1, aux_sym_match_repeat1, - STATE(328), 1, + STATE(332), 1, sym_expression, STATE(426), 1, sym_index_expression, - STATE(439), 1, + STATE(445), 1, sym_function_expression, ACTIONS(136), 2, sym_float, @@ -11372,17 +11254,142 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(258), 2, + STATE(245), 2, sym_function_call, sym_yield, - STATE(259), 2, + STATE(250), 2, sym_value, sym_index, - STATE(263), 3, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [7059] = 21, + ACTIONS(3), 1, + sym__comment, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(425), 1, + sym_identifier, + ACTIONS(429), 1, + anon_sym_LBRACE, + ACTIONS(495), 1, + anon_sym_RPAREN, + STATE(61), 1, + sym__function_expression_kind, + STATE(127), 1, + aux_sym__expression_list, + STATE(156), 1, + sym_expression, + STATE(419), 1, + sym_function_expression, + STATE(424), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(100), 2, + sym_function_call, + sym_yield, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [7142] = 22, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(346), 1, + anon_sym_LBRACE, + ACTIONS(389), 1, + sym_identifier, + ACTIONS(391), 1, + anon_sym_RPAREN, + STATE(61), 1, + sym__function_expression_kind, + STATE(245), 1, + sym_yield, + STATE(346), 1, + sym_function_call, + STATE(358), 1, + sym_expression, + STATE(396), 1, + aux_sym_function_repeat1, + STATE(426), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -11402,25 +11409,25 @@ static const uint16_t ts_small_parse_table[] = { [7227] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, + ACTIONS(330), 1, anon_sym_DASH, ACTIONS(342), 1, anon_sym_DASH_GT, ACTIONS(501), 1, anon_sym_COMMA, - STATE(199), 1, + STATE(186), 1, sym_logic_operator, - STATE(200), 1, + STATE(193), 1, sym_math_operator, - ACTIONS(332), 2, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, @@ -11429,11 +11436,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, ACTIONS(499), 6, anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, - anon_sym_RBRACK, ACTIONS(497), 15, sym_identifier, sym_integer, @@ -11453,25 +11460,25 @@ static const uint16_t ts_small_parse_table[] = { [7289] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, + ACTIONS(330), 1, anon_sym_DASH, ACTIONS(342), 1, anon_sym_DASH_GT, ACTIONS(507), 1, anon_sym_COMMA, - STATE(199), 1, + STATE(186), 1, sym_logic_operator, - STATE(200), 1, + STATE(193), 1, sym_math_operator, - ACTIONS(332), 2, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, @@ -11480,11 +11487,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, ACTIONS(505), 6, anon_sym_LPAREN, - anon_sym_RPAREN, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, + anon_sym_RBRACK, ACTIONS(503), 15, sym_identifier, sym_integer, @@ -11514,17 +11521,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(144), 1, anon_sym_some, - ACTIONS(344), 1, - sym_identifier, ACTIONS(346), 1, anon_sym_LBRACE, - STATE(66), 1, + ACTIONS(509), 1, + sym_identifier, + STATE(61), 1, sym__function_expression_kind, - STATE(318), 1, + STATE(333), 1, sym_expression, - STATE(426), 1, + STATE(432), 1, sym_index_expression, - STATE(439), 1, + STATE(445), 1, sym_function_expression, ACTIONS(136), 2, sym_float, @@ -11532,17 +11539,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(258), 2, + STATE(324), 2, sym_function_call, sym_yield, - STATE(259), 2, + STATE(325), 2, sym_value, sym_index, - STATE(263), 3, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -11562,52 +11569,52 @@ static const uint16_t ts_small_parse_table[] = { [7428] = 19, ACTIONS(3), 1, sym__comment, - ACTIONS(7), 1, + ACTIONS(128), 1, anon_sym_LPAREN, - ACTIONS(13), 1, + ACTIONS(134), 1, sym_integer, - ACTIONS(19), 1, + ACTIONS(140), 1, anon_sym_LBRACK, - ACTIONS(21), 1, + ACTIONS(142), 1, anon_sym_none, - ACTIONS(23), 1, + ACTIONS(144), 1, anon_sym_some, + ACTIONS(346), 1, + anon_sym_LBRACE, ACTIONS(509), 1, sym_identifier, - ACTIONS(511), 1, - anon_sym_LBRACE, - STATE(48), 1, - sym_expression, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, - STATE(437), 1, - sym_function_expression, - STATE(438), 1, + STATE(315), 1, + sym_expression, + STATE(432), 1, sym_index_expression, - ACTIONS(15), 2, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, sym_float, sym_string, - ACTIONS(17), 2, + ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(61), 2, - sym_value, - sym_index, - STATE(68), 2, + STATE(324), 2, sym_function_call, sym_yield, - STATE(58), 3, + STATE(325), 2, + sym_value, + sym_index, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(70), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(37), 9, + ACTIONS(158), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -11620,52 +11627,52 @@ static const uint16_t ts_small_parse_table[] = { [7505] = 19, ACTIONS(3), 1, sym__comment, - ACTIONS(162), 1, + ACTIONS(128), 1, anon_sym_LPAREN, - ACTIONS(168), 1, + ACTIONS(134), 1, sym_integer, - ACTIONS(174), 1, + ACTIONS(140), 1, anon_sym_LBRACK, - ACTIONS(176), 1, + ACTIONS(142), 1, anon_sym_none, - ACTIONS(178), 1, + ACTIONS(144), 1, anon_sym_some, - ACTIONS(395), 1, - sym_identifier, - ACTIONS(399), 1, + ACTIONS(346), 1, anon_sym_LBRACE, - STATE(66), 1, + ACTIONS(509), 1, + sym_identifier, + STATE(61), 1, sym__function_expression_kind, - STATE(84), 1, + STATE(308), 1, sym_expression, - STATE(421), 1, + STATE(425), 1, sym_index_expression, - STATE(430), 1, + STATE(445), 1, sym_function_expression, - ACTIONS(170), 2, + ACTIONS(136), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, + STATE(324), 2, sym_function_call, sym_yield, - STATE(107), 3, + STATE(325), 2, + sym_value, + sym_index, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(91), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(188), 9, + ACTIONS(158), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -11676,122 +11683,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_random, anon_sym_string, [7582] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(513), 1, - sym_identifier, - STATE(66), 1, - sym__function_expression_kind, - STATE(307), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(325), 2, - sym_function_call, - sym_yield, - STATE(326), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7659] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(252), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 2, - sym_function_call, - sym_yield, - STATE(259), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7736] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, @@ -11804,423 +11695,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(23), 1, anon_sym_some, - ACTIONS(509), 1, - sym_identifier, ACTIONS(511), 1, - anon_sym_LBRACE, - STATE(45), 1, - sym_expression, - STATE(66), 1, - sym__function_expression_kind, - STATE(435), 1, - sym_index_expression, - STATE(437), 1, - sym_function_expression, - ACTIONS(15), 2, - sym_float, - sym_string, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(61), 2, - sym_value, - sym_index, - STATE(68), 2, - sym_function_call, - sym_yield, - STATE(58), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(70), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(37), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7813] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(299), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 2, - sym_function_call, - sym_yield, - STATE(259), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7890] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(300), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 2, - sym_function_call, - sym_yield, - STATE(259), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [7967] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(395), 1, - sym_identifier, - ACTIONS(399), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(89), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, - sym_function_call, - sym_yield, - STATE(107), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(91), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8044] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, ACTIONS(513), 1, - sym_identifier, - STATE(66), 1, - sym__function_expression_kind, - STATE(332), 1, - sym_expression, - STATE(423), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(325), 2, - sym_function_call, - sym_yield, - STATE(326), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8121] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(513), 1, - sym_identifier, - STATE(66), 1, - sym__function_expression_kind, - STATE(309), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(325), 2, - sym_function_call, - sym_yield, - STATE(326), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8198] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(395), 1, - sym_identifier, - ACTIONS(399), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(82), 1, - sym_expression, - STATE(421), 1, - sym_index_expression, - STATE(430), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, - sym_function_call, - sym_yield, - STATE(107), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(91), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8275] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(13), 1, - sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, - ACTIONS(23), 1, - anon_sym_some, - ACTIONS(509), 1, - sym_identifier, - ACTIONS(511), 1, anon_sym_LBRACE, STATE(44), 1, sym_expression, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, - STATE(435), 1, + STATE(422), 1, sym_index_expression, - STATE(437), 1, + STATE(440), 1, sym_function_expression, ACTIONS(15), 2, sym_float, @@ -12228,17 +11713,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(17), 2, anon_sym_true, anon_sym_false, - STATE(61), 2, - sym_value, - sym_index, - STATE(68), 2, + STATE(60), 2, sym_function_call, sym_yield, - STATE(58), 3, + STATE(68), 2, + sym_value, + sym_index, + STATE(71), 3, sym__expression_kind, sym_math, sym_logic, - STATE(70), 6, + STATE(72), 6, sym_boolean, sym_list, sym_map, @@ -12255,11 +11740,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [8352] = 19, + [7659] = 18, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, ACTIONS(134), 1, sym_integer, ACTIONS(140), 1, @@ -12270,96 +11753,41 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_some, ACTIONS(346), 1, anon_sym_LBRACE, - ACTIONS(513), 1, - sym_identifier, - STATE(66), 1, - sym__function_expression_kind, - STATE(336), 1, - sym_expression, - STATE(423), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(325), 2, - sym_function_call, - sym_yield, - STATE(326), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8429] = 17, - ACTIONS(3), 1, - sym__comment, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(399), 1, - anon_sym_LBRACE, ACTIONS(515), 1, sym_identifier, ACTIONS(517), 1, anon_sym_LPAREN, - STATE(110), 1, + STATE(261), 1, sym_function_expression, - STATE(345), 1, + STATE(358), 1, sym_expression, - STATE(420), 1, + STATE(426), 1, sym_index_expression, - ACTIONS(170), 2, + ACTIONS(136), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(93), 5, + STATE(289), 2, sym_value, sym_index, + STATE(255), 3, sym__function_expression_kind, sym_function_call, sym_yield, - STATE(91), 6, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(188), 9, + ACTIONS(158), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -12369,7 +11797,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [8502] = 19, + [7734] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -12386,13 +11814,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(346), 1, anon_sym_LBRACE, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, - STATE(314), 1, + STATE(248), 1, sym_expression, STATE(426), 1, sym_index_expression, - STATE(439), 1, + STATE(445), 1, sym_function_expression, ACTIONS(136), 2, sym_float, @@ -12400,17 +11828,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(258), 2, + STATE(245), 2, sym_function_call, sym_yield, - STATE(259), 2, + STATE(250), 2, sym_value, sym_index, - STATE(263), 3, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -12427,9 +11855,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [8579] = 18, + [7811] = 19, ACTIONS(3), 1, sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, ACTIONS(134), 1, sym_integer, ACTIONS(140), 1, @@ -12440,34 +11870,263 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_some, ACTIONS(346), 1, anon_sym_LBRACE, + ACTIONS(509), 1, + sym_identifier, + STATE(61), 1, + sym__function_expression_kind, + STATE(340), 1, + sym_expression, + STATE(432), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(324), 2, + sym_function_call, + sym_yield, + STATE(325), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [7888] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(13), 1, + sym_integer, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_none, + ACTIONS(23), 1, + anon_sym_some, + ACTIONS(511), 1, + sym_identifier, + ACTIONS(513), 1, + anon_sym_LBRACE, + STATE(45), 1, + sym_expression, + STATE(61), 1, + sym__function_expression_kind, + STATE(422), 1, + sym_index_expression, + STATE(440), 1, + sym_function_expression, + ACTIONS(15), 2, + sym_float, + sym_string, + ACTIONS(17), 2, + anon_sym_true, + anon_sym_false, + STATE(60), 2, + sym_function_call, + sym_yield, + STATE(68), 2, + sym_value, + sym_index, + STATE(71), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(72), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(37), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [7965] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(344), 1, + sym_identifier, + ACTIONS(346), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(299), 1, + sym_expression, + STATE(426), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(245), 2, + sym_function_call, + sym_yield, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [8042] = 17, + ACTIONS(3), 1, + sym__comment, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(429), 1, + anon_sym_LBRACE, ACTIONS(519), 1, sym_identifier, ACTIONS(521), 1, anon_sym_LPAREN, - STATE(245), 1, + STATE(113), 1, sym_function_expression, - STATE(351), 1, + STATE(356), 1, sym_expression, - STATE(423), 1, + STATE(424), 1, sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(115), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [8115] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(346), 1, + anon_sym_LBRACE, + ACTIONS(509), 1, + sym_identifier, + STATE(61), 1, + sym__function_expression_kind, + STATE(336), 1, + sym_expression, + STATE(432), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, ACTIONS(136), 2, sym_float, sym_string, ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(286), 2, - sym_value, - sym_index, - STATE(256), 3, - sym__function_expression_kind, + STATE(324), 2, sym_function_call, sym_yield, - STATE(263), 3, + STATE(325), 2, + sym_value, + sym_index, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -12484,7 +12143,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [8654] = 19, + [8192] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -12499,15 +12158,247 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_some, ACTIONS(346), 1, anon_sym_LBRACE, - ACTIONS(513), 1, + ACTIONS(509), 1, sym_identifier, - STATE(66), 1, + STATE(61), 1, + sym__function_expression_kind, + STATE(338), 1, + sym_expression, + STATE(432), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(324), 2, + sym_function_call, + sym_yield, + STATE(325), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [8269] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(344), 1, + sym_identifier, + ACTIONS(346), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(321), 1, + sym_expression, + STATE(426), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(245), 2, + sym_function_call, + sym_yield, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [8346] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(344), 1, + sym_identifier, + ACTIONS(346), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(312), 1, + sym_expression, + STATE(426), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(245), 2, + sym_function_call, + sym_yield, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [8423] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(425), 1, + sym_identifier, + ACTIONS(429), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(81), 1, + sym_expression, + STATE(419), 1, + sym_function_expression, + STATE(429), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(100), 2, + sym_function_call, + sym_yield, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [8500] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(344), 1, + sym_identifier, + ACTIONS(346), 1, + anon_sym_LBRACE, + STATE(61), 1, sym__function_expression_kind, STATE(335), 1, sym_expression, - STATE(423), 1, + STATE(426), 1, sym_index_expression, - STATE(439), 1, + STATE(445), 1, sym_function_expression, ACTIONS(136), 2, sym_float, @@ -12515,17 +12406,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(325), 2, + STATE(245), 2, sym_function_call, sym_yield, - STATE(326), 2, + STATE(250), 2, sym_value, sym_index, - STATE(263), 3, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -12542,65 +12433,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [8731] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(513), 1, - sym_identifier, - STATE(66), 1, - sym__function_expression_kind, - STATE(333), 1, - sym_expression, - STATE(423), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(325), 2, - sym_function_call, - sym_yield, - STATE(326), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [8808] = 18, + [8577] = 18, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, @@ -12611,17 +12444,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(23), 1, anon_sym_some, - ACTIONS(511), 1, + ACTIONS(513), 1, anon_sym_LBRACE, ACTIONS(523), 1, sym_identifier, ACTIONS(525), 1, anon_sym_LPAREN, - STATE(69), 1, + STATE(66), 1, sym_function_expression, - STATE(350), 1, + STATE(354), 1, sym_expression, - STATE(438), 1, + STATE(441), 1, sym_index_expression, ACTIONS(15), 2, sym_float, @@ -12632,15 +12465,15 @@ static const uint16_t ts_small_parse_table[] = { STATE(87), 2, sym_value, sym_index, - STATE(66), 3, + STATE(61), 3, sym__function_expression_kind, sym_function_call, sym_yield, - STATE(263), 3, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(70), 6, + STATE(72), 6, sym_boolean, sym_list, sym_map, @@ -12657,7 +12490,65 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [8883] = 17, + [8652] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(13), 1, + sym_integer, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_none, + ACTIONS(23), 1, + anon_sym_some, + ACTIONS(511), 1, + sym_identifier, + ACTIONS(513), 1, + anon_sym_LBRACE, + STATE(47), 1, + sym_expression, + STATE(61), 1, + sym__function_expression_kind, + STATE(440), 1, + sym_function_expression, + STATE(441), 1, + sym_index_expression, + ACTIONS(15), 2, + sym_float, + sym_string, + ACTIONS(17), 2, + anon_sym_true, + anon_sym_false, + STATE(60), 2, + sym_function_call, + sym_yield, + STATE(68), 2, + sym_value, + sym_index, + STATE(71), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(72), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(37), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [8729] = 17, ACTIONS(3), 1, sym__comment, ACTIONS(134), 1, @@ -12670,15 +12561,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_some, ACTIONS(346), 1, anon_sym_LBRACE, - ACTIONS(521), 1, + ACTIONS(517), 1, anon_sym_LPAREN, ACTIONS(527), 1, sym_identifier, - STATE(245), 1, + STATE(261), 1, sym_function_expression, - STATE(348), 1, + STATE(360), 1, sym_expression, - STATE(423), 1, + STATE(432), 1, sym_index_expression, ACTIONS(136), 2, sym_float, @@ -12686,17 +12577,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(263), 3, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(256), 5, + STATE(255), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -12713,359 +12604,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [8956] = 19, + [8802] = 18, ACTIONS(3), 1, sym__comment, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(13), 1, - sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, - ACTIONS(23), 1, - anon_sym_some, - ACTIONS(509), 1, - sym_identifier, - ACTIONS(511), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(83), 1, - sym_expression, - STATE(437), 1, - sym_function_expression, - STATE(438), 1, - sym_index_expression, - ACTIONS(15), 2, - sym_float, - sym_string, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(61), 2, - sym_value, - sym_index, - STATE(68), 2, - sym_function_call, - sym_yield, - STATE(58), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(70), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(37), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9033] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(13), 1, - sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, - ACTIONS(23), 1, - anon_sym_some, - ACTIONS(509), 1, - sym_identifier, - ACTIONS(511), 1, - anon_sym_LBRACE, - STATE(50), 1, - sym_expression, - STATE(66), 1, - sym__function_expression_kind, - STATE(437), 1, - sym_function_expression, - STATE(438), 1, - sym_index_expression, - ACTIONS(15), 2, - sym_float, - sym_string, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(61), 2, - sym_value, - sym_index, - STATE(68), 2, - sym_function_call, - sym_yield, - STATE(58), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(70), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(37), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9110] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(7), 1, - anon_sym_LPAREN, - ACTIONS(13), 1, - sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, - ACTIONS(23), 1, - anon_sym_some, - ACTIONS(509), 1, - sym_identifier, - ACTIONS(511), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(80), 1, - sym_expression, - STATE(437), 1, - sym_function_expression, - STATE(438), 1, - sym_index_expression, - ACTIONS(15), 2, - sym_float, - sym_string, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(61), 2, - sym_value, - sym_index, - STATE(68), 2, - sym_function_call, - sym_yield, - STATE(58), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(70), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(37), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9187] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(312), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 2, - sym_function_call, - sym_yield, - STATE(259), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9264] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(323), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 2, - sym_function_call, - sym_yield, - STATE(259), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9341] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(322), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 2, - sym_function_call, - sym_yield, - STATE(259), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9418] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, ACTIONS(134), 1, sym_integer, ACTIONS(140), 1, @@ -13076,704 +12617,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_some, ACTIONS(346), 1, anon_sym_LBRACE, - ACTIONS(513), 1, - sym_identifier, - STATE(66), 1, - sym__function_expression_kind, - STATE(334), 1, - sym_expression, - STATE(423), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(325), 2, - sym_function_call, - sym_yield, - STATE(326), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9495] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(238), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 2, - sym_function_call, - sym_yield, - STATE(259), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9572] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(237), 1, - sym_expression, - STATE(439), 1, - sym_function_expression, - STATE(442), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 2, - sym_function_call, - sym_yield, - STATE(259), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9649] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(319), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 2, - sym_function_call, - sym_yield, - STATE(259), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9726] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(330), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 2, - sym_function_call, - sym_yield, - STATE(259), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9803] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(321), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 2, - sym_function_call, - sym_yield, - STATE(259), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9880] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(329), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 2, - sym_function_call, - sym_yield, - STATE(259), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [9957] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(346), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(315), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(258), 2, - sym_function_call, - sym_yield, - STATE(259), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [10034] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(513), 1, - sym_identifier, - STATE(66), 1, - sym__function_expression_kind, - STATE(320), 1, - sym_expression, - STATE(423), 1, - sym_index_expression, - STATE(439), 1, - sym_function_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(325), 2, - sym_function_call, - sym_yield, - STATE(326), 2, - sym_value, - sym_index, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [10111] = 17, - ACTIONS(3), 1, - sym__comment, - ACTIONS(13), 1, - sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, - ACTIONS(23), 1, - anon_sym_some, - ACTIONS(511), 1, - anon_sym_LBRACE, - ACTIONS(525), 1, - anon_sym_LPAREN, - ACTIONS(529), 1, - sym_identifier, - STATE(69), 1, - sym_function_expression, - STATE(355), 1, - sym_expression, - STATE(438), 1, - sym_index_expression, - ACTIONS(15), 2, - sym_float, - sym_string, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(66), 5, - sym_value, - sym_index, - sym__function_expression_kind, - sym_function_call, - sym_yield, - STATE(70), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(37), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [10184] = 17, - ACTIONS(3), 1, - sym__comment, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(399), 1, - anon_sym_LBRACE, ACTIONS(515), 1, sym_identifier, ACTIONS(517), 1, anon_sym_LPAREN, - STATE(110), 1, - sym_function_expression, - STATE(347), 1, - sym_expression, - STATE(421), 1, - sym_index_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(93), 5, - sym_value, - sym_index, - sym__function_expression_kind, - sym_function_call, - sym_yield, - STATE(91), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [10257] = 18, - ACTIONS(3), 1, - sym__comment, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(519), 1, - sym_identifier, - ACTIONS(521), 1, - anon_sym_LPAREN, - STATE(245), 1, - sym_function_expression, - STATE(349), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(286), 2, - sym_value, - sym_index, - STATE(256), 3, - sym__function_expression_kind, - sym_function_call, - sym_yield, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [10332] = 17, - ACTIONS(3), 1, - sym__comment, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(521), 1, - anon_sym_LPAREN, - ACTIONS(527), 1, - sym_identifier, - STATE(245), 1, + STATE(261), 1, sym_function_expression, STATE(343), 1, sym_expression, - STATE(442), 1, + STATE(432), 1, sym_index_expression, ACTIONS(136), 2, sym_float, @@ -13781,17 +12633,18 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(263), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(256), 5, + STATE(289), 2, sym_value, sym_index, + STATE(255), 3, sym__function_expression_kind, sym_function_call, sym_yield, - STATE(273), 6, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -13808,9 +12661,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10405] = 17, + [8877] = 19, ACTIONS(3), 1, sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, ACTIONS(134), 1, sym_integer, ACTIONS(140), 1, @@ -13821,33 +12676,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_some, ACTIONS(346), 1, anon_sym_LBRACE, - ACTIONS(521), 1, - anon_sym_LPAREN, - ACTIONS(527), 1, + ACTIONS(509), 1, sym_identifier, - STATE(245), 1, - sym_function_expression, - STATE(341), 1, + STATE(61), 1, + sym__function_expression_kind, + STATE(331), 1, sym_expression, - STATE(426), 1, + STATE(432), 1, sym_index_expression, + STATE(445), 1, + sym_function_expression, ACTIONS(136), 2, sym_float, sym_string, ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(263), 3, + STATE(324), 2, + sym_function_call, + sym_yield, + STATE(325), 2, + sym_value, + sym_index, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(256), 5, - sym_value, - sym_index, - sym__function_expression_kind, - sym_function_call, - sym_yield, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -13864,55 +12719,55 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10478] = 19, + [8954] = 19, ACTIONS(3), 1, sym__comment, - ACTIONS(162), 1, + ACTIONS(128), 1, anon_sym_LPAREN, - ACTIONS(168), 1, + ACTIONS(134), 1, sym_integer, - ACTIONS(174), 1, + ACTIONS(140), 1, anon_sym_LBRACK, - ACTIONS(176), 1, + ACTIONS(142), 1, anon_sym_none, - ACTIONS(178), 1, + ACTIONS(144), 1, anon_sym_some, - ACTIONS(395), 1, + ACTIONS(344), 1, sym_identifier, - ACTIONS(399), 1, + ACTIONS(346), 1, anon_sym_LBRACE, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, - STATE(120), 1, + STATE(314), 1, sym_expression, - STATE(420), 1, + STATE(426), 1, sym_index_expression, - STATE(430), 1, + STATE(445), 1, sym_function_expression, - ACTIONS(170), 2, + ACTIONS(136), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, + STATE(245), 2, sym_function_call, sym_yield, - STATE(107), 3, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(91), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(188), 9, + ACTIONS(158), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -13922,65 +12777,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10555] = 19, - ACTIONS(3), 1, - sym__comment, - ACTIONS(162), 1, - anon_sym_LPAREN, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(395), 1, - sym_identifier, - ACTIONS(399), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(121), 1, - sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, - sym_function_expression, - ACTIONS(170), 2, - sym_float, - sym_string, - ACTIONS(172), 2, - anon_sym_true, - anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, - sym_function_call, - sym_yield, - STATE(107), 3, - sym__expression_kind, - sym_math, - sym_logic, - STATE(91), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(188), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [10632] = 19, + [9031] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, @@ -13993,17 +12790,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(23), 1, anon_sym_some, - ACTIONS(509), 1, - sym_identifier, ACTIONS(511), 1, + sym_identifier, + ACTIONS(513), 1, anon_sym_LBRACE, - STATE(49), 1, - sym_expression, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, - STATE(437), 1, + STATE(83), 1, + sym_expression, + STATE(440), 1, sym_function_expression, - STATE(438), 1, + STATE(441), 1, sym_index_expression, ACTIONS(15), 2, sym_float, @@ -14011,17 +12808,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(17), 2, anon_sym_true, anon_sym_false, - STATE(61), 2, - sym_value, - sym_index, - STATE(68), 2, + STATE(60), 2, sym_function_call, sym_yield, - STATE(58), 3, + STATE(68), 2, + sym_value, + sym_index, + STATE(71), 3, sym__expression_kind, sym_math, sym_logic, - STATE(70), 6, + STATE(72), 6, sym_boolean, sym_list, sym_map, @@ -14038,7 +12835,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10709] = 19, + [9108] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -14055,13 +12852,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(346), 1, anon_sym_LBRACE, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, STATE(313), 1, sym_expression, STATE(426), 1, sym_index_expression, - STATE(439), 1, + STATE(445), 1, sym_function_expression, ACTIONS(136), 2, sym_float, @@ -14069,17 +12866,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(258), 2, + STATE(245), 2, sym_function_call, sym_yield, - STATE(259), 2, + STATE(250), 2, sym_value, sym_index, - STATE(263), 3, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -14096,54 +12893,55 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10786] = 18, + [9185] = 19, ACTIONS(3), 1, sym__comment, - ACTIONS(168), 1, - sym_integer, - ACTIONS(174), 1, - anon_sym_LBRACK, - ACTIONS(176), 1, - anon_sym_none, - ACTIONS(178), 1, - anon_sym_some, - ACTIONS(399), 1, - anon_sym_LBRACE, - ACTIONS(517), 1, + ACTIONS(128), 1, anon_sym_LPAREN, - ACTIONS(531), 1, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(344), 1, sym_identifier, - STATE(110), 1, - sym_function_expression, - STATE(354), 1, + ACTIONS(346), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(300), 1, sym_expression, - STATE(420), 1, + STATE(426), 1, sym_index_expression, - ACTIONS(170), 2, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, sym_float, sym_string, - ACTIONS(172), 2, + ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(123), 2, - sym_value, - sym_index, - STATE(93), 3, - sym__function_expression_kind, + STATE(245), 2, sym_function_call, sym_yield, - STATE(263), 3, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(91), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(188), 9, + ACTIONS(158), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -14153,7 +12951,65 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10861] = 19, + [9262] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(13), 1, + sym_integer, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_none, + ACTIONS(23), 1, + anon_sym_some, + ACTIONS(511), 1, + sym_identifier, + ACTIONS(513), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(82), 1, + sym_expression, + STATE(440), 1, + sym_function_expression, + STATE(441), 1, + sym_index_expression, + ACTIONS(15), 2, + sym_float, + sym_string, + ACTIONS(17), 2, + anon_sym_true, + anon_sym_false, + STATE(60), 2, + sym_function_call, + sym_yield, + STATE(68), 2, + sym_value, + sym_index, + STATE(71), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(72), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(37), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [9339] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -14168,15 +13024,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_some, ACTIONS(346), 1, anon_sym_LBRACE, - ACTIONS(513), 1, + ACTIONS(509), 1, sym_identifier, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, - STATE(316), 1, + STATE(309), 1, sym_expression, - STATE(423), 1, + STATE(425), 1, sym_index_expression, - STATE(439), 1, + STATE(445), 1, sym_function_expression, ACTIONS(136), 2, sym_float, @@ -14184,17 +13040,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(325), 2, + STATE(324), 2, sym_function_call, sym_yield, - STATE(326), 2, + STATE(325), 2, sym_value, sym_index, - STATE(263), 3, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -14211,55 +13067,55 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [10938] = 19, + [9416] = 19, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, + ACTIONS(7), 1, anon_sym_LPAREN, - ACTIONS(134), 1, + ACTIONS(13), 1, sym_integer, - ACTIONS(140), 1, + ACTIONS(19), 1, anon_sym_LBRACK, - ACTIONS(142), 1, + ACTIONS(21), 1, anon_sym_none, - ACTIONS(144), 1, + ACTIONS(23), 1, anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(513), 1, + ACTIONS(511), 1, sym_identifier, - STATE(66), 1, - sym__function_expression_kind, - STATE(317), 1, + ACTIONS(513), 1, + anon_sym_LBRACE, + STATE(48), 1, sym_expression, - STATE(423), 1, - sym_index_expression, - STATE(439), 1, + STATE(61), 1, + sym__function_expression_kind, + STATE(440), 1, sym_function_expression, - ACTIONS(136), 2, + STATE(441), 1, + sym_index_expression, + ACTIONS(15), 2, sym_float, sym_string, - ACTIONS(138), 2, + ACTIONS(17), 2, anon_sym_true, anon_sym_false, - STATE(325), 2, + STATE(60), 2, sym_function_call, sym_yield, - STATE(326), 2, + STATE(68), 2, sym_value, sym_index, - STATE(263), 3, + STATE(71), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(72), 6, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, - ACTIONS(158), 9, + ACTIONS(37), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, @@ -14269,7 +13125,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [11015] = 19, + [9493] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(162), 1, @@ -14282,35 +13138,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(178), 1, anon_sym_some, - ACTIONS(395), 1, + ACTIONS(425), 1, sym_identifier, - ACTIONS(399), 1, + ACTIONS(429), 1, anon_sym_LBRACE, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, - STATE(88), 1, + STATE(120), 1, sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, + STATE(419), 1, sym_function_expression, + STATE(424), 1, + sym_index_expression, ACTIONS(170), 2, sym_float, sym_string, ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, + STATE(100), 2, + sym_function_call, + sym_yield, STATE(109), 2, - sym_function_call, - sym_yield, - STATE(107), 3, + sym_value, + sym_index, + STATE(102), 3, sym__expression_kind, sym_math, sym_logic, - STATE(91), 6, + STATE(95), 6, sym_boolean, sym_list, sym_map, @@ -14327,7 +13183,123 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [11092] = 19, + [9570] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(344), 1, + sym_identifier, + ACTIONS(346), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(323), 1, + sym_expression, + STATE(426), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(245), 2, + sym_function_call, + sym_yield, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [9647] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(344), 1, + sym_identifier, + ACTIONS(346), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(319), 1, + sym_expression, + STATE(426), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(245), 2, + sym_function_call, + sym_yield, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [9724] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(162), 1, @@ -14340,35 +13312,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(178), 1, anon_sym_some, - ACTIONS(395), 1, + ACTIONS(425), 1, sym_identifier, - ACTIONS(399), 1, + ACTIONS(429), 1, anon_sym_LBRACE, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, STATE(90), 1, sym_expression, - STATE(420), 1, - sym_index_expression, - STATE(430), 1, + STATE(419), 1, sym_function_expression, + STATE(424), 1, + sym_index_expression, ACTIONS(170), 2, sym_float, sym_string, ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(95), 2, - sym_value, - sym_index, - STATE(109), 2, + STATE(100), 2, sym_function_call, sym_yield, - STATE(107), 3, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, sym__expression_kind, sym_math, sym_logic, - STATE(91), 6, + STATE(95), 6, sym_boolean, sym_list, sym_map, @@ -14385,7 +13357,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [11169] = 19, + [9801] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -14402,13 +13374,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(346), 1, anon_sym_LBRACE, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, - STATE(272), 1, + STATE(316), 1, sym_expression, STATE(426), 1, sym_index_expression, - STATE(439), 1, + STATE(445), 1, sym_function_expression, ACTIONS(136), 2, sym_float, @@ -14416,17 +13388,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(258), 2, + STATE(245), 2, sym_function_call, sym_yield, - STATE(259), 2, + STATE(250), 2, sym_value, sym_index, - STATE(263), 3, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -14443,11 +13415,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [11246] = 19, + [9878] = 17, ACTIONS(3), 1, sym__comment, - ACTIONS(128), 1, - anon_sym_LPAREN, ACTIONS(134), 1, sym_integer, ACTIONS(140), 1, @@ -14456,35 +13426,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(144), 1, anon_sym_some, - ACTIONS(344), 1, - sym_identifier, ACTIONS(346), 1, anon_sym_LBRACE, - STATE(66), 1, - sym__function_expression_kind, - STATE(270), 1, - sym_expression, - STATE(426), 1, - sym_index_expression, - STATE(439), 1, + ACTIONS(517), 1, + anon_sym_LPAREN, + ACTIONS(527), 1, + sym_identifier, + STATE(261), 1, sym_function_expression, + STATE(355), 1, + sym_expression, + STATE(425), 1, + sym_index_expression, ACTIONS(136), 2, sym_float, sym_string, ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(258), 2, - sym_function_call, - sym_yield, - STATE(259), 2, - sym_value, - sym_index, - STATE(263), 3, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(255), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -14501,7 +13471,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [11323] = 17, + [9951] = 17, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, @@ -14512,17 +13482,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(23), 1, anon_sym_some, - ACTIONS(511), 1, + ACTIONS(513), 1, anon_sym_LBRACE, ACTIONS(525), 1, anon_sym_LPAREN, ACTIONS(529), 1, sym_identifier, - STATE(69), 1, + STATE(66), 1, sym_function_expression, - STATE(342), 1, + STATE(349), 1, sym_expression, - STATE(435), 1, + STATE(441), 1, sym_index_expression, ACTIONS(15), 2, sym_float, @@ -14530,17 +13500,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(17), 2, anon_sym_true, anon_sym_false, - STATE(263), 3, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(66), 5, + STATE(61), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, - STATE(70), 6, + STATE(72), 6, sym_boolean, sym_list, sym_map, @@ -14557,7 +13527,122 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [11396] = 19, + [10024] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(425), 1, + sym_identifier, + ACTIONS(429), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(121), 1, + sym_expression, + STATE(419), 1, + sym_function_expression, + STATE(424), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(100), 2, + sym_function_call, + sym_yield, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10101] = 18, + ACTIONS(3), 1, + sym__comment, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(429), 1, + anon_sym_LBRACE, + ACTIONS(521), 1, + anon_sym_LPAREN, + ACTIONS(531), 1, + sym_identifier, + STATE(113), 1, + sym_function_expression, + STATE(357), 1, + sym_expression, + STATE(424), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(122), 2, + sym_value, + sym_index, + STATE(115), 3, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10176] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(128), 1, @@ -14574,13 +13659,13 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(346), 1, anon_sym_LBRACE, - STATE(66), 1, + STATE(61), 1, sym__function_expression_kind, - STATE(311), 1, + STATE(339), 1, sym_expression, STATE(426), 1, sym_index_expression, - STATE(439), 1, + STATE(445), 1, sym_function_expression, ACTIONS(136), 2, sym_float, @@ -14588,17 +13673,17 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(258), 2, + STATE(245), 2, sym_function_call, sym_yield, - STATE(259), 2, + STATE(250), 2, sym_value, sym_index, - STATE(263), 3, + STATE(258), 3, sym__expression_kind, sym_math, sym_logic, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -14615,6 +13700,928 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, + [10253] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(344), 1, + sym_identifier, + ACTIONS(346), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(317), 1, + sym_expression, + STATE(426), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(245), 2, + sym_function_call, + sym_yield, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10330] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(344), 1, + sym_identifier, + ACTIONS(346), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(318), 1, + sym_expression, + STATE(426), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(245), 2, + sym_function_call, + sym_yield, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10407] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(425), 1, + sym_identifier, + ACTIONS(429), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(80), 1, + sym_expression, + STATE(419), 1, + sym_function_expression, + STATE(429), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(100), 2, + sym_function_call, + sym_yield, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10484] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(7), 1, + anon_sym_LPAREN, + ACTIONS(13), 1, + sym_integer, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_none, + ACTIONS(23), 1, + anon_sym_some, + ACTIONS(511), 1, + sym_identifier, + ACTIONS(513), 1, + anon_sym_LBRACE, + STATE(50), 1, + sym_expression, + STATE(61), 1, + sym__function_expression_kind, + STATE(440), 1, + sym_function_expression, + STATE(441), 1, + sym_index_expression, + ACTIONS(15), 2, + sym_float, + sym_string, + ACTIONS(17), 2, + anon_sym_true, + anon_sym_false, + STATE(60), 2, + sym_function_call, + sym_yield, + STATE(68), 2, + sym_value, + sym_index, + STATE(71), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(72), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(37), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10561] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(346), 1, + anon_sym_LBRACE, + ACTIONS(509), 1, + sym_identifier, + STATE(61), 1, + sym__function_expression_kind, + STATE(311), 1, + sym_expression, + STATE(432), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(324), 2, + sym_function_call, + sym_yield, + STATE(325), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10638] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(346), 1, + anon_sym_LBRACE, + ACTIONS(509), 1, + sym_identifier, + STATE(61), 1, + sym__function_expression_kind, + STATE(320), 1, + sym_expression, + STATE(432), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(324), 2, + sym_function_call, + sym_yield, + STATE(325), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10715] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(425), 1, + sym_identifier, + ACTIONS(429), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(89), 1, + sym_expression, + STATE(419), 1, + sym_function_expression, + STATE(424), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(100), 2, + sym_function_call, + sym_yield, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10792] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(162), 1, + anon_sym_LPAREN, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(425), 1, + sym_identifier, + ACTIONS(429), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(88), 1, + sym_expression, + STATE(419), 1, + sym_function_expression, + STATE(424), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(100), 2, + sym_function_call, + sym_yield, + STATE(109), 2, + sym_value, + sym_index, + STATE(102), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10869] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(344), 1, + sym_identifier, + ACTIONS(346), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(273), 1, + sym_expression, + STATE(426), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(245), 2, + sym_function_call, + sym_yield, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [10946] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(344), 1, + sym_identifier, + ACTIONS(346), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(271), 1, + sym_expression, + STATE(426), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(245), 2, + sym_function_call, + sym_yield, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11023] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(344), 1, + sym_identifier, + ACTIONS(346), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(237), 1, + sym_expression, + STATE(425), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(245), 2, + sym_function_call, + sym_yield, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11100] = 17, + ACTIONS(3), 1, + sym__comment, + ACTIONS(13), 1, + sym_integer, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_none, + ACTIONS(23), 1, + anon_sym_some, + ACTIONS(513), 1, + anon_sym_LBRACE, + ACTIONS(525), 1, + anon_sym_LPAREN, + ACTIONS(529), 1, + sym_identifier, + STATE(66), 1, + sym_function_expression, + STATE(345), 1, + sym_expression, + STATE(422), 1, + sym_index_expression, + ACTIONS(15), 2, + sym_float, + sym_string, + ACTIONS(17), 2, + anon_sym_true, + anon_sym_false, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(61), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(72), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(37), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11173] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(344), 1, + sym_identifier, + ACTIONS(346), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(322), 1, + sym_expression, + STATE(426), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(245), 2, + sym_function_call, + sym_yield, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11250] = 17, + ACTIONS(3), 1, + sym__comment, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(346), 1, + anon_sym_LBRACE, + ACTIONS(517), 1, + anon_sym_LPAREN, + ACTIONS(527), 1, + sym_identifier, + STATE(261), 1, + sym_function_expression, + STATE(342), 1, + sym_expression, + STATE(426), 1, + sym_index_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(255), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11323] = 19, + ACTIONS(3), 1, + sym__comment, + ACTIONS(128), 1, + anon_sym_LPAREN, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(344), 1, + sym_identifier, + ACTIONS(346), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym__function_expression_kind, + STATE(239), 1, + sym_expression, + STATE(425), 1, + sym_index_expression, + STATE(445), 1, + sym_function_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(245), 2, + sym_function_call, + sym_yield, + STATE(250), 2, + sym_value, + sym_index, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11400] = 17, + ACTIONS(3), 1, + sym__comment, + ACTIONS(168), 1, + sym_integer, + ACTIONS(174), 1, + anon_sym_LBRACK, + ACTIONS(176), 1, + anon_sym_none, + ACTIONS(178), 1, + anon_sym_some, + ACTIONS(429), 1, + anon_sym_LBRACE, + ACTIONS(519), 1, + sym_identifier, + ACTIONS(521), 1, + anon_sym_LPAREN, + STATE(113), 1, + sym_function_expression, + STATE(351), 1, + sym_expression, + STATE(429), 1, + sym_index_expression, + ACTIONS(170), 2, + sym_float, + sym_string, + ACTIONS(172), 2, + anon_sym_true, + anon_sym_false, + STATE(258), 3, + sym__expression_kind, + sym_math, + sym_logic, + STATE(115), 5, + sym_value, + sym_index, + sym__function_expression_kind, + sym_function_call, + sym_yield, + STATE(95), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(188), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, [11473] = 7, ACTIONS(3), 1, sym__comment, @@ -14622,7 +14629,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_elseif, ACTIONS(539), 1, anon_sym_else, - STATE(223), 1, + STATE(228), 1, sym_else, STATE(214), 2, sym_else_if, @@ -14666,7 +14673,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_elseif, ACTIONS(539), 1, anon_sym_else, - STATE(221), 1, + STATE(222), 1, sym_else, STATE(212), 2, sym_else_if, @@ -14747,7 +14754,7 @@ static const uint16_t ts_small_parse_table[] = { [11621] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(262), 10, + ACTIONS(228), 10, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -14758,7 +14765,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_elseif, anon_sym_asyncfor, - ACTIONS(264), 22, + ACTIONS(230), 22, anon_sym_async, sym_identifier, sym_integer, @@ -14782,43 +14789,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_random, anon_sym_string, [11661] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(298), 10, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_elseif, - anon_sym_asyncfor, - ACTIONS(300), 22, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_else, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11701] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(552), 10, @@ -14855,10 +14825,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [11741] = 3, + [11701] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(230), 10, + ACTIONS(234), 10, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, @@ -14869,7 +14839,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_elseif, anon_sym_asyncfor, - ACTIONS(232), 22, + ACTIONS(236), 22, + anon_sym_async, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_else, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11741] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(310), 10, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_elseif, + anon_sym_asyncfor, + ACTIONS(312), 22, anon_sym_async, sym_identifier, sym_integer, @@ -14965,41 +14972,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_random, anon_sym_string, [11859] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(533), 9, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_asyncfor, - ACTIONS(535), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [11897] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(564), 9, @@ -15034,7 +15006,77 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, + [11897] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(533), 9, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_asyncfor, + ACTIONS(535), 21, + anon_sym_async, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, [11935] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(322), 9, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_asyncfor, + ACTIONS(324), 21, + anon_sym_async, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [11973] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(568), 9, @@ -15069,7 +15111,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [11973] = 3, + [12011] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(572), 9, @@ -15104,7 +15146,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12011] = 3, + [12049] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(576), 9, @@ -15139,7 +15181,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12049] = 3, + [12087] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(580), 9, @@ -15174,7 +15216,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12087] = 3, + [12125] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(584), 9, @@ -15209,41 +15251,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12125] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(322), 9, - ts_builtin_sym_end, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_asyncfor, - ACTIONS(324), 21, - anon_sym_async, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, [12163] = 3, ACTIONS(3), 1, sym__comment, @@ -15282,7 +15289,7 @@ static const uint16_t ts_small_parse_table[] = { [12201] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(334), 1, + ACTIONS(326), 1, anon_sym_SEMI, ACTIONS(322), 8, ts_builtin_sym_end, @@ -15388,10 +15395,10 @@ static const uint16_t ts_small_parse_table[] = { [12317] = 5, ACTIONS(3), 1, sym__comment, - STATE(186), 1, - sym_math_operator, - STATE(187), 1, + STATE(206), 1, sym_logic_operator, + STATE(210), 1, + sym_math_operator, ACTIONS(202), 7, anon_sym_async, sym_identifier, @@ -15432,13 +15439,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(178), 1, anon_sym_some, - ACTIONS(399), 1, + ACTIONS(429), 1, anon_sym_LBRACE, ACTIONS(600), 1, sym_identifier, ACTIONS(602), 1, anon_sym_LPAREN, - STATE(103), 1, + STATE(116), 1, sym_index_expression, ACTIONS(170), 2, sym_float, @@ -15446,10 +15453,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(105), 2, + STATE(117), 2, sym_value, sym_index, - STATE(91), 6, + STATE(95), 6, sym_boolean, sym_list, sym_map, @@ -15477,13 +15484,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(23), 1, anon_sym_some, - ACTIONS(511), 1, + ACTIONS(513), 1, anon_sym_LBRACE, ACTIONS(604), 1, sym_identifier, ACTIONS(606), 1, anon_sym_LPAREN, - STATE(52), 1, + STATE(64), 1, sym_index_expression, ACTIONS(15), 2, sym_float, @@ -15491,10 +15498,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(17), 2, anon_sym_true, anon_sym_false, - STATE(64), 2, + STATE(65), 2, sym_value, sym_index, - STATE(70), 6, + STATE(72), 6, sym_boolean, sym_list, sym_map, @@ -15536,10 +15543,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(138), 2, anon_sym_true, anon_sym_false, - STATE(246), 2, + STATE(260), 2, sym_value, sym_index, - STATE(273), 6, + STATE(269), 6, sym_boolean, sym_list, sym_map, @@ -15561,47 +15568,10 @@ static const uint16_t ts_small_parse_table[] = { sym__comment, ACTIONS(612), 1, anon_sym_DASH_GT, - STATE(186), 1, - sym_math_operator, - STATE(187), 1, + STATE(206), 1, sym_logic_operator, - ACTIONS(198), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(196), 19, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - [12578] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(612), 1, - anon_sym_DASH_GT, - STATE(186), 1, + STATE(210), 1, sym_math_operator, - STATE(187), 1, - sym_logic_operator, ACTIONS(192), 7, anon_sym_async, sym_identifier, @@ -15630,16 +15600,98 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, - [12621] = 7, + [12578] = 14, + ACTIONS(3), 1, + sym__comment, + ACTIONS(13), 1, + sym_integer, + ACTIONS(19), 1, + anon_sym_LBRACK, + ACTIONS(21), 1, + anon_sym_none, + ACTIONS(23), 1, + anon_sym_some, + ACTIONS(513), 1, + anon_sym_LBRACE, + ACTIONS(604), 1, + sym_identifier, + ACTIONS(606), 1, + anon_sym_LPAREN, + STATE(56), 1, + sym_index_expression, + ACTIONS(15), 2, + sym_float, + sym_string, + ACTIONS(17), 2, + anon_sym_true, + anon_sym_false, + STATE(65), 2, + sym_value, + sym_index, + STATE(72), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(37), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12637] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(612), 1, + anon_sym_DASH_GT, + STATE(206), 1, + sym_logic_operator, + STATE(210), 1, + sym_math_operator, + ACTIONS(198), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(196), 19, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + [12680] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(614), 1, anon_sym_elseif, ACTIONS(616), 1, anon_sym_else, - STATE(293), 1, + STATE(290), 1, sym_else, - STATE(243), 2, + STATE(244), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(541), 9, @@ -15668,97 +15720,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12666] = 14, - ACTIONS(3), 1, - sym__comment, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(608), 1, - sym_identifier, - ACTIONS(610), 1, - anon_sym_LPAREN, - STATE(267), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(246), 2, - sym_value, - sym_index, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, [12725] = 14, - ACTIONS(3), 1, - sym__comment, - ACTIONS(134), 1, - sym_integer, - ACTIONS(140), 1, - anon_sym_LBRACK, - ACTIONS(142), 1, - anon_sym_none, - ACTIONS(144), 1, - anon_sym_some, - ACTIONS(346), 1, - anon_sym_LBRACE, - ACTIONS(608), 1, - sym_identifier, - ACTIONS(610), 1, - anon_sym_LPAREN, - STATE(324), 1, - sym_index_expression, - ACTIONS(136), 2, - sym_float, - sym_string, - ACTIONS(138), 2, - anon_sym_true, - anon_sym_false, - STATE(246), 2, - sym_value, - sym_index, - STATE(273), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(158), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [12784] = 14, ACTIONS(3), 1, sym__comment, ACTIONS(168), 1, @@ -15769,13 +15731,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_none, ACTIONS(178), 1, anon_sym_some, - ACTIONS(399), 1, + ACTIONS(429), 1, anon_sym_LBRACE, ACTIONS(600), 1, sym_identifier, ACTIONS(602), 1, anon_sym_LPAREN, - STATE(114), 1, + STATE(107), 1, sym_index_expression, ACTIONS(170), 2, sym_float, @@ -15783,10 +15745,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(172), 2, anon_sym_true, anon_sym_false, - STATE(105), 2, + STATE(117), 2, sym_value, sym_index, - STATE(91), 6, + STATE(95), 6, sym_boolean, sym_list, sym_map, @@ -15803,16 +15765,106 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12843] = 7, + [12784] = 14, + ACTIONS(3), 1, + sym__comment, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(346), 1, + anon_sym_LBRACE, + ACTIONS(608), 1, + sym_identifier, + ACTIONS(610), 1, + anon_sym_LPAREN, + STATE(326), 1, + sym_index_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(260), 2, + sym_value, + sym_index, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12843] = 14, + ACTIONS(3), 1, + sym__comment, + ACTIONS(134), 1, + sym_integer, + ACTIONS(140), 1, + anon_sym_LBRACK, + ACTIONS(142), 1, + anon_sym_none, + ACTIONS(144), 1, + anon_sym_some, + ACTIONS(346), 1, + anon_sym_LBRACE, + ACTIONS(608), 1, + sym_identifier, + ACTIONS(610), 1, + anon_sym_LPAREN, + STATE(254), 1, + sym_index_expression, + ACTIONS(136), 2, + sym_float, + sym_string, + ACTIONS(138), 2, + anon_sym_true, + anon_sym_false, + STATE(260), 2, + sym_value, + sym_index, + STATE(269), 6, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + sym_built_in_value, + ACTIONS(158), 9, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [12902] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(614), 1, anon_sym_elseif, ACTIONS(616), 1, anon_sym_else, - STATE(285), 1, + STATE(288), 1, sym_else, - STATE(248), 2, + STATE(266), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(533), 9, @@ -15841,55 +15893,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [12888] = 14, + [12947] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(13), 1, - sym_integer, - ACTIONS(19), 1, - anon_sym_LBRACK, - ACTIONS(21), 1, - anon_sym_none, - ACTIONS(23), 1, - anon_sym_some, - ACTIONS(511), 1, - anon_sym_LBRACE, - ACTIONS(604), 1, - sym_identifier, - ACTIONS(606), 1, + ACTIONS(210), 2, anon_sym_LPAREN, - STATE(56), 1, - sym_index_expression, - ACTIONS(15), 2, - sym_float, - sym_string, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(64), 2, - sym_value, - sym_index, - STATE(70), 6, - sym_boolean, - sym_list, - sym_map, - sym_option, - sym_function, - sym_built_in_value, - ACTIONS(37), 9, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [12947] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(276), 7, + anon_sym_RPAREN, + ACTIONS(208), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -15897,7 +15907,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(274), 21, + ACTIONS(206), 19, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [12985] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(292), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(290), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -15919,10 +15960,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [12983] = 3, + [13021] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(260), 7, + ACTIONS(244), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -15930,7 +15971,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(212), 21, + ACTIONS(242), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -15952,179 +15993,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13019] = 3, + [13057] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(242), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(240), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13055] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(618), 1, - anon_sym_elseif, - STATE(248), 2, - sym_else_if, - aux_sym_if_else_repeat1, - ACTIONS(545), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(547), 16, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_else, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [13095] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(272), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(270), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13131] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(264), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(262), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13167] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(222), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(220), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13203] = 5, - ACTIONS(3), 1, - sym__comment, - STATE(208), 1, + STATE(204), 1, sym_math_operator, - STATE(209), 1, + STATE(205), 1, sym_logic_operator, ACTIONS(202), 7, anon_sym_async, @@ -16154,40 +16028,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13243] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(312), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(310), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13279] = 3, + [13097] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(316), 7, @@ -16220,10 +16061,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13315] = 3, + [13133] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(254), 7, + ACTIONS(214), 1, + anon_sym_COLON, + ACTIONS(210), 2, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(208), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -16231,7 +16077,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(252), 21, + ACTIONS(206), 18, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [13173] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(222), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(220), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -16253,10 +16129,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13351] = 3, + [13209] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(268), 7, + ACTIONS(312), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -16264,7 +16140,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(266), 21, + ACTIONS(310), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -16286,10 +16162,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13387] = 3, + [13245] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(232), 7, + ACTIONS(280), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -16297,7 +16173,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(230), 21, + ACTIONS(278), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -16319,13 +16195,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13423] = 4, + [13281] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(208), 2, - anon_sym_LPAREN, - anon_sym_RPAREN, - ACTIONS(206), 7, + ACTIONS(240), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -16333,73 +16206,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(204), 19, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13461] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(212), 1, - anon_sym_COLON, - ACTIONS(208), 2, - anon_sym_LPAREN, - anon_sym_RPAREN, - ACTIONS(206), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(204), 18, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13501] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(300), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(298), 21, + ACTIONS(238), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -16421,10 +16228,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13537] = 3, + [13317] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(304), 7, + ACTIONS(256), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -16432,7 +16239,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(302), 21, + ACTIONS(254), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -16454,10 +16261,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13573] = 3, + [13353] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(250), 7, + ACTIONS(276), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -16465,7 +16272,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(248), 21, + ACTIONS(274), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -16487,10 +16294,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13609] = 3, + [13389] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(246), 7, + ACTIONS(264), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -16498,7 +16305,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(244), 21, + ACTIONS(262), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -16520,40 +16327,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13645] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(296), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(294), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13681] = 3, + [13425] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(284), 7, @@ -16586,7 +16360,172 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13717] = 3, + [13461] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(252), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(250), 21, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [13497] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(268), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(214), 21, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [13533] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(272), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(270), 21, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [13569] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(304), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(302), 21, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [13605] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(236), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(234), 21, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [13641] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(308), 7, @@ -16619,6 +16558,74 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, + [13677] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(296), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(294), 21, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [13713] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(618), 1, + anon_sym_elseif, + STATE(266), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(545), 9, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_STAR, + ACTIONS(547), 16, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_else, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, [13753] = 3, ACTIONS(3), 1, sym__comment, @@ -16653,6 +16660,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_GT, anon_sym_DASH_GT, [13789] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(300), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(298), 21, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [13825] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(288), 7, @@ -16685,10 +16725,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13825] = 3, + [13861] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(238), 7, + ACTIONS(260), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -16696,7 +16736,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(236), 21, + ACTIONS(258), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -16718,83 +16758,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [13861] = 6, + [13897] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(621), 1, anon_sym_DASH_GT, - STATE(208), 1, + STATE(204), 1, sym_math_operator, - STATE(209), 1, - sym_logic_operator, - ACTIONS(198), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(196), 18, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - [13903] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(258), 7, - anon_sym_async, - sym_identifier, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(256), 21, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [13939] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(621), 1, - anon_sym_DASH_GT, - STATE(208), 1, - sym_math_operator, - STATE(209), 1, + STATE(205), 1, sym_logic_operator, ACTIONS(192), 7, anon_sym_async, @@ -16823,10 +16794,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, - [13981] = 3, + [13939] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(280), 7, + ACTIONS(248), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -16834,7 +16805,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(278), 21, + ACTIONS(246), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -16856,10 +16827,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - [14017] = 3, + [13975] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(292), 7, + ACTIONS(621), 1, + anon_sym_DASH_GT, + STATE(204), 1, + sym_math_operator, + STATE(205), 1, + sym_logic_operator, + ACTIONS(198), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -16867,7 +16844,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(290), 21, + ACTIONS(196), 18, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + [14017] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(230), 7, + anon_sym_async, + sym_identifier, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(228), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, @@ -16926,7 +16933,7 @@ static const uint16_t ts_small_parse_table[] = { sym__comment, ACTIONS(627), 1, anon_sym_DOT_DOT, - ACTIONS(226), 7, + ACTIONS(240), 7, anon_sym_async, sym_identifier, anon_sym_EQ, @@ -16934,7 +16941,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(224), 19, + ACTIONS(238), 19, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -16957,7 +16964,7 @@ static const uint16_t ts_small_parse_table[] = { [14125] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(298), 10, + ACTIONS(234), 10, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -16968,7 +16975,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_STAR, anon_sym_elseif, - ACTIONS(300), 16, + ACTIONS(236), 16, sym_identifier, sym_integer, anon_sym_true, @@ -16988,7 +16995,7 @@ static const uint16_t ts_small_parse_table[] = { [14159] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(262), 10, + ACTIONS(310), 10, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -16999,7 +17006,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_STAR, anon_sym_elseif, - ACTIONS(264), 16, + ACTIONS(312), 16, sym_identifier, sym_integer, anon_sym_true, @@ -17019,7 +17026,7 @@ static const uint16_t ts_small_parse_table[] = { [14193] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(230), 10, + ACTIONS(228), 10, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -17030,7 +17037,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_STAR, anon_sym_elseif, - ACTIONS(232), 16, + ACTIONS(230), 16, sym_identifier, sym_integer, anon_sym_true, @@ -17112,26 +17119,26 @@ static const uint16_t ts_small_parse_table[] = { [14295] = 10, ACTIONS(3), 1, sym__comment, - ACTIONS(208), 1, - anon_sym_LPAREN, ACTIONS(210), 1, - anon_sym_EQ, + anon_sym_LPAREN, ACTIONS(212), 1, - anon_sym_COLON, + anon_sym_EQ, ACTIONS(214), 1, + anon_sym_COLON, + ACTIONS(216), 1, anon_sym_LT, - STATE(37), 1, + STATE(35), 1, sym_assignment_operator, - STATE(374), 1, + STATE(376), 1, sym_type_definition, - ACTIONS(216), 2, + ACTIONS(218), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(206), 3, + ACTIONS(208), 3, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, - ACTIONS(204), 14, + ACTIONS(206), 14, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, @@ -17147,269 +17154,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_DASH_GT, [14342] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(588), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(590), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14374] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(389), 1, - anon_sym_SEMI, - ACTIONS(322), 8, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(324), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14408] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(568), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(570), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14440] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(212), 1, - anon_sym_COLON, - ACTIONS(336), 5, - anon_sym_async, - sym_identifier, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(208), 18, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - [14474] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(560), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(562), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14506] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(572), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(574), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14538] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(322), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(324), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14570] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(592), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(594), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14602] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(576), 9, - anon_sym_SEMI, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_STAR, - ACTIONS(578), 15, - sym_identifier, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_none, - anon_sym_some, - anon_sym_args, - anon_sym_assert_equal, - anon_sym_env, - anon_sym_fs, - anon_sym_json, - anon_sym_length, - anon_sym_output, - anon_sym_random, - anon_sym_string, - [14634] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(596), 9, @@ -17438,10 +17182,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [14666] = 3, + [14374] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(533), 9, + ACTIONS(592), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -17451,7 +17195,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(535), 15, + ACTIONS(594), 15, sym_identifier, sym_integer, anon_sym_true, @@ -17467,10 +17211,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [14698] = 3, + [14406] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(580), 9, + ACTIONS(560), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, @@ -17480,7 +17224,7 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_STAR, - ACTIONS(582), 15, + ACTIONS(562), 15, sym_identifier, sym_integer, anon_sym_true, @@ -17496,7 +17240,65 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [14730] = 3, + [14438] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(322), 9, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_STAR, + ACTIONS(324), 15, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [14470] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(572), 9, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_STAR, + ACTIONS(574), 15, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [14502] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(584), 9, @@ -17525,7 +17327,66 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [14762] = 3, + [14534] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(214), 1, + anon_sym_COLON, + ACTIONS(336), 5, + anon_sym_async, + sym_identifier, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(210), 18, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + [14568] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(533), 9, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_STAR, + ACTIONS(535), 15, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [14600] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(564), 9, @@ -17554,26 +17415,143 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [14794] = 8, + [14632] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(208), 1, + ACTIONS(433), 1, + anon_sym_SEMI, + ACTIONS(322), 8, anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_STAR, + ACTIONS(324), 15, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [14666] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(588), 9, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_STAR, + ACTIONS(590), 15, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [14698] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(576), 9, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_STAR, + ACTIONS(578), 15, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [14730] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(580), 9, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_STAR, + ACTIONS(582), 15, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, + [14762] = 8, + ACTIONS(3), 1, + sym__comment, ACTIONS(210), 1, - anon_sym_EQ, + anon_sym_LPAREN, ACTIONS(212), 1, + anon_sym_EQ, + ACTIONS(214), 1, anon_sym_COLON, - STATE(40), 1, + STATE(37), 1, sym_assignment_operator, - ACTIONS(216), 2, + ACTIONS(218), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(206), 4, + ACTIONS(208), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(204), 14, + ACTIONS(206), 14, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, @@ -17588,6 +17566,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, + [14804] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(568), 9, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_STAR, + ACTIONS(570), 15, + sym_identifier, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_args, + anon_sym_assert_equal, + anon_sym_env, + anon_sym_fs, + anon_sym_json, + anon_sym_length, + anon_sym_output, + anon_sym_random, + anon_sym_string, [14836] = 4, ACTIONS(3), 1, sym__comment, @@ -17622,10 +17629,10 @@ static const uint16_t ts_small_parse_table[] = { sym__comment, ACTIONS(635), 1, anon_sym_DASH_GT, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, + STATE(166), 1, sym_math_operator, + STATE(182), 1, + sym_logic_operator, ACTIONS(198), 5, anon_sym_async, sym_identifier, @@ -17653,10 +17660,10 @@ static const uint16_t ts_small_parse_table[] = { sym__comment, ACTIONS(635), 1, anon_sym_DASH_GT, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, + STATE(166), 1, sym_math_operator, + STATE(182), 1, + sym_logic_operator, ACTIONS(192), 5, anon_sym_async, sym_identifier, @@ -17709,7 +17716,7 @@ static const uint16_t ts_small_parse_table[] = { [14973] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(480), 6, + ACTIONS(484), 6, anon_sym_LPAREN, anon_sym_LBRACE, sym_float, @@ -17735,7 +17742,7 @@ static const uint16_t ts_small_parse_table[] = { [15002] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(419), 6, + ACTIONS(399), 6, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, @@ -17758,44 +17765,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [15031] = 10, + [15031] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, - anon_sym_DASH, - ACTIONS(389), 1, - anon_sym_SEMI, - ACTIONS(635), 1, - anon_sym_DASH_GT, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, + STATE(160), 1, sym_math_operator, - ACTIONS(332), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(322), 3, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_identifier, - ACTIONS(326), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(330), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15073] = 5, - ACTIONS(3), 1, - sym__comment, - STATE(161), 1, - sym_math_operator, - STATE(168), 1, + STATE(184), 1, sym_logic_operator, ACTIONS(202), 3, anon_sym_DASH, @@ -17817,7 +17792,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [15105] = 3, + [15063] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(647), 5, @@ -17842,94 +17817,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [15133] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(612), 1, - anon_sym_DASH_GT, - STATE(161), 1, - sym_math_operator, - STATE(168), 1, - sym_logic_operator, - ACTIONS(192), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(190), 14, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15167] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(328), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, - sym_math_operator, - ACTIONS(332), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(322), 4, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_RBRACE, - sym_identifier, - ACTIONS(326), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(330), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15207] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(612), 1, - anon_sym_DASH_GT, - STATE(161), 1, - sym_math_operator, - STATE(168), 1, - sym_logic_operator, - ACTIONS(198), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(196), 14, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15241] = 3, + [15091] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(651), 5, @@ -17954,183 +17842,84 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_output, anon_sym_random, anon_sym_string, - [15269] = 11, + [15119] = 10, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, + ACTIONS(330), 1, anon_sym_DASH, + ACTIONS(433), 1, + anon_sym_SEMI, ACTIONS(635), 1, anon_sym_DASH_GT, - ACTIONS(653), 1, - anon_sym_async, - ACTIONS(655), 1, - anon_sym_LBRACE, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, + STATE(166), 1, sym_math_operator, - STATE(283), 1, - sym_block, - ACTIONS(332), 2, + STATE(182), 1, + sym_logic_operator, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(322), 3, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_identifier, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [15312] = 11, + [15161] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, - anon_sym_DASH, - ACTIONS(635), 1, + ACTIONS(612), 1, anon_sym_DASH_GT, - ACTIONS(657), 1, - anon_sym_async, - ACTIONS(659), 1, - anon_sym_LBRACE, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, + STATE(160), 1, sym_math_operator, - STATE(231), 1, - sym_block, - ACTIONS(332), 2, + STATE(184), 1, + sym_logic_operator, + ACTIONS(198), 3, + anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(196), 14, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [15355] = 11, + [15195] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, - anon_sym_DASH, - ACTIONS(635), 1, + ACTIONS(612), 1, anon_sym_DASH_GT, - ACTIONS(661), 1, - anon_sym_async, - ACTIONS(663), 1, - anon_sym_LBRACE, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, + STATE(160), 1, sym_math_operator, - STATE(281), 1, - sym_block, - ACTIONS(332), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(326), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(330), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15398] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(328), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(653), 1, - anon_sym_async, - ACTIONS(655), 1, - anon_sym_LBRACE, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, - sym_math_operator, - STATE(290), 1, - sym_block, - ACTIONS(332), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(326), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(330), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15441] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(328), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(665), 1, - anon_sym_async, - ACTIONS(667), 1, - anon_sym_LBRACE, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, - sym_math_operator, - STATE(217), 1, - sym_block, - ACTIONS(332), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(326), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(330), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15484] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(669), 1, - anon_sym_DASH_GT, - STATE(204), 1, - sym_math_operator, - STATE(205), 1, + STATE(184), 1, sym_logic_operator, ACTIONS(192), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(190), 13, + ACTIONS(190), 14, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, @@ -18141,14 +17930,45 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [15517] = 6, + [15229] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(669), 1, + ACTIONS(330), 1, + anon_sym_DASH, + ACTIONS(635), 1, anon_sym_DASH_GT, - STATE(204), 1, + STATE(166), 1, sym_math_operator, - STATE(205), 1, + STATE(182), 1, + sym_logic_operator, + ACTIONS(334), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(322), 4, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + sym_identifier, + ACTIONS(328), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(332), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [15269] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(653), 1, + anon_sym_DASH_GT, + STATE(200), 1, + sym_math_operator, + STATE(201), 1, sym_logic_operator, ACTIONS(198), 3, anon_sym_DASH, @@ -18168,76 +17988,108 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [15550] = 11, + [15302] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, + ACTIONS(330), 1, anon_sym_DASH, ACTIONS(635), 1, anon_sym_DASH_GT, + ACTIONS(655), 1, + anon_sym_async, ACTIONS(657), 1, - anon_sym_async, - ACTIONS(659), 1, anon_sym_LBRACE, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, + STATE(166), 1, sym_math_operator, - STATE(229), 1, + STATE(182), 1, + sym_logic_operator, + STATE(287), 1, sym_block, - ACTIONS(332), 2, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [15593] = 11, + [15345] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, + ACTIONS(330), 1, anon_sym_DASH, ACTIONS(635), 1, anon_sym_DASH_GT, - ACTIONS(671), 1, + ACTIONS(659), 1, anon_sym_async, - ACTIONS(673), 1, + ACTIONS(661), 1, anon_sym_LBRACE, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, + STATE(166), 1, sym_math_operator, - STATE(283), 1, + STATE(182), 1, + sym_logic_operator, + STATE(280), 1, sym_block, - ACTIONS(332), 2, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [15636] = 5, + [15388] = 11, ACTIONS(3), 1, sym__comment, - STATE(204), 1, + ACTIONS(330), 1, + anon_sym_DASH, + ACTIONS(635), 1, + anon_sym_DASH_GT, + ACTIONS(663), 1, + anon_sym_async, + ACTIONS(665), 1, + anon_sym_LBRACE, + STATE(166), 1, sym_math_operator, - STATE(205), 1, + STATE(182), 1, + sym_logic_operator, + STATE(287), 1, + sym_block, + ACTIONS(334), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(332), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [15431] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(200), 1, + sym_math_operator, + STATE(201), 1, sym_logic_operator, ACTIONS(202), 3, anon_sym_DASH, @@ -18258,32 +18110,187 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [15667] = 11, + [15462] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, + ACTIONS(330), 1, anon_sym_DASH, ACTIONS(635), 1, anon_sym_DASH_GT, - ACTIONS(665), 1, - anon_sym_async, ACTIONS(667), 1, + anon_sym_async, + ACTIONS(669), 1, anon_sym_LBRACE, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, + STATE(166), 1, sym_math_operator, - STATE(219), 1, + STATE(182), 1, + sym_logic_operator, + STATE(225), 1, sym_block, - ACTIONS(332), 2, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [15505] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(330), 1, + anon_sym_DASH, + ACTIONS(635), 1, + anon_sym_DASH_GT, + ACTIONS(671), 1, + anon_sym_async, + ACTIONS(673), 1, + anon_sym_LBRACE, + STATE(166), 1, + sym_math_operator, + STATE(182), 1, + sym_logic_operator, + STATE(216), 1, + sym_block, + ACTIONS(334), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(332), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [15548] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(330), 1, + anon_sym_DASH, + ACTIONS(635), 1, + anon_sym_DASH_GT, + ACTIONS(671), 1, + anon_sym_async, + ACTIONS(673), 1, + anon_sym_LBRACE, + STATE(166), 1, + sym_math_operator, + STATE(182), 1, + sym_logic_operator, + STATE(219), 1, + sym_block, + ACTIONS(334), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(332), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [15591] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(330), 1, + anon_sym_DASH, + ACTIONS(635), 1, + anon_sym_DASH_GT, + ACTIONS(663), 1, + anon_sym_async, + ACTIONS(665), 1, + anon_sym_LBRACE, + STATE(166), 1, + sym_math_operator, + STATE(182), 1, + sym_logic_operator, + STATE(283), 1, + sym_block, + ACTIONS(334), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(332), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [15634] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(653), 1, + anon_sym_DASH_GT, + STATE(200), 1, + sym_math_operator, + STATE(201), 1, + sym_logic_operator, + ACTIONS(192), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(190), 13, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [15667] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(330), 1, + anon_sym_DASH, + ACTIONS(635), 1, + anon_sym_DASH_GT, + ACTIONS(667), 1, + anon_sym_async, + ACTIONS(669), 1, + anon_sym_LBRACE, + STATE(166), 1, + sym_math_operator, + STATE(182), 1, + sym_logic_operator, + STATE(232), 1, + sym_block, + ACTIONS(334), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, @@ -18293,29 +18300,29 @@ static const uint16_t ts_small_parse_table[] = { [15710] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, + ACTIONS(330), 1, anon_sym_DASH, ACTIONS(635), 1, anon_sym_DASH_GT, - ACTIONS(671), 1, + ACTIONS(655), 1, anon_sym_async, - ACTIONS(673), 1, + ACTIONS(657), 1, anon_sym_LBRACE, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, + STATE(166), 1, sym_math_operator, - STATE(290), 1, + STATE(182), 1, + sym_logic_operator, + STATE(283), 1, sym_block, - ACTIONS(332), 2, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, @@ -18325,29 +18332,29 @@ static const uint16_t ts_small_parse_table[] = { [15753] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, + ACTIONS(330), 1, anon_sym_DASH, ACTIONS(635), 1, anon_sym_DASH_GT, - ACTIONS(661), 1, + ACTIONS(659), 1, anon_sym_async, - ACTIONS(663), 1, + ACTIONS(661), 1, anon_sym_LBRACE, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, + STATE(166), 1, sym_math_operator, - STATE(280), 1, + STATE(182), 1, + sym_logic_operator, + STATE(281), 1, sym_block, - ACTIONS(332), 2, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, @@ -18355,15 +18362,64 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, [15796] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(210), 1, + anon_sym_LPAREN, + ACTIONS(208), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(206), 14, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH_GT, + [15824] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(210), 1, + anon_sym_LPAREN, + ACTIONS(214), 1, + anon_sym_COLON, + ACTIONS(208), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(206), 13, + anon_sym_RPAREN, + anon_sym_DOT_DOT, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH_GT, + [15854] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(675), 1, anon_sym_DOT_DOT, - ACTIONS(226), 3, + ACTIONS(240), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, - ACTIONS(224), 14, + ACTIONS(238), 14, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, @@ -18378,175 +18434,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - [15824] = 4, + [15882] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(208), 1, - anon_sym_LPAREN, - ACTIONS(206), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(204), 14, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH_GT, - [15852] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(208), 1, - anon_sym_LPAREN, - ACTIONS(212), 1, - anon_sym_COLON, - ACTIONS(206), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(204), 13, - anon_sym_RPAREN, - anon_sym_DOT_DOT, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH_GT, - [15882] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(212), 1, - anon_sym_COLON, - ACTIONS(214), 1, - anon_sym_LT, - STATE(396), 1, - sym_type_definition, - ACTIONS(206), 2, - anon_sym_DASH, - anon_sym_GT, - ACTIONS(208), 2, - anon_sym_LPAREN, - anon_sym_RPAREN, - ACTIONS(204), 11, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH_GT, - [15916] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(328), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - ACTIONS(677), 1, - anon_sym_EQ_GT, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, - sym_math_operator, - ACTIONS(332), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(326), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(330), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15953] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(328), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, ACTIONS(679), 1, - anon_sym_LBRACE, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, - sym_math_operator, - ACTIONS(332), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(326), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(330), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [15990] = 9, - ACTIONS(3), 1, - sym__comment, - ACTIONS(328), 1, - anon_sym_DASH, - ACTIONS(635), 1, anon_sym_DASH_GT, - ACTIONS(681), 1, - anon_sym_LBRACE, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, - sym_math_operator, - ACTIONS(332), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(326), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(330), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16027] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(685), 1, - anon_sym_DASH_GT, - ACTIONS(683), 16, + ACTIONS(677), 17, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_LBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_none, @@ -18560,43 +18457,86 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_num, anon_sym_str, anon_sym_option, - [16052] = 9, + [15908] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, - anon_sym_DASH, - ACTIONS(687), 1, - anon_sym_RPAREN, - ACTIONS(689), 1, + ACTIONS(683), 1, anon_sym_DASH_GT, - STATE(175), 1, - sym_math_operator, - STATE(176), 1, - sym_logic_operator, - ACTIONS(332), 2, + ACTIONS(681), 17, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_none, anon_sym_GT, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [15934] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(214), 1, + anon_sym_COLON, + ACTIONS(216), 1, anon_sym_LT, - ACTIONS(326), 4, + STATE(392), 1, + sym_type_definition, + ACTIONS(208), 2, + anon_sym_DASH, + anon_sym_GT, + ACTIONS(210), 2, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(206), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16089] = 6, + anon_sym_DASH_GT, + [15968] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(689), 1, + ACTIONS(685), 17, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_none, + anon_sym_GT, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [15991] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(687), 1, anon_sym_DASH_GT, - STATE(175), 1, - sym_math_operator, - STATE(176), 1, + STATE(158), 1, sym_logic_operator, + STATE(178), 1, + sym_math_operator, ACTIONS(198), 3, anon_sym_DASH, anon_sym_GT, @@ -18613,43 +18553,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16120] = 9, + [16022] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, + ACTIONS(330), 1, anon_sym_DASH, - ACTIONS(689), 1, + ACTIONS(635), 1, anon_sym_DASH_GT, - ACTIONS(691), 1, - anon_sym_RPAREN, - STATE(175), 1, + ACTIONS(689), 1, + anon_sym_EQ_GT, + STATE(166), 1, sym_math_operator, - STATE(176), 1, + STATE(182), 1, sym_logic_operator, - ACTIONS(332), 2, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16157] = 6, + [16059] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(689), 1, + ACTIONS(687), 1, anon_sym_DASH_GT, - STATE(175), 1, - sym_math_operator, - STATE(176), 1, + STATE(158), 1, sym_logic_operator, + STATE(178), 1, + sym_math_operator, ACTIONS(192), 3, anon_sym_DASH, anon_sym_GT, @@ -18666,43 +18606,91 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16188] = 9, + [16090] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, + ACTIONS(691), 17, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_none, + anon_sym_GT, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [16113] = 9, + ACTIONS(3), 1, + sym__comment, + ACTIONS(330), 1, anon_sym_DASH, - ACTIONS(689), 1, + ACTIONS(635), 1, anon_sym_DASH_GT, ACTIONS(693), 1, - anon_sym_RPAREN, - STATE(175), 1, + anon_sym_LBRACE, + STATE(166), 1, sym_math_operator, - STATE(176), 1, + STATE(182), 1, sym_logic_operator, - ACTIONS(332), 2, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16225] = 3, + [16150] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(697), 1, + ACTIONS(330), 1, + anon_sym_DASH, + ACTIONS(687), 1, anon_sym_DASH_GT, - ACTIONS(695), 16, + ACTIONS(695), 1, + anon_sym_RPAREN, + STATE(158), 1, + sym_logic_operator, + STATE(178), 1, + sym_math_operator, + ACTIONS(334), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(332), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [16187] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(697), 17, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_LBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_none, @@ -18716,58 +18704,98 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_num, anon_sym_str, anon_sym_option, - [16250] = 5, + [16210] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(208), 1, - anon_sym_LPAREN, + ACTIONS(330), 1, + anon_sym_DASH, + ACTIONS(687), 1, + anon_sym_DASH_GT, ACTIONS(699), 1, anon_sym_RPAREN, - ACTIONS(206), 3, - anon_sym_DASH, + STATE(158), 1, + sym_logic_operator, + STATE(178), 1, + sym_math_operator, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(204), 11, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - anon_sym_DASH_GT, - [16278] = 4, + [16247] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(208), 2, - anon_sym_LPAREN, + ACTIONS(330), 1, + anon_sym_DASH, + ACTIONS(635), 1, + anon_sym_DASH_GT, + ACTIONS(701), 1, + anon_sym_LBRACE, + STATE(166), 1, + sym_math_operator, + STATE(182), 1, + sym_logic_operator, + ACTIONS(334), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(332), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [16284] = 9, + ACTIONS(3), 1, + sym__comment, + ACTIONS(330), 1, + anon_sym_DASH, + ACTIONS(687), 1, + anon_sym_DASH_GT, + ACTIONS(703), 1, anon_sym_RPAREN, - ACTIONS(206), 3, - anon_sym_DASH, + STATE(158), 1, + sym_logic_operator, + STATE(178), 1, + sym_math_operator, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(204), 11, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - anon_sym_DASH_GT, - [16304] = 2, + [16321] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(701), 16, + ACTIONS(681), 17, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_LBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_none, @@ -18781,95 +18809,153 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_num, anon_sym_str, anon_sym_option, - [16326] = 8, + [16344] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, + ACTIONS(330), 1, anon_sym_DASH, ACTIONS(621), 1, anon_sym_DASH_GT, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, + STATE(166), 1, sym_math_operator, - ACTIONS(332), 2, + STATE(182), 1, + sym_logic_operator, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16360] = 8, + [16378] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(330), 1, + anon_sym_DASH, + ACTIONS(687), 1, + anon_sym_DASH_GT, + STATE(166), 1, + sym_math_operator, + STATE(182), 1, + sym_logic_operator, + ACTIONS(334), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(332), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [16412] = 9, + ACTIONS(3), 1, + sym__comment, + ACTIONS(705), 1, + anon_sym_LPAREN, + ACTIONS(707), 1, + anon_sym_RPAREN, + ACTIONS(709), 1, + anon_sym_LBRACE, + ACTIONS(711), 1, + anon_sym_LBRACK, + ACTIONS(715), 1, + anon_sym_option, + STATE(347), 1, + aux_sym_type_repeat1, + STATE(361), 1, + sym_type, + ACTIONS(713), 9, + anon_sym_none, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + [16448] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(194), 1, anon_sym_DASH_GT, - ACTIONS(328), 1, + ACTIONS(330), 1, anon_sym_DASH, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, + STATE(166), 1, sym_math_operator, - ACTIONS(332), 2, + STATE(182), 1, + sym_logic_operator, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16394] = 8, + [16482] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, - anon_sym_DASH, - ACTIONS(612), 1, - anon_sym_DASH_GT, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, - sym_math_operator, - ACTIONS(332), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(326), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(330), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16428] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(703), 16, + ACTIONS(210), 1, anon_sym_LPAREN, + ACTIONS(717), 1, anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_none, + ACTIONS(208), 3, + anon_sym_DASH, anon_sym_GT, + anon_sym_LT, + ACTIONS(206), 11, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH_GT, + [16510] = 9, + ACTIONS(3), 1, + sym__comment, + ACTIONS(719), 1, + anon_sym_LPAREN, + ACTIONS(722), 1, + anon_sym_RPAREN, + ACTIONS(724), 1, + anon_sym_LBRACE, + ACTIONS(727), 1, + anon_sym_LBRACK, + ACTIONS(733), 1, + anon_sym_option, + STATE(347), 1, + aux_sym_type_repeat1, + STATE(361), 1, + sym_type, + ACTIONS(730), 9, + anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, @@ -18878,597 +18964,300 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_map, anon_sym_num, anon_sym_str, - anon_sym_option, - [16450] = 8, + [16546] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, + ACTIONS(330), 1, anon_sym_DASH, - ACTIONS(338), 1, + ACTIONS(687), 1, anon_sym_DASH_GT, - STATE(164), 1, + STATE(158), 1, sym_logic_operator, - STATE(165), 1, + STATE(178), 1, sym_math_operator, - ACTIONS(332), 2, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16484] = 2, + [16580] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(695), 16, + ACTIONS(204), 1, + anon_sym_DASH_GT, + ACTIONS(330), 1, + anon_sym_DASH, + STATE(166), 1, + sym_math_operator, + STATE(182), 1, + sym_logic_operator, + ACTIONS(334), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(332), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [16614] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(210), 2, anon_sym_LPAREN, anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_none, - anon_sym_GT, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - anon_sym_option, - [16506] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(328), 1, + ACTIONS(208), 3, anon_sym_DASH, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, - sym_math_operator, - ACTIONS(332), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(206), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16540] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(328), 1, - anon_sym_DASH, - ACTIONS(669), 1, anon_sym_DASH_GT, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, - sym_math_operator, - ACTIONS(332), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(326), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(330), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16574] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(328), 1, - anon_sym_DASH, - ACTIONS(635), 1, - anon_sym_DASH_GT, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, - sym_math_operator, - ACTIONS(332), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(326), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(330), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16608] = 8, + [16640] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(318), 1, anon_sym_DASH_GT, - ACTIONS(328), 1, + ACTIONS(330), 1, anon_sym_DASH, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, + STATE(166), 1, sym_math_operator, - ACTIONS(332), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(326), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(330), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16642] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(328), 1, - anon_sym_DASH, - ACTIONS(689), 1, - anon_sym_DASH_GT, - STATE(164), 1, + STATE(182), 1, sym_logic_operator, - STATE(165), 1, + ACTIONS(334), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(332), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [16674] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(210), 1, + anon_sym_LPAREN, + ACTIONS(736), 1, + anon_sym_RPAREN, + ACTIONS(208), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(206), 11, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH_GT, + [16702] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(210), 1, + anon_sym_LPAREN, + ACTIONS(738), 1, + anon_sym_RPAREN, + ACTIONS(208), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(206), 11, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH_GT, + [16730] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(320), 1, + anon_sym_DASH_GT, + ACTIONS(330), 1, + anon_sym_DASH, + STATE(166), 1, sym_math_operator, - ACTIONS(332), 2, + STATE(182), 1, + sym_logic_operator, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16676] = 5, + [16764] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(208), 1, - anon_sym_LPAREN, - ACTIONS(705), 1, - anon_sym_RPAREN, - ACTIONS(206), 3, + ACTIONS(330), 1, anon_sym_DASH, + ACTIONS(612), 1, + anon_sym_DASH_GT, + STATE(166), 1, + sym_math_operator, + STATE(182), 1, + sym_logic_operator, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(204), 11, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - anon_sym_DASH_GT, - [16704] = 5, + [16798] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(208), 1, - anon_sym_LPAREN, - ACTIONS(707), 1, - anon_sym_RPAREN, - ACTIONS(206), 3, + ACTIONS(330), 1, anon_sym_DASH, + ACTIONS(338), 1, + anon_sym_DASH_GT, + STATE(166), 1, + sym_math_operator, + STATE(182), 1, + sym_logic_operator, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(204), 11, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - anon_sym_DASH_GT, - [16732] = 8, + [16832] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(328), 1, + ACTIONS(330), 1, anon_sym_DASH, ACTIONS(342), 1, anon_sym_DASH_GT, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, + STATE(166), 1, sym_math_operator, - ACTIONS(332), 2, + STATE(182), 1, + sym_logic_operator, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16766] = 8, + [16866] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(218), 1, - anon_sym_DASH_GT, - ACTIONS(328), 1, + ACTIONS(330), 1, anon_sym_DASH, - STATE(164), 1, - sym_logic_operator, - STATE(165), 1, - sym_math_operator, - ACTIONS(332), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(326), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(330), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [16800] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(328), 1, - anon_sym_DASH, - ACTIONS(689), 1, + ACTIONS(635), 1, anon_sym_DASH_GT, - STATE(175), 1, + STATE(166), 1, sym_math_operator, - STATE(176), 1, + STATE(182), 1, sym_logic_operator, - ACTIONS(332), 2, + ACTIONS(334), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 4, + ACTIONS(328), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(330), 6, + ACTIONS(332), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [16834] = 2, + [16900] = 9, ACTIONS(3), 1, sym__comment, - ACTIONS(709), 16, + ACTIONS(705), 1, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_none, - anon_sym_GT, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - anon_sym_option, - [16856] = 8, - ACTIONS(3), 1, - sym__comment, + ACTIONS(709), 1, + anon_sym_LBRACE, ACTIONS(711), 1, - anon_sym_LPAREN, - ACTIONS(714), 1, + anon_sym_LBRACK, + ACTIONS(715), 1, + anon_sym_option, + ACTIONS(740), 1, anon_sym_RPAREN, - ACTIONS(716), 1, - anon_sym_LBRACK, - ACTIONS(722), 1, - anon_sym_option, - STATE(358), 1, - aux_sym_type_repeat1, - STATE(364), 1, - sym_type, - ACTIONS(719), 9, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [16889] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(725), 1, - anon_sym_RPAREN, - ACTIONS(246), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(244), 11, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH_GT, - [16914] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(727), 1, - anon_sym_RPAREN, - ACTIONS(246), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(244), 11, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH_GT, - [16939] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(729), 1, - anon_sym_RPAREN, - ACTIONS(246), 3, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(244), 11, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH_GT, - [16964] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(731), 1, - anon_sym_LPAREN, - ACTIONS(733), 1, - anon_sym_RPAREN, - ACTIONS(735), 1, - anon_sym_LBRACK, - ACTIONS(739), 1, - anon_sym_option, - STATE(363), 1, - aux_sym_type_repeat1, - STATE(364), 1, - sym_type, - ACTIONS(737), 9, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [16997] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(731), 1, - anon_sym_LPAREN, - ACTIONS(735), 1, - anon_sym_LBRACK, - ACTIONS(739), 1, - anon_sym_option, - ACTIONS(741), 1, - anon_sym_RPAREN, - STATE(358), 1, - aux_sym_type_repeat1, - STATE(364), 1, - sym_type, - ACTIONS(737), 9, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [17030] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(745), 1, - anon_sym_COMMA, - ACTIONS(743), 13, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - anon_sym_option, - [17052] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(731), 1, - anon_sym_LPAREN, - ACTIONS(735), 1, - anon_sym_LBRACK, - ACTIONS(739), 1, - anon_sym_option, - STATE(418), 1, - sym_type, - ACTIONS(737), 9, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [17079] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(731), 1, - anon_sym_LPAREN, - ACTIONS(735), 1, - anon_sym_LBRACK, - ACTIONS(739), 1, - anon_sym_option, - STATE(415), 1, - sym_type, - ACTIONS(737), 9, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [17106] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(731), 1, - anon_sym_LPAREN, - ACTIONS(735), 1, - anon_sym_LBRACK, - ACTIONS(739), 1, - anon_sym_option, - STATE(436), 1, - sym_type, - ACTIONS(737), 9, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [17133] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(731), 1, - anon_sym_LPAREN, - ACTIONS(735), 1, - anon_sym_LBRACK, - ACTIONS(739), 1, - anon_sym_option, - STATE(340), 1, - sym_type, - ACTIONS(737), 9, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [17160] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(714), 13, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_none, - anon_sym_any, - anon_sym_bool, - anon_sym_collection, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - anon_sym_option, - [17179] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(731), 1, - anon_sym_LPAREN, - ACTIONS(735), 1, - anon_sym_LBRACK, - ACTIONS(739), 1, - anon_sym_option, STATE(344), 1, + aux_sym_type_repeat1, + STATE(361), 1, sym_type, - ACTIONS(737), 9, + ACTIONS(713), 9, anon_sym_none, anon_sym_any, anon_sym_bool, @@ -19478,541 +19267,801 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_map, anon_sym_num, anon_sym_str, - [17206] = 7, + [16936] = 8, ACTIONS(3), 1, sym__comment, - ACTIONS(535), 1, - sym_identifier, - ACTIONS(614), 1, - anon_sym_elseif, - ACTIONS(747), 1, - anon_sym_else, - STATE(285), 1, - sym_else, - STATE(248), 2, - sym_else_if, - aux_sym_if_else_repeat1, - ACTIONS(533), 3, - anon_sym_SEMI, + ACTIONS(330), 1, + anon_sym_DASH, + ACTIONS(653), 1, + anon_sym_DASH_GT, + STATE(166), 1, + sym_math_operator, + STATE(182), 1, + sym_logic_operator, + ACTIONS(334), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(332), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [16970] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(744), 1, anon_sym_COMMA, + ACTIONS(742), 14, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_none, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [16993] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(746), 1, + anon_sym_RPAREN, + ACTIONS(284), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(282), 11, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH_GT, + [17018] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(748), 1, + anon_sym_RPAREN, + ACTIONS(284), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(282), 11, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH_GT, + [17043] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(750), 1, + anon_sym_RPAREN, + ACTIONS(284), 3, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(282), 11, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH_GT, + [17068] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(705), 1, + anon_sym_LPAREN, + ACTIONS(709), 1, + anon_sym_LBRACE, + ACTIONS(711), 1, + anon_sym_LBRACK, + ACTIONS(715), 1, + anon_sym_option, + STATE(337), 1, + sym_type, + ACTIONS(713), 9, + anon_sym_none, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + [17098] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(705), 1, + anon_sym_LPAREN, + ACTIONS(709), 1, + anon_sym_LBRACE, + ACTIONS(711), 1, + anon_sym_LBRACK, + ACTIONS(715), 1, + anon_sym_option, + STATE(430), 1, + sym_type, + ACTIONS(713), 9, + anon_sym_none, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + [17128] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(705), 1, + anon_sym_LPAREN, + ACTIONS(709), 1, + anon_sym_LBRACE, + ACTIONS(711), 1, + anon_sym_LBRACK, + ACTIONS(715), 1, + anon_sym_option, + STATE(420), 1, + sym_type, + ACTIONS(713), 9, + anon_sym_none, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + [17158] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(705), 1, + anon_sym_LPAREN, + ACTIONS(709), 1, + anon_sym_LBRACE, + ACTIONS(711), 1, + anon_sym_LBRACK, + ACTIONS(715), 1, + anon_sym_option, + STATE(437), 1, + sym_type, + ACTIONS(713), 9, + anon_sym_none, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + [17188] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(705), 1, + anon_sym_LPAREN, + ACTIONS(709), 1, + anon_sym_LBRACE, + ACTIONS(711), 1, + anon_sym_LBRACK, + ACTIONS(715), 1, + anon_sym_option, + STATE(334), 1, + sym_type, + ACTIONS(713), 9, + anon_sym_none, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + [17218] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(722), 14, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_none, + anon_sym_any, + anon_sym_bool, + anon_sym_collection, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [17238] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(752), 2, + anon_sym_async, + sym_identifier, + ACTIONS(754), 7, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACE, anon_sym_RBRACE, - [17231] = 7, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [17255] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(543), 1, sym_identifier, ACTIONS(614), 1, anon_sym_elseif, - ACTIONS(747), 1, + ACTIONS(756), 1, anon_sym_else, - STATE(293), 1, + STATE(290), 1, sym_else, - STATE(371), 2, + STATE(373), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(541), 3, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, - [17256] = 3, + [17280] = 7, ACTIONS(3), 1, sym__comment, - ACTIONS(749), 2, - anon_sym_async, + ACTIONS(535), 1, sym_identifier, - ACTIONS(751), 6, - anon_sym_RPAREN, + ACTIONS(614), 1, + anon_sym_elseif, + ACTIONS(756), 1, + anon_sym_else, + STATE(288), 1, + sym_else, + STATE(266), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(533), 3, + anon_sym_SEMI, anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - [17272] = 3, + anon_sym_RBRACE, + [17305] = 3, ACTIONS(3), 1, sym__comment, - STATE(41), 1, + STATE(29), 1, sym_assignment_operator, - ACTIONS(216), 3, + ACTIONS(218), 3, anon_sym_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - [17284] = 4, + [17317] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(753), 1, - anon_sym_EQ, - STATE(36), 1, + STATE(33), 1, sym_assignment_operator, - ACTIONS(216), 2, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - [17298] = 3, - ACTIONS(3), 1, - sym__comment, - STATE(32), 1, - sym_assignment_operator, - ACTIONS(216), 3, + ACTIONS(218), 3, anon_sym_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - [17310] = 3, + [17329] = 3, ACTIONS(3), 1, sym__comment, - STATE(36), 1, + STATE(27), 1, sym_assignment_operator, - ACTIONS(216), 3, + ACTIONS(218), 3, anon_sym_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - [17322] = 4, + [17341] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(671), 1, + ACTIONS(758), 1, + anon_sym_EQ, + STATE(29), 1, + sym_assignment_operator, + ACTIONS(218), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [17355] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(667), 1, anon_sym_async, - ACTIONS(673), 1, + ACTIONS(669), 1, anon_sym_LBRACE, - STATE(266), 1, + STATE(58), 1, sym_block, - [17335] = 4, + [17368] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(671), 1, - anon_sym_async, - ACTIONS(673), 1, - anon_sym_LBRACE, - STATE(296), 1, - sym_block, - [17348] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(653), 1, - anon_sym_async, - ACTIONS(655), 1, - anon_sym_LBRACE, - STATE(296), 1, - sym_block, - [17361] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(755), 1, - sym_identifier, - ACTIONS(757), 1, - anon_sym_RPAREN, - STATE(398), 1, - aux_sym_function_repeat1, - [17374] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(671), 1, - anon_sym_async, - ACTIONS(673), 1, - anon_sym_LBRACE, - STATE(251), 1, - sym_block, - [17387] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(755), 1, - sym_identifier, - ACTIONS(759), 1, - anon_sym_RPAREN, - STATE(398), 1, - aux_sym_function_repeat1, - [17400] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(761), 1, + ACTIONS(760), 1, sym_identifier, ACTIONS(763), 1, anon_sym_RBRACE, - STATE(394), 1, + STATE(379), 1, aux_sym_map_repeat1, - [17413] = 4, + [17381] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(653), 1, - anon_sym_async, - ACTIONS(655), 1, - anon_sym_LBRACE, - STATE(92), 1, - sym_block, - [17426] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(767), 1, - anon_sym_COMMA, - ACTIONS(765), 2, - anon_sym_RBRACE, + ACTIONS(765), 1, sym_identifier, - [17437] = 4, + ACTIONS(767), 1, + anon_sym_RBRACE, + STATE(379), 1, + aux_sym_map_repeat1, + [17394] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(761), 1, + ACTIONS(765), 1, sym_identifier, ACTIONS(769), 1, anon_sym_RBRACE, - STATE(394), 1, + STATE(379), 1, aux_sym_map_repeat1, - [17450] = 4, + [17407] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(755), 1, - sym_identifier, - ACTIONS(771), 1, - anon_sym_RPAREN, - STATE(398), 1, - aux_sym_function_repeat1, - [17463] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(761), 1, - sym_identifier, - ACTIONS(773), 1, - anon_sym_RBRACE, - STATE(394), 1, - aux_sym_map_repeat1, - [17476] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(653), 1, - anon_sym_async, ACTIONS(655), 1, - anon_sym_LBRACE, - STATE(98), 1, - sym_block, - [17489] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(657), 1, anon_sym_async, - ACTIONS(659), 1, - anon_sym_LBRACE, - STATE(77), 1, - sym_block, - [17502] = 4, - ACTIONS(3), 1, - sym__comment, ACTIONS(657), 1, - anon_sym_async, - ACTIONS(659), 1, anon_sym_LBRACE, - STATE(222), 1, + STATE(97), 1, sym_block, - [17515] = 3, + [17420] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(777), 1, + ACTIONS(773), 1, anon_sym_COMMA, - ACTIONS(775), 2, + ACTIONS(771), 2, anon_sym_RBRACE, sym_identifier, - [17526] = 4, + [17431] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(775), 1, + sym_identifier, + ACTIONS(777), 1, + anon_sym_RPAREN, + STATE(394), 1, + aux_sym_function_repeat1, + [17444] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(667), 1, + anon_sym_async, + ACTIONS(669), 1, + anon_sym_LBRACE, + STATE(227), 1, + sym_block, + [17457] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(779), 1, - sym_identifier, - ACTIONS(782), 1, - anon_sym_RBRACE, - STATE(394), 1, - aux_sym_map_repeat1, - [17539] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(657), 1, - anon_sym_async, - ACTIONS(659), 1, - anon_sym_LBRACE, - STATE(51), 1, - sym_block, - [17552] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(786), 1, - anon_sym_COMMA, - ACTIONS(784), 2, - anon_sym_RPAREN, - sym_identifier, - [17563] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(788), 1, anon_sym_EQ, - ACTIONS(790), 1, + ACTIONS(781), 1, anon_sym_LT, - STATE(424), 1, + STATE(442), 1, sym_type_definition, - [17576] = 4, + [17470] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(784), 1, - anon_sym_RPAREN, - ACTIONS(792), 1, + ACTIONS(785), 1, + anon_sym_COMMA, + ACTIONS(783), 2, + anon_sym_RBRACE, sym_identifier, - STATE(398), 1, + [17481] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(663), 1, + anon_sym_async, + ACTIONS(665), 1, + anon_sym_LBRACE, + STATE(253), 1, + sym_block, + [17494] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(667), 1, + anon_sym_async, + ACTIONS(669), 1, + anon_sym_LBRACE, + STATE(70), 1, + sym_block, + [17507] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(663), 1, + anon_sym_async, + ACTIONS(665), 1, + anon_sym_LBRACE, + STATE(295), 1, + sym_block, + [17520] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(663), 1, + anon_sym_async, + ACTIONS(665), 1, + anon_sym_LBRACE, + STATE(272), 1, + sym_block, + [17533] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(789), 1, + anon_sym_COMMA, + ACTIONS(787), 2, + anon_sym_RPAREN, + sym_identifier, + [17544] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(655), 1, + anon_sym_async, + ACTIONS(657), 1, + anon_sym_LBRACE, + STATE(295), 1, + sym_block, + [17557] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(787), 1, + anon_sym_RPAREN, + ACTIONS(791), 1, + sym_identifier, + STATE(394), 1, aux_sym_function_repeat1, - [17589] = 2, + [17570] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(795), 2, - anon_sym_RBRACE, + ACTIONS(655), 1, + anon_sym_async, + ACTIONS(657), 1, + anon_sym_LBRACE, + STATE(105), 1, + sym_block, + [17583] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(775), 1, sym_identifier, - [17597] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(761), 1, - sym_identifier, - STATE(384), 1, - aux_sym_map_repeat1, - [17607] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(775), 2, - anon_sym_RBRACE, - sym_identifier, - [17615] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(266), 1, - anon_sym_LPAREN, - ACTIONS(797), 1, + ACTIONS(794), 1, anon_sym_RPAREN, - [17625] = 3, + STATE(394), 1, + aux_sym_function_repeat1, + [17596] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(790), 1, - anon_sym_LT, - STATE(391), 1, - sym_type_definition, - [17635] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(790), 1, - anon_sym_LT, - STATE(396), 1, - sym_type_definition, - [17645] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(790), 1, - anon_sym_LT, - STATE(395), 1, - sym_type_definition, - [17655] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(761), 1, + ACTIONS(775), 1, sym_identifier, - STATE(389), 1, + ACTIONS(796), 1, + anon_sym_RPAREN, + STATE(394), 1, + aux_sym_function_repeat1, + [17609] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(765), 1, + sym_identifier, + ACTIONS(798), 1, + anon_sym_RBRACE, + STATE(379), 1, aux_sym_map_repeat1, - [17665] = 3, + [17622] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(790), 1, + ACTIONS(800), 2, + anon_sym_RPAREN, + sym_identifier, + [17630] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(254), 1, + anon_sym_LPAREN, + ACTIONS(802), 1, + anon_sym_RPAREN, + [17640] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(254), 1, + anon_sym_LPAREN, + ACTIONS(804), 1, + anon_sym_RPAREN, + [17650] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(781), 1, anon_sym_LT, - STATE(385), 1, + STATE(423), 1, sym_type_definition, - [17675] = 3, + [17660] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(790), 1, + ACTIONS(781), 1, + anon_sym_LT, + STATE(392), 1, + sym_type_definition, + [17670] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(781), 1, + anon_sym_LT, + STATE(389), 1, + sym_type_definition, + [17680] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(781), 1, + anon_sym_LT, + STATE(388), 1, + sym_type_definition, + [17690] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(765), 1, + sym_identifier, + STATE(381), 1, + aux_sym_map_repeat1, + [17700] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(771), 2, + anon_sym_RBRACE, + sym_identifier, + [17708] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(781), 1, anon_sym_LT, STATE(378), 1, sym_type_definition, - [17685] = 3, + [17718] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(761), 1, + ACTIONS(765), 1, sym_identifier, - STATE(387), 1, + STATE(380), 1, aux_sym_map_repeat1, - [17695] = 2, + [17728] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(799), 2, - anon_sym_RPAREN, + ACTIONS(781), 1, + anon_sym_LT, + STATE(395), 1, + sym_type_definition, + [17738] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(781), 1, + anon_sym_LT, + STATE(391), 1, + sym_type_definition, + [17748] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(806), 2, + anon_sym_RBRACE, sym_identifier, - [17703] = 3, + [17756] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(790), 1, + ACTIONS(254), 1, + anon_sym_LPAREN, + ACTIONS(808), 1, + anon_sym_RPAREN, + [17766] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(781), 1, anon_sym_LT, STATE(382), 1, sym_type_definition, - [17713] = 3, + [17776] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(266), 1, + ACTIONS(765), 1, + sym_identifier, + STATE(398), 1, + aux_sym_map_repeat1, + [17786] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(810), 1, + sym_identifier, + [17793] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(812), 1, + anon_sym_LBRACE, + [17800] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(814), 1, + anon_sym_in, + [17807] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(816), 1, anon_sym_LPAREN, - ACTIONS(801), 1, + [17814] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(818), 1, anon_sym_RPAREN, - [17723] = 3, + [17821] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(266), 1, - anon_sym_LPAREN, - ACTIONS(803), 1, - anon_sym_RPAREN, - [17733] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(790), 1, - anon_sym_LT, - STATE(390), 1, - sym_type_definition, - [17743] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(805), 1, - anon_sym_RBRACK, - [17750] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(807), 1, - anon_sym_LBRACE, - [17757] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(809), 1, - anon_sym_LPAREN, - [17764] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(811), 1, - anon_sym_GT, - [17771] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(813), 1, + ACTIONS(820), 1, anon_sym_in, - [17778] = 2, + [17828] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(815), 1, + ACTIONS(822), 1, anon_sym_COLON, - [17785] = 2, + [17835] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(817), 1, + ACTIONS(818), 1, + anon_sym_RBRACE, + [17842] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(824), 1, anon_sym_COLON, - [17792] = 2, + [17849] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(819), 1, + ACTIONS(826), 1, + anon_sym_COLON, + [17856] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(828), 1, + anon_sym_COLON, + [17863] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(830), 1, anon_sym_LBRACE, - [17799] = 2, + [17870] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(821), 1, - anon_sym_COLON, - [17806] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(823), 1, - anon_sym_EQ, - [17813] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(825), 1, - anon_sym_in, - [17820] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(827), 1, - anon_sym_COLON, - [17827] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(829), 1, - anon_sym_in, - [17834] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(831), 1, - anon_sym_LBRACE, - [17841] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(833), 1, - anon_sym_LBRACE, - [17848] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(835), 1, - anon_sym_LPAREN, - [17855] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(677), 1, + ACTIONS(689), 1, anon_sym_EQ_GT, - [17862] = 2, + [17877] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(837), 1, - anon_sym_LPAREN, - [17869] = 2, + ACTIONS(832), 1, + anon_sym_COLON, + [17884] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(839), 1, - sym_identifier, - [17876] = 2, + ACTIONS(834), 1, + anon_sym_RBRACK, + [17891] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(841), 1, + ACTIONS(836), 1, anon_sym_LBRACE, - [17883] = 2, + [17898] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(843), 1, + ACTIONS(838), 1, anon_sym_COLON, - [17890] = 2, + [17905] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(845), 1, - anon_sym_RPAREN, - [17897] = 2, + ACTIONS(840), 1, + anon_sym_LBRACE, + [17912] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(847), 1, + ACTIONS(842), 1, anon_sym_LPAREN, - [17904] = 2, + [17919] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(849), 1, + ACTIONS(844), 1, + anon_sym_LPAREN, + [17926] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(846), 1, + sym_identifier, + [17933] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(848), 1, + anon_sym_GT, + [17940] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(850), 1, + anon_sym_LBRACE, + [17947] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(852), 1, + anon_sym_in, + [17954] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(854), 1, + anon_sym_LPAREN, + [17961] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(856), 1, anon_sym_COLON, - [17911] = 2, + [17968] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(851), 1, - anon_sym_LPAREN, - [17918] = 2, + ACTIONS(858), 1, + anon_sym_EQ, + [17975] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(853), 1, + ACTIONS(860), 1, ts_builtin_sym_end, - [17925] = 2, + [17982] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(855), 1, + ACTIONS(862), 1, sym_identifier, - [17932] = 2, + [17989] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(857), 1, - anon_sym_COLON, - [17939] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(859), 1, + ACTIONS(864), 1, anon_sym_LPAREN, - [17946] = 2, + [17996] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(861), 1, + ACTIONS(866), 1, + anon_sym_LPAREN, + [18003] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(868), 1, sym_identifier, - [17953] = 2, + [18010] = 2, ACTIONS(3), 1, sym__comment, - ACTIONS(863), 1, + ACTIONS(870), 1, anon_sym_LPAREN, }; @@ -20021,27 +20070,27 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(45)] = 65, [SMALL_STATE(46)] = 130, [SMALL_STATE(47)] = 193, - [SMALL_STATE(48)] = 265, - [SMALL_STATE(49)] = 329, + [SMALL_STATE(48)] = 257, + [SMALL_STATE(49)] = 321, [SMALL_STATE(50)] = 393, [SMALL_STATE(51)] = 455, [SMALL_STATE(52)] = 512, - [SMALL_STATE(53)] = 571, - [SMALL_STATE(54)] = 628, - [SMALL_STATE(55)] = 699, - [SMALL_STATE(56)] = 756, - [SMALL_STATE(57)] = 813, - [SMALL_STATE(58)] = 870, - [SMALL_STATE(59)] = 927, - [SMALL_STATE(60)] = 984, + [SMALL_STATE(53)] = 569, + [SMALL_STATE(54)] = 626, + [SMALL_STATE(55)] = 697, + [SMALL_STATE(56)] = 754, + [SMALL_STATE(57)] = 811, + [SMALL_STATE(58)] = 868, + [SMALL_STATE(59)] = 925, + [SMALL_STATE(60)] = 982, [SMALL_STATE(61)] = 1041, - [SMALL_STATE(62)] = 1102, - [SMALL_STATE(63)] = 1169, - [SMALL_STATE(64)] = 1226, - [SMALL_STATE(65)] = 1283, - [SMALL_STATE(66)] = 1340, - [SMALL_STATE(67)] = 1397, - [SMALL_STATE(68)] = 1454, + [SMALL_STATE(62)] = 1098, + [SMALL_STATE(63)] = 1155, + [SMALL_STATE(64)] = 1212, + [SMALL_STATE(65)] = 1271, + [SMALL_STATE(66)] = 1328, + [SMALL_STATE(67)] = 1385, + [SMALL_STATE(68)] = 1452, [SMALL_STATE(69)] = 1513, [SMALL_STATE(70)] = 1570, [SMALL_STATE(71)] = 1627, @@ -20055,80 +20104,80 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(79)] = 2083, [SMALL_STATE(80)] = 2140, [SMALL_STATE(81)] = 2200, - [SMALL_STATE(82)] = 2258, - [SMALL_STATE(83)] = 2318, - [SMALL_STATE(84)] = 2378, - [SMALL_STATE(85)] = 2438, - [SMALL_STATE(86)] = 2506, + [SMALL_STATE(82)] = 2260, + [SMALL_STATE(83)] = 2320, + [SMALL_STATE(84)] = 2380, + [SMALL_STATE(85)] = 2450, + [SMALL_STATE(86)] = 2518, [SMALL_STATE(87)] = 2576, [SMALL_STATE(88)] = 2631, [SMALL_STATE(89)] = 2690, - [SMALL_STATE(90)] = 2747, + [SMALL_STATE(90)] = 2749, [SMALL_STATE(91)] = 2806, [SMALL_STATE(92)] = 2858, [SMALL_STATE(93)] = 2910, [SMALL_STATE(94)] = 2962, [SMALL_STATE(95)] = 3014, - [SMALL_STATE(96)] = 3070, - [SMALL_STATE(97)] = 3122, - [SMALL_STATE(98)] = 3174, - [SMALL_STATE(99)] = 3226, - [SMALL_STATE(100)] = 3278, - [SMALL_STATE(101)] = 3330, - [SMALL_STATE(102)] = 3382, - [SMALL_STATE(103)] = 3434, - [SMALL_STATE(104)] = 3488, - [SMALL_STATE(105)] = 3540, - [SMALL_STATE(106)] = 3592, - [SMALL_STATE(107)] = 3644, - [SMALL_STATE(108)] = 3696, - [SMALL_STATE(109)] = 3748, - [SMALL_STATE(110)] = 3802, - [SMALL_STATE(111)] = 3854, - [SMALL_STATE(112)] = 3906, - [SMALL_STATE(113)] = 3958, - [SMALL_STATE(114)] = 4010, - [SMALL_STATE(115)] = 4062, - [SMALL_STATE(116)] = 4114, + [SMALL_STATE(96)] = 3066, + [SMALL_STATE(97)] = 3118, + [SMALL_STATE(98)] = 3170, + [SMALL_STATE(99)] = 3222, + [SMALL_STATE(100)] = 3274, + [SMALL_STATE(101)] = 3328, + [SMALL_STATE(102)] = 3380, + [SMALL_STATE(103)] = 3432, + [SMALL_STATE(104)] = 3484, + [SMALL_STATE(105)] = 3536, + [SMALL_STATE(106)] = 3588, + [SMALL_STATE(107)] = 3640, + [SMALL_STATE(108)] = 3692, + [SMALL_STATE(109)] = 3744, + [SMALL_STATE(110)] = 3800, + [SMALL_STATE(111)] = 3852, + [SMALL_STATE(112)] = 3904, + [SMALL_STATE(113)] = 3956, + [SMALL_STATE(114)] = 4008, + [SMALL_STATE(115)] = 4060, + [SMALL_STATE(116)] = 4112, [SMALL_STATE(117)] = 4166, [SMALL_STATE(118)] = 4218, [SMALL_STATE(119)] = 4283, [SMALL_STATE(120)] = 4343, [SMALL_STATE(121)] = 4398, [SMALL_STATE(122)] = 4453, - [SMALL_STATE(123)] = 4539, + [SMALL_STATE(123)] = 4503, [SMALL_STATE(124)] = 4589, [SMALL_STATE(125)] = 4675, [SMALL_STATE(126)] = 4761, - [SMALL_STATE(127)] = 4824, - [SMALL_STATE(128)] = 4909, - [SMALL_STATE(129)] = 4970, - [SMALL_STATE(130)] = 5053, - [SMALL_STATE(131)] = 5136, - [SMALL_STATE(132)] = 5219, - [SMALL_STATE(133)] = 5302, - [SMALL_STATE(134)] = 5387, - [SMALL_STATE(135)] = 5472, - [SMALL_STATE(136)] = 5557, - [SMALL_STATE(137)] = 5640, - [SMALL_STATE(138)] = 5725, - [SMALL_STATE(139)] = 5808, - [SMALL_STATE(140)] = 5891, - [SMALL_STATE(141)] = 5976, - [SMALL_STATE(142)] = 6061, - [SMALL_STATE(143)] = 6144, - [SMALL_STATE(144)] = 6227, - [SMALL_STATE(145)] = 6310, - [SMALL_STATE(146)] = 6395, - [SMALL_STATE(147)] = 6478, + [SMALL_STATE(127)] = 4846, + [SMALL_STATE(128)] = 4929, + [SMALL_STATE(129)] = 5012, + [SMALL_STATE(130)] = 5097, + [SMALL_STATE(131)] = 5160, + [SMALL_STATE(132)] = 5243, + [SMALL_STATE(133)] = 5328, + [SMALL_STATE(134)] = 5413, + [SMALL_STATE(135)] = 5496, + [SMALL_STATE(136)] = 5579, + [SMALL_STATE(137)] = 5662, + [SMALL_STATE(138)] = 5745, + [SMALL_STATE(139)] = 5828, + [SMALL_STATE(140)] = 5911, + [SMALL_STATE(141)] = 5972, + [SMALL_STATE(142)] = 6055, + [SMALL_STATE(143)] = 6140, + [SMALL_STATE(144)] = 6223, + [SMALL_STATE(145)] = 6306, + [SMALL_STATE(146)] = 6391, + [SMALL_STATE(147)] = 6476, [SMALL_STATE(148)] = 6561, - [SMALL_STATE(149)] = 6646, - [SMALL_STATE(150)] = 6729, - [SMALL_STATE(151)] = 6812, - [SMALL_STATE(152)] = 6895, - [SMALL_STATE(153)] = 6978, - [SMALL_STATE(154)] = 7061, - [SMALL_STATE(155)] = 7144, + [SMALL_STATE(149)] = 6644, + [SMALL_STATE(150)] = 6727, + [SMALL_STATE(151)] = 6810, + [SMALL_STATE(152)] = 6893, + [SMALL_STATE(153)] = 6976, + [SMALL_STATE(154)] = 7059, + [SMALL_STATE(155)] = 7142, [SMALL_STATE(156)] = 7227, [SMALL_STATE(157)] = 7289, [SMALL_STATE(158)] = 7351, @@ -20136,55 +20185,55 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(160)] = 7505, [SMALL_STATE(161)] = 7582, [SMALL_STATE(162)] = 7659, - [SMALL_STATE(163)] = 7736, - [SMALL_STATE(164)] = 7813, - [SMALL_STATE(165)] = 7890, - [SMALL_STATE(166)] = 7967, - [SMALL_STATE(167)] = 8044, - [SMALL_STATE(168)] = 8121, - [SMALL_STATE(169)] = 8198, - [SMALL_STATE(170)] = 8275, - [SMALL_STATE(171)] = 8352, - [SMALL_STATE(172)] = 8429, - [SMALL_STATE(173)] = 8502, - [SMALL_STATE(174)] = 8579, - [SMALL_STATE(175)] = 8654, - [SMALL_STATE(176)] = 8731, - [SMALL_STATE(177)] = 8808, - [SMALL_STATE(178)] = 8883, - [SMALL_STATE(179)] = 8956, - [SMALL_STATE(180)] = 9033, - [SMALL_STATE(181)] = 9110, - [SMALL_STATE(182)] = 9187, - [SMALL_STATE(183)] = 9264, - [SMALL_STATE(184)] = 9341, - [SMALL_STATE(185)] = 9418, - [SMALL_STATE(186)] = 9495, - [SMALL_STATE(187)] = 9572, - [SMALL_STATE(188)] = 9649, - [SMALL_STATE(189)] = 9726, - [SMALL_STATE(190)] = 9803, - [SMALL_STATE(191)] = 9880, - [SMALL_STATE(192)] = 9957, - [SMALL_STATE(193)] = 10034, - [SMALL_STATE(194)] = 10111, - [SMALL_STATE(195)] = 10184, - [SMALL_STATE(196)] = 10257, - [SMALL_STATE(197)] = 10332, - [SMALL_STATE(198)] = 10405, - [SMALL_STATE(199)] = 10478, - [SMALL_STATE(200)] = 10555, - [SMALL_STATE(201)] = 10632, - [SMALL_STATE(202)] = 10709, - [SMALL_STATE(203)] = 10786, - [SMALL_STATE(204)] = 10861, - [SMALL_STATE(205)] = 10938, - [SMALL_STATE(206)] = 11015, - [SMALL_STATE(207)] = 11092, - [SMALL_STATE(208)] = 11169, - [SMALL_STATE(209)] = 11246, + [SMALL_STATE(163)] = 7734, + [SMALL_STATE(164)] = 7811, + [SMALL_STATE(165)] = 7888, + [SMALL_STATE(166)] = 7965, + [SMALL_STATE(167)] = 8042, + [SMALL_STATE(168)] = 8115, + [SMALL_STATE(169)] = 8192, + [SMALL_STATE(170)] = 8269, + [SMALL_STATE(171)] = 8346, + [SMALL_STATE(172)] = 8423, + [SMALL_STATE(173)] = 8500, + [SMALL_STATE(174)] = 8577, + [SMALL_STATE(175)] = 8652, + [SMALL_STATE(176)] = 8729, + [SMALL_STATE(177)] = 8802, + [SMALL_STATE(178)] = 8877, + [SMALL_STATE(179)] = 8954, + [SMALL_STATE(180)] = 9031, + [SMALL_STATE(181)] = 9108, + [SMALL_STATE(182)] = 9185, + [SMALL_STATE(183)] = 9262, + [SMALL_STATE(184)] = 9339, + [SMALL_STATE(185)] = 9416, + [SMALL_STATE(186)] = 9493, + [SMALL_STATE(187)] = 9570, + [SMALL_STATE(188)] = 9647, + [SMALL_STATE(189)] = 9724, + [SMALL_STATE(190)] = 9801, + [SMALL_STATE(191)] = 9878, + [SMALL_STATE(192)] = 9951, + [SMALL_STATE(193)] = 10024, + [SMALL_STATE(194)] = 10101, + [SMALL_STATE(195)] = 10176, + [SMALL_STATE(196)] = 10253, + [SMALL_STATE(197)] = 10330, + [SMALL_STATE(198)] = 10407, + [SMALL_STATE(199)] = 10484, + [SMALL_STATE(200)] = 10561, + [SMALL_STATE(201)] = 10638, + [SMALL_STATE(202)] = 10715, + [SMALL_STATE(203)] = 10792, + [SMALL_STATE(204)] = 10869, + [SMALL_STATE(205)] = 10946, + [SMALL_STATE(206)] = 11023, + [SMALL_STATE(207)] = 11100, + [SMALL_STATE(208)] = 11173, + [SMALL_STATE(209)] = 11250, [SMALL_STATE(210)] = 11323, - [SMALL_STATE(211)] = 11396, + [SMALL_STATE(211)] = 11400, [SMALL_STATE(212)] = 11473, [SMALL_STATE(213)] = 11524, [SMALL_STATE(214)] = 11575, @@ -20212,41 +20261,41 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(236)] = 12476, [SMALL_STATE(237)] = 12535, [SMALL_STATE(238)] = 12578, - [SMALL_STATE(239)] = 12621, - [SMALL_STATE(240)] = 12666, + [SMALL_STATE(239)] = 12637, + [SMALL_STATE(240)] = 12680, [SMALL_STATE(241)] = 12725, [SMALL_STATE(242)] = 12784, [SMALL_STATE(243)] = 12843, - [SMALL_STATE(244)] = 12888, + [SMALL_STATE(244)] = 12902, [SMALL_STATE(245)] = 12947, - [SMALL_STATE(246)] = 12983, - [SMALL_STATE(247)] = 13019, - [SMALL_STATE(248)] = 13055, - [SMALL_STATE(249)] = 13095, - [SMALL_STATE(250)] = 13131, - [SMALL_STATE(251)] = 13167, - [SMALL_STATE(252)] = 13203, - [SMALL_STATE(253)] = 13243, - [SMALL_STATE(254)] = 13279, - [SMALL_STATE(255)] = 13315, - [SMALL_STATE(256)] = 13351, - [SMALL_STATE(257)] = 13387, - [SMALL_STATE(258)] = 13423, + [SMALL_STATE(246)] = 12985, + [SMALL_STATE(247)] = 13021, + [SMALL_STATE(248)] = 13057, + [SMALL_STATE(249)] = 13097, + [SMALL_STATE(250)] = 13133, + [SMALL_STATE(251)] = 13173, + [SMALL_STATE(252)] = 13209, + [SMALL_STATE(253)] = 13245, + [SMALL_STATE(254)] = 13281, + [SMALL_STATE(255)] = 13317, + [SMALL_STATE(256)] = 13353, + [SMALL_STATE(257)] = 13389, + [SMALL_STATE(258)] = 13425, [SMALL_STATE(259)] = 13461, - [SMALL_STATE(260)] = 13501, - [SMALL_STATE(261)] = 13537, - [SMALL_STATE(262)] = 13573, - [SMALL_STATE(263)] = 13609, - [SMALL_STATE(264)] = 13645, - [SMALL_STATE(265)] = 13681, - [SMALL_STATE(266)] = 13717, + [SMALL_STATE(260)] = 13497, + [SMALL_STATE(261)] = 13533, + [SMALL_STATE(262)] = 13569, + [SMALL_STATE(263)] = 13605, + [SMALL_STATE(264)] = 13641, + [SMALL_STATE(265)] = 13677, + [SMALL_STATE(266)] = 13713, [SMALL_STATE(267)] = 13753, [SMALL_STATE(268)] = 13789, [SMALL_STATE(269)] = 13825, [SMALL_STATE(270)] = 13861, - [SMALL_STATE(271)] = 13903, + [SMALL_STATE(271)] = 13897, [SMALL_STATE(272)] = 13939, - [SMALL_STATE(273)] = 13981, + [SMALL_STATE(273)] = 13975, [SMALL_STATE(274)] = 14017, [SMALL_STATE(275)] = 14053, [SMALL_STATE(276)] = 14088, @@ -20258,19 +20307,19 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(282)] = 14295, [SMALL_STATE(283)] = 14342, [SMALL_STATE(284)] = 14374, - [SMALL_STATE(285)] = 14408, - [SMALL_STATE(286)] = 14440, - [SMALL_STATE(287)] = 14474, - [SMALL_STATE(288)] = 14506, - [SMALL_STATE(289)] = 14538, - [SMALL_STATE(290)] = 14570, - [SMALL_STATE(291)] = 14602, - [SMALL_STATE(292)] = 14634, + [SMALL_STATE(285)] = 14406, + [SMALL_STATE(286)] = 14438, + [SMALL_STATE(287)] = 14470, + [SMALL_STATE(288)] = 14502, + [SMALL_STATE(289)] = 14534, + [SMALL_STATE(290)] = 14568, + [SMALL_STATE(291)] = 14600, + [SMALL_STATE(292)] = 14632, [SMALL_STATE(293)] = 14666, [SMALL_STATE(294)] = 14698, [SMALL_STATE(295)] = 14730, [SMALL_STATE(296)] = 14762, - [SMALL_STATE(297)] = 14794, + [SMALL_STATE(297)] = 14804, [SMALL_STATE(298)] = 14836, [SMALL_STATE(299)] = 14869, [SMALL_STATE(300)] = 14906, @@ -20278,444 +20327,447 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(302)] = 14973, [SMALL_STATE(303)] = 15002, [SMALL_STATE(304)] = 15031, - [SMALL_STATE(305)] = 15073, - [SMALL_STATE(306)] = 15105, - [SMALL_STATE(307)] = 15133, - [SMALL_STATE(308)] = 15167, - [SMALL_STATE(309)] = 15207, - [SMALL_STATE(310)] = 15241, + [SMALL_STATE(305)] = 15063, + [SMALL_STATE(306)] = 15091, + [SMALL_STATE(307)] = 15119, + [SMALL_STATE(308)] = 15161, + [SMALL_STATE(309)] = 15195, + [SMALL_STATE(310)] = 15229, [SMALL_STATE(311)] = 15269, - [SMALL_STATE(312)] = 15312, - [SMALL_STATE(313)] = 15355, - [SMALL_STATE(314)] = 15398, - [SMALL_STATE(315)] = 15441, - [SMALL_STATE(316)] = 15484, - [SMALL_STATE(317)] = 15517, - [SMALL_STATE(318)] = 15550, - [SMALL_STATE(319)] = 15593, - [SMALL_STATE(320)] = 15636, + [SMALL_STATE(312)] = 15302, + [SMALL_STATE(313)] = 15345, + [SMALL_STATE(314)] = 15388, + [SMALL_STATE(315)] = 15431, + [SMALL_STATE(316)] = 15462, + [SMALL_STATE(317)] = 15505, + [SMALL_STATE(318)] = 15548, + [SMALL_STATE(319)] = 15591, + [SMALL_STATE(320)] = 15634, [SMALL_STATE(321)] = 15667, [SMALL_STATE(322)] = 15710, [SMALL_STATE(323)] = 15753, [SMALL_STATE(324)] = 15796, [SMALL_STATE(325)] = 15824, - [SMALL_STATE(326)] = 15852, + [SMALL_STATE(326)] = 15854, [SMALL_STATE(327)] = 15882, - [SMALL_STATE(328)] = 15916, - [SMALL_STATE(329)] = 15953, - [SMALL_STATE(330)] = 15990, - [SMALL_STATE(331)] = 16027, - [SMALL_STATE(332)] = 16052, - [SMALL_STATE(333)] = 16089, - [SMALL_STATE(334)] = 16120, - [SMALL_STATE(335)] = 16157, - [SMALL_STATE(336)] = 16188, - [SMALL_STATE(337)] = 16225, - [SMALL_STATE(338)] = 16250, - [SMALL_STATE(339)] = 16278, - [SMALL_STATE(340)] = 16304, - [SMALL_STATE(341)] = 16326, - [SMALL_STATE(342)] = 16360, - [SMALL_STATE(343)] = 16394, - [SMALL_STATE(344)] = 16428, - [SMALL_STATE(345)] = 16450, - [SMALL_STATE(346)] = 16484, - [SMALL_STATE(347)] = 16506, - [SMALL_STATE(348)] = 16540, - [SMALL_STATE(349)] = 16574, - [SMALL_STATE(350)] = 16608, - [SMALL_STATE(351)] = 16642, - [SMALL_STATE(352)] = 16676, - [SMALL_STATE(353)] = 16704, - [SMALL_STATE(354)] = 16732, - [SMALL_STATE(355)] = 16766, - [SMALL_STATE(356)] = 16800, - [SMALL_STATE(357)] = 16834, - [SMALL_STATE(358)] = 16856, - [SMALL_STATE(359)] = 16889, - [SMALL_STATE(360)] = 16914, - [SMALL_STATE(361)] = 16939, - [SMALL_STATE(362)] = 16964, - [SMALL_STATE(363)] = 16997, - [SMALL_STATE(364)] = 17030, - [SMALL_STATE(365)] = 17052, - [SMALL_STATE(366)] = 17079, - [SMALL_STATE(367)] = 17106, - [SMALL_STATE(368)] = 17133, - [SMALL_STATE(369)] = 17160, - [SMALL_STATE(370)] = 17179, - [SMALL_STATE(371)] = 17206, - [SMALL_STATE(372)] = 17231, - [SMALL_STATE(373)] = 17256, - [SMALL_STATE(374)] = 17272, - [SMALL_STATE(375)] = 17284, - [SMALL_STATE(376)] = 17298, - [SMALL_STATE(377)] = 17310, - [SMALL_STATE(378)] = 17322, - [SMALL_STATE(379)] = 17335, - [SMALL_STATE(380)] = 17348, - [SMALL_STATE(381)] = 17361, - [SMALL_STATE(382)] = 17374, - [SMALL_STATE(383)] = 17387, - [SMALL_STATE(384)] = 17400, - [SMALL_STATE(385)] = 17413, - [SMALL_STATE(386)] = 17426, - [SMALL_STATE(387)] = 17437, - [SMALL_STATE(388)] = 17450, - [SMALL_STATE(389)] = 17463, - [SMALL_STATE(390)] = 17476, - [SMALL_STATE(391)] = 17489, - [SMALL_STATE(392)] = 17502, - [SMALL_STATE(393)] = 17515, - [SMALL_STATE(394)] = 17526, - [SMALL_STATE(395)] = 17539, - [SMALL_STATE(396)] = 17552, - [SMALL_STATE(397)] = 17563, - [SMALL_STATE(398)] = 17576, - [SMALL_STATE(399)] = 17589, - [SMALL_STATE(400)] = 17597, - [SMALL_STATE(401)] = 17607, - [SMALL_STATE(402)] = 17615, - [SMALL_STATE(403)] = 17625, - [SMALL_STATE(404)] = 17635, - [SMALL_STATE(405)] = 17645, - [SMALL_STATE(406)] = 17655, - [SMALL_STATE(407)] = 17665, - [SMALL_STATE(408)] = 17675, - [SMALL_STATE(409)] = 17685, - [SMALL_STATE(410)] = 17695, - [SMALL_STATE(411)] = 17703, - [SMALL_STATE(412)] = 17713, - [SMALL_STATE(413)] = 17723, - [SMALL_STATE(414)] = 17733, - [SMALL_STATE(415)] = 17743, - [SMALL_STATE(416)] = 17750, - [SMALL_STATE(417)] = 17757, - [SMALL_STATE(418)] = 17764, - [SMALL_STATE(419)] = 17771, - [SMALL_STATE(420)] = 17778, - [SMALL_STATE(421)] = 17785, - [SMALL_STATE(422)] = 17792, - [SMALL_STATE(423)] = 17799, - [SMALL_STATE(424)] = 17806, - [SMALL_STATE(425)] = 17813, - [SMALL_STATE(426)] = 17820, - [SMALL_STATE(427)] = 17827, - [SMALL_STATE(428)] = 17834, - [SMALL_STATE(429)] = 17841, - [SMALL_STATE(430)] = 17848, - [SMALL_STATE(431)] = 17855, - [SMALL_STATE(432)] = 17862, - [SMALL_STATE(433)] = 17869, - [SMALL_STATE(434)] = 17876, - [SMALL_STATE(435)] = 17883, - [SMALL_STATE(436)] = 17890, - [SMALL_STATE(437)] = 17897, - [SMALL_STATE(438)] = 17904, - [SMALL_STATE(439)] = 17911, - [SMALL_STATE(440)] = 17918, - [SMALL_STATE(441)] = 17925, - [SMALL_STATE(442)] = 17932, - [SMALL_STATE(443)] = 17939, - [SMALL_STATE(444)] = 17946, - [SMALL_STATE(445)] = 17953, + [SMALL_STATE(328)] = 15908, + [SMALL_STATE(329)] = 15934, + [SMALL_STATE(330)] = 15968, + [SMALL_STATE(331)] = 15991, + [SMALL_STATE(332)] = 16022, + [SMALL_STATE(333)] = 16059, + [SMALL_STATE(334)] = 16090, + [SMALL_STATE(335)] = 16113, + [SMALL_STATE(336)] = 16150, + [SMALL_STATE(337)] = 16187, + [SMALL_STATE(338)] = 16210, + [SMALL_STATE(339)] = 16247, + [SMALL_STATE(340)] = 16284, + [SMALL_STATE(341)] = 16321, + [SMALL_STATE(342)] = 16344, + [SMALL_STATE(343)] = 16378, + [SMALL_STATE(344)] = 16412, + [SMALL_STATE(345)] = 16448, + [SMALL_STATE(346)] = 16482, + [SMALL_STATE(347)] = 16510, + [SMALL_STATE(348)] = 16546, + [SMALL_STATE(349)] = 16580, + [SMALL_STATE(350)] = 16614, + [SMALL_STATE(351)] = 16640, + [SMALL_STATE(352)] = 16674, + [SMALL_STATE(353)] = 16702, + [SMALL_STATE(354)] = 16730, + [SMALL_STATE(355)] = 16764, + [SMALL_STATE(356)] = 16798, + [SMALL_STATE(357)] = 16832, + [SMALL_STATE(358)] = 16866, + [SMALL_STATE(359)] = 16900, + [SMALL_STATE(360)] = 16936, + [SMALL_STATE(361)] = 16970, + [SMALL_STATE(362)] = 16993, + [SMALL_STATE(363)] = 17018, + [SMALL_STATE(364)] = 17043, + [SMALL_STATE(365)] = 17068, + [SMALL_STATE(366)] = 17098, + [SMALL_STATE(367)] = 17128, + [SMALL_STATE(368)] = 17158, + [SMALL_STATE(369)] = 17188, + [SMALL_STATE(370)] = 17218, + [SMALL_STATE(371)] = 17238, + [SMALL_STATE(372)] = 17255, + [SMALL_STATE(373)] = 17280, + [SMALL_STATE(374)] = 17305, + [SMALL_STATE(375)] = 17317, + [SMALL_STATE(376)] = 17329, + [SMALL_STATE(377)] = 17341, + [SMALL_STATE(378)] = 17355, + [SMALL_STATE(379)] = 17368, + [SMALL_STATE(380)] = 17381, + [SMALL_STATE(381)] = 17394, + [SMALL_STATE(382)] = 17407, + [SMALL_STATE(383)] = 17420, + [SMALL_STATE(384)] = 17431, + [SMALL_STATE(385)] = 17444, + [SMALL_STATE(386)] = 17457, + [SMALL_STATE(387)] = 17470, + [SMALL_STATE(388)] = 17481, + [SMALL_STATE(389)] = 17494, + [SMALL_STATE(390)] = 17507, + [SMALL_STATE(391)] = 17520, + [SMALL_STATE(392)] = 17533, + [SMALL_STATE(393)] = 17544, + [SMALL_STATE(394)] = 17557, + [SMALL_STATE(395)] = 17570, + [SMALL_STATE(396)] = 17583, + [SMALL_STATE(397)] = 17596, + [SMALL_STATE(398)] = 17609, + [SMALL_STATE(399)] = 17622, + [SMALL_STATE(400)] = 17630, + [SMALL_STATE(401)] = 17640, + [SMALL_STATE(402)] = 17650, + [SMALL_STATE(403)] = 17660, + [SMALL_STATE(404)] = 17670, + [SMALL_STATE(405)] = 17680, + [SMALL_STATE(406)] = 17690, + [SMALL_STATE(407)] = 17700, + [SMALL_STATE(408)] = 17708, + [SMALL_STATE(409)] = 17718, + [SMALL_STATE(410)] = 17728, + [SMALL_STATE(411)] = 17738, + [SMALL_STATE(412)] = 17748, + [SMALL_STATE(413)] = 17756, + [SMALL_STATE(414)] = 17766, + [SMALL_STATE(415)] = 17776, + [SMALL_STATE(416)] = 17786, + [SMALL_STATE(417)] = 17793, + [SMALL_STATE(418)] = 17800, + [SMALL_STATE(419)] = 17807, + [SMALL_STATE(420)] = 17814, + [SMALL_STATE(421)] = 17821, + [SMALL_STATE(422)] = 17828, + [SMALL_STATE(423)] = 17835, + [SMALL_STATE(424)] = 17842, + [SMALL_STATE(425)] = 17849, + [SMALL_STATE(426)] = 17856, + [SMALL_STATE(427)] = 17863, + [SMALL_STATE(428)] = 17870, + [SMALL_STATE(429)] = 17877, + [SMALL_STATE(430)] = 17884, + [SMALL_STATE(431)] = 17891, + [SMALL_STATE(432)] = 17898, + [SMALL_STATE(433)] = 17905, + [SMALL_STATE(434)] = 17912, + [SMALL_STATE(435)] = 17919, + [SMALL_STATE(436)] = 17926, + [SMALL_STATE(437)] = 17933, + [SMALL_STATE(438)] = 17940, + [SMALL_STATE(439)] = 17947, + [SMALL_STATE(440)] = 17954, + [SMALL_STATE(441)] = 17961, + [SMALL_STATE(442)] = 17968, + [SMALL_STATE(443)] = 17975, + [SMALL_STATE(444)] = 17982, + [SMALL_STATE(445)] = 17989, + [SMALL_STATE(446)] = 17996, + [SMALL_STATE(447)] = 18003, + [SMALL_STATE(448)] = 18010, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), - [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(422), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(445), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(182), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(441), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), - [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), - [45] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(47), - [48] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(133), - [51] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(422), - [54] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(5), - [57] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(70), - [60] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(70), - [63] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(63), - [66] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(154), - [69] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(55), - [72] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(445), - [75] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(190), - [78] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(189), - [81] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(182), - [84] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(441), - [87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(441), - [90] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(39), - [93] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(72), - [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), - [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), - [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(427), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(448), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(197), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(195), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(444), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), + [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), + [41] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(49), + [44] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(132), + [47] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(427), + [50] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(4), + [53] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(72), + [56] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(72), + [59] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(75), + [62] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(135), + [65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(52), + [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(448), + [71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(197), + [74] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(195), + [77] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(190), + [80] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(444), + [83] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(444), + [86] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(40), + [89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(73), + [92] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), + [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), - [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), - [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), - [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), - [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), - [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), - [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), - [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root, 1), + [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root, 1), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), [126] = {.entry = {.count = 1, .reusable = false}}, SHIFT(282), - [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(429), - [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(273), - [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), - [138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(271), - [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269), - [144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(432), - [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(183), - [148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(191), - [150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(184), - [152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(433), - [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), - [156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), - [158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(268), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(417), + [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269), + [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(268), + [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(267), + [144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(435), + [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(181), + [148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173), + [150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(179), + [152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(436), + [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), + [156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), + [158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(246), [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), - [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(428), - [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [168] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), - [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), - [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), - [178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(443), - [180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173), - [182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(444), - [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), - [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), - [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), - [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math, 3), - [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math, 3), - [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), - [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic, 3), - [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic, 3), + [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(431), + [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [168] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95), + [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), + [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(446), + [180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171), + [182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(447), + [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), + [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), + [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic, 3), + [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic, 3), + [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math, 3), + [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math, 3), [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 5), [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 5), - [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_kind, 1), - [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_kind, 1), - [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_expression_kind, 1), - [210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(275), - [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 1), - [214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(365), - [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), - [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 5), - [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 5), - [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), - [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3), - [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), - [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), - [232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), - [234] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), - [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 1), - [238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 1), - [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 3), - [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3), - [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), - [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2), - [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2), - [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 6), - [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 6), - [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), - [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), - [260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 1), - [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3), - [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3), - [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 1), - [268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 1), - [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4), - [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4), - [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 3), - [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 3), - [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), - [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), - [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 3), - [284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 3), - [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_built_in_value, 1), - [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_built_in_value, 1), - [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 3), - [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 3), - [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 4), - [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 4), - [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4), - [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 4), - [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 3), - [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 3), - [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 4), - [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 4), - [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3), - [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3), - [314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3), - [316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3), - [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_kind, 1), + [208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_kind, 1), + [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_expression_kind, 1), + [212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(275), + [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 1), + [216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(368), + [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), + [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4), + [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4), + [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 1), + [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 1), + [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), + [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), + [232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), + [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4), + [236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 4), + [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), + [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3), + [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 4), + [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 4), + [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 4), + [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 4), + [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2), + [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2), + [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 1), + [256] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 1), + [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3), + [260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3), + [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 6), + [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 6), + [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 1), + [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 3), + [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 3), + [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3), + [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3), + [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 5), + [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 5), + [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), + [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), + [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), + [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_built_in_value, 1), + [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_built_in_value, 1), + [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 3), + [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 3), + [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), + [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), + [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 3), + [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 3), + [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 3), + [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 3), + [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3), + [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3), + [314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 3), + [316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3), + [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), [324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), - [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), - [328] = {.entry = {.count = 1, .reusable = false}}, SHIFT(306), - [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), - [332] = {.entry = {.count = 1, .reusable = false}}, SHIFT(310), - [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), + [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), + [330] = {.entry = {.count = 1, .reusable = false}}, SHIFT(305), + [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), + [334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(306), [336] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_expression_kind, 1), - [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), - [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), - [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), - [344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(259), + [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(250), [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), - [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), - [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), - [352] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(259), - [355] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(141), + [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), + [352] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(250), + [355] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(129), [358] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(406), [361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), - [363] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(273), - [366] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(273), - [369] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(271), - [372] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(142), - [375] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(269), - [378] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(432), - [381] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(431), - [384] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(268), - [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), - [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), - [391] = {.entry = {.count = 1, .reusable = false}}, SHIFT(327), - [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), - [395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95), - [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), - [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409), - [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), - [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), - [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), - [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), - [413] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(95), - [416] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(140), - [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), - [421] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(409), - [424] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(91), - [427] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(91), - [430] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(102), - [433] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(152), - [436] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(101), - [439] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(443), - [442] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(99), - [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), - [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), - [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [363] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(269), + [366] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(269), + [369] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(268), + [372] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(136), + [375] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(267), + [378] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(435), + [381] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(428), + [384] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(246), + [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), + [389] = {.entry = {.count = 1, .reusable = false}}, SHIFT(329), + [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), + [393] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(109), + [396] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(133), + [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), + [401] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(409), + [404] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(95), + [407] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(95), + [410] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(94), + [413] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(141), + [416] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(93), + [419] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(446), + [422] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(108), + [425] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), + [427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409), + [431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), + [433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), + [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), + [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), [457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [459] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(95), - [462] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(140), - [465] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(409), - [468] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(91), - [471] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(91), - [474] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(102), - [477] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(152), - [480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), - [482] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(101), - [485] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(443), - [488] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(99), - [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 1), - [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 1), - [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), - [503] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 1), - [505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 1), - [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), - [509] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), - [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), - [513] = {.entry = {.count = 1, .reusable = false}}, SHIFT(326), - [515] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), - [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [519] = {.entry = {.count = 1, .reusable = false}}, SHIFT(286), - [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [463] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(109), + [466] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(133), + [469] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(409), + [472] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(95), + [475] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(95), + [478] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(94), + [481] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(141), + [484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), + [486] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(93), + [489] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(446), + [492] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(108), + [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 1), + [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 1), + [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [503] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 1), + [505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 1), + [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), + [509] = {.entry = {.count = 1, .reusable = false}}, SHIFT(325), + [511] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), + [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), + [515] = {.entry = {.count = 1, .reusable = false}}, SHIFT(289), + [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [519] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), + [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), [523] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), - [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(256), - [529] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), - [531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), + [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(255), + [529] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), + [531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 2), [535] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 2), - [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), - [539] = {.entry = {.count = 1, .reusable = false}}, SHIFT(392), + [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [539] = {.entry = {.count = 1, .reusable = false}}, SHIFT(385), [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 1), [543] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 1), [545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), [547] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_else_repeat1, 2), - [549] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(192), + [549] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(196), [552] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_if, 3), [554] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_if, 3), [556] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if, 3), [558] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if, 3), - [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_assignment, 3), - [562] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_assignment, 3), - [564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else, 2), - [566] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else, 2), - [568] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 3), - [570] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 3), - [572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4), - [574] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4), - [576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3), - [578] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3), - [580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), - [582] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 2), - [584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2), - [586] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2), - [588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for, 5), - [590] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for, 5), - [592] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while, 3), - [594] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while, 3), - [596] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match, 5), - [598] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match, 5), - [600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2), + [562] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2), + [564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), + [566] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 2), + [568] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match, 5), + [570] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match, 5), + [572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while, 3), + [574] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while, 3), + [576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_assignment, 3), + [578] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_assignment, 3), + [580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else, 2), + [582] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else, 2), + [584] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 3), + [586] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 3), + [588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4), + [590] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4), + [592] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3), + [594] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3), + [596] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for, 5), + [598] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for, 5), + [600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117), [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [604] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [608] = {.entry = {.count = 1, .reusable = false}}, SHIFT(246), - [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), - [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), - [616] = {.entry = {.count = 1, .reusable = false}}, SHIFT(380), - [618] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(202), - [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [604] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [608] = {.entry = {.count = 1, .reusable = false}}, SHIFT(260), + [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), + [616] = {.entry = {.count = 1, .reusable = false}}, SHIFT(393), + [618] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(187), + [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), [623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_operator, 1), [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_operator, 1), - [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), [629] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 3), [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 3), [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), - [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), [637] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 4), [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 4), [641] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), @@ -20724,109 +20776,112 @@ static const TSParseActionEntry ts_parse_actions[] = { [647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math_operator, 1), [649] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic_operator, 1), [651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic_operator, 1), - [653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), - [655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), - [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), - [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), - [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), - [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), - [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2), - [685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), - [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), - [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), - [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), - [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [701] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4), - [703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 5), - [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), - [709] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), - [711] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(362), - [714] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), - [716] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(366), - [719] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(357), - [722] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(417), - [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), - [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), - [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), - [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), - [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), - [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), - [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), - [743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 1), - [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), - [747] = {.entry = {.count = 1, .reusable = false}}, SHIFT(379), - [749] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 3), - [751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 3), - [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), - [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), - [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), - [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), - [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [765] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 3), - [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), - [769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), - [773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), - [775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 4), - [777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), - [779] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), SHIFT_REPEAT(397), - [782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), - [784] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), - [786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), - [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), - [792] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(404), - [795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 5), - [797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), - [799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 3), - [801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), - [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), - [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), - [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), - [817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), - [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), - [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), - [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), - [839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), - [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), - [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), - [847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), - [851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [853] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), - [857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), - [859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), - [863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), + [657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), + [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), + [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), + [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [677] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2), + [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), + [681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), + [683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), + [685] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), + [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 5), + [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4), + [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), + [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), + [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), + [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [719] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(359), + [722] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), + [724] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(416), + [727] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(366), + [730] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(330), + [733] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(434), + [736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), + [742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 1), + [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), + [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [752] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 3), + [754] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 3), + [756] = {.entry = {.count = 1, .reusable = false}}, SHIFT(390), + [758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [760] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), SHIFT_REPEAT(386), + [763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), + [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), + [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 4), + [773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), + [775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), + [777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), + [783] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 3), + [785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), + [787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), + [789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), + [791] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(403), + [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), + [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 3), + [802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [806] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 5), + [808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), + [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), + [822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), + [834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), + [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), + [844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), + [848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), + [850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [860] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), + [870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), }; #ifdef __cplusplus